<p dir="auto">We need something like ReplicationController that runs RestartOnFailure and RestartNever pods "to completion", collects results, etc</p>
<p dir="auto"><strong>Is this a request for help?</strong> (If yes, you should use our troubleshooting guide and community support channels, see <a href="http://kubernetes.io/docs/troubleshooting/" rel="nofollow">http://kubernetes.io/docs/troubleshooting/</a>.): No</p>
<p dir="auto"><strong>What keywords did you search in Kubernetes issues before filing this one?</strong> (If you have found any duplicates, you should instead reply there.):</p>
<ul dir="auto">
<li><code class="notranslate">delete patch type with no merge key defined</code></li>
<li><code class="notranslate">cannot apply deleted mountpath kubernetes</code></li>
</ul>
<hr>
<p dir="auto"><strong>Is this a BUG REPORT or FEATURE REQUEST?</strong> (choose one): BUG REPORT</p>

<p dir="auto"><strong>Kubernetes version</strong> (use <code class="notranslate">kubectl version</code>):</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Client Version: version.Info{Major:&quot;1&quot;, Minor:&quot;4&quot;, GitVersion:&quot;v1.4.1&quot;, GitCommit:&quot;33cf7b9acbb2cb7c9c72a10d6636321fb180b159&quot;, GitTreeState:&quot;clean&quot;, BuildDate:&quot;2016-10-10T18:19:49Z&quot;, GoVersion:&quot;go1.6.3&quot;, Compiler:&quot;gc&quot;, Platform:&quot;linux/amd64&quot;}
Server Version: version.Info{Major:&quot;1&quot;, Minor:&quot;4&quot;, GitVersion:&quot;v1.4.4&quot;, GitCommit:&quot;3b417cc4ccd1b8f38ff9ec96bb50a81ca0ea9d56&quot;, GitTreeState:&quot;clean&quot;, BuildDate:&quot;2016-10-21T02:42:39Z&quot;, GoVersion:&quot;go1.6.3&quot;, Compiler:&quot;gc&quot;, Platform:&quot;linux/amd64&quot;}"><pre class="notranslate"><code class="notranslate">Client Version: version.Info{Major:"1", Minor:"4", GitVersion:"v1.4.1", GitCommit:"33cf7b9acbb2cb7c9c72a10d6636321fb180b159", GitTreeState:"clean", BuildDate:"2016-10-10T18:19:49Z", GoVersion:"go1.6.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"4", GitVersion:"v1.4.4", GitCommit:"3b417cc4ccd1b8f38ff9ec96bb50a81ca0ea9d56", GitTreeState:"clean", BuildDate:"2016-10-21T02:42:39Z", GoVersion:"go1.6.3", Compiler:"gc", Platform:"linux/amd64"}
</code></pre></div>
<p dir="auto"><strong>Environment</strong>:</p>
<ul dir="auto">
<li><strong>Cloud provider or hardware configuration</strong>: <code class="notranslate">AWS</code></li>
<li><strong>OS</strong> (e.g. from /etc/os-release): <code class="notranslate">Arch Linux</code></li>
<li><strong>Kernel</strong> (e.g. <code class="notranslate">uname -a</code>): <code class="notranslate">Linux niagara 4.8.4-1-ARCH #1 SMP PREEMPT Sat Oct 22 18:26:57 CEST 2016 x86_64 GNU/Linux</code></li>
<li><strong>Install tools</strong>: <code class="notranslate">?</code></li>
<li><strong>Others</strong>: <code class="notranslate">?</code></li>
</ul>
<p dir="auto"><strong>What happened</strong>: After removing one of the pod container's <code class="notranslate">volumeMounts</code> from a deployment spec file and attempted to apply it using <code class="notranslate">kubectl apply -f test-deploy.yaml</code>, I got the following error message:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="&quot;test-deploy.yaml&quot;: delete patch type with no merge key defined"><pre class="notranslate"><code class="notranslate">"test-deploy.yaml": delete patch type with no merge key defined
</code></pre></div>
<p dir="auto"><strong>What you expected to happen</strong>: changes to take effect successfully</p>
<p dir="auto"><strong>How to reproduce it</strong> (as minimally and precisely as possible):</p>
<ol dir="auto">
<li>Create a deployment below:</li>
</ol>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: rm-mount-test
spec:
  replicas: 1
  template:
    metadata:
      labels:
        uid: abcdefght
    spec:
      containers:
      - name: debian
        image: debian
        args:
        - sleep
        - &quot;100000&quot;
        volumeMounts:
        - mountPath: /empty
          name: empty
        - mountPath: /empty2
          name: empty2
      volumes:
      - name: empty
        emptyDir:
      - name: empty2
        emptyDir:"><pre class="notranslate"><code class="notranslate">apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: rm-mount-test
spec:
  replicas: 1
  template:
    metadata:
      labels:
        uid: abcdefght
    spec:
      containers:
      - name: debian
        image: debian
        args:
        - sleep
        - "100000"
        volumeMounts:
        - mountPath: /empty
          name: empty
        - mountPath: /empty2
          name: empty2
      volumes:
      - name: empty
        emptyDir:
      - name: empty2
        emptyDir:
</code></pre></div>
<p dir="auto">Once successfully up, remove the lines below and use <code class="notranslate">kubectl apply</code> to update it:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="        - mountPath: /empty2
          name: empty2"><pre class="notranslate"><code class="notranslate">        - mountPath: /empty2
          name: empty2
</code></pre></div>
<p dir="auto"><strong>Anything else do we need to know</strong>:</p>