<p dir="auto"><a href="https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/logs/kubernetes-e2e-kops-aws/1949/" rel="nofollow">https://k8s-gubernator.appspot.com/build/kubernetes-jenkins/logs/kubernetes-e2e-kops-aws/1949/</a></p>
<p dir="auto">Failed: [k8s.io] EmptyDir volumes should support (root,0666,default) [Conformance] {Kubernetes e2e suite}</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/common/empty_dir.go:101
Expected error:
    &lt;*errors.errorString | 0xc420f90700&gt;: {
        s: &quot;failed to get logs from pod-ae4ea1da-b22b-11e6-a421-0242ac110008 for test-container: an error on the server (\&quot;unknown\&quot;) has prevented the request from succeeding (get pods pod-ae4ea1da-b22b-11e6-a421-0242ac110008)&quot;,
    }
    failed to get logs from pod-ae4ea1da-b22b-11e6-a421-0242ac110008 for test-container: an error on the server (&quot;unknown&quot;) has prevented the request from succeeding (get pods pod-ae4ea1da-b22b-11e6-a421-0242ac110008)
not to have occurred
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/framework/util.go:2169"><pre class="notranslate"><code class="notranslate">/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/common/empty_dir.go:101
Expected error:
    &lt;*errors.errorString | 0xc420f90700&gt;: {
        s: "failed to get logs from pod-ae4ea1da-b22b-11e6-a421-0242ac110008 for test-container: an error on the server (\"unknown\") has prevented the request from succeeding (get pods pod-ae4ea1da-b22b-11e6-a421-0242ac110008)",
    }
    failed to get logs from pod-ae4ea1da-b22b-11e6-a421-0242ac110008 for test-container: an error on the server ("unknown") has prevented the request from succeeding (get pods pod-ae4ea1da-b22b-11e6-a421-0242ac110008)
not to have occurred
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/framework/util.go:2169
</code></pre></div>
<p dir="auto">Validation as it exists today is pretty wrong - it tracks internal types.  Once we have long-term support for v1 API and are deep into v2 rework, the validation errors that are produced for v1 will be less and less useful.</p>
<p dir="auto">We've gone back and forth about this but have not yet come up with a good answer on how to do this generically.  I propose we just move it to be per-version, same as defaulting.</p>
<p dir="auto">Given that v1beta[12] are on the block right now and v1beta3 will be soon, this is the right time.  The same day we delete v1beta3 we should move pkg/api/validation into v1 and make it use versioned types.</p>
<p dir="auto">Yes, it will be tedious to make changes, but I think that is the cost of having multiple versioned APIs in support cycles.</p>