linuxkit/kubernetes

kubelet reports version and v1.9.0-dirty

ijc opened this issue · 7 comments

ijc commented

Noticed by @errordeveloper in #43 (comment), but it seems to be an existing issue with the build, using the current head's image on hub gives the same:

$ docker run -ti --entrypoint /usr/bin/kubelet linuxkit/kubelet:03205e3daddfeedeb64d4e023b42c225c8e00945 --version
Unable to find image 'linuxkit/kubelet:03205e3daddfeedeb64d4e023b42c225c8e00945' locally
03205e3daddfeedeb64d4e023b42c225c8e00945: Pulling from linuxkit/kubelet
1ed3bb82ce05: Pull complete 
Digest: sha256:0f442097dcd90c1e46e5a90c68a2a7ea7173d451e2d4e8b81d18742903106d77
Status: Downloaded newer image for linuxkit/kubelet:03205e3daddfeedeb64d4e023b42c225c8e00945
Kubernetes v1.9.0-dirty

I've modifed pkg/kubelet/Dockerfile to debug this:

diff --git a/pkg/kubelet/Dockerfile b/pkg/kubelet/Dockerfile
index b233959..c7fcbe4 100644
--- a/pkg/kubelet/Dockerfile
+++ b/pkg/kubelet/Dockerfile
@@ -38,7 +38,10 @@ RUN set -e; \
     fi; \
     git checkout -q $KUBERNETES_COMMIT
 
+RUN git status
+RUN bash -x ./hack/print-workspace-status.sh
 RUN make WHAT="cmd/kubelet cmd/kubectl cmd/kubeadm"
+RUN bash -x ./hack/print-workspace-status.sh
 
 ### CNI plugins
 
@@ -94,6 +97,7 @@ RUN apk add --no-cache --initdb -p /out \
     util-linux \
     && true
 
+RUN $GOPATH/src/github.com/kubernetes/kubernetes/_output/bin/kubelet --version
 RUN cp $GOPATH/src/github.com/kubernetes/kubernetes/_output/bin/kubelet /out/usr/bin/kubelet
 RUN cp $GOPATH/src/github.com/kubernetes/kubernetes/_output/bin/kubeadm /out/usr/bin/kubeadm
 RUN cp $GOPATH/src/github.com/kubernetes/kubernetes/_output/bin/kubectl /out/usr/bin/kubectl

...and here is what we've got:

Step 1/47 : FROM linuxkit/alpine@sha256:884f7502d90329b614c29a9a8226c30369d3c32dc2d3d329db12c78b512946bd AS build
 ---> 039fd8c1530e
Step 2/47 : ENV kubernetes_version v1.9.0
 ---> Using cache
 ---> 79ffb0de4f43
Step 3/47 : ENV cni_version        v0.6.0
 ---> Using cache
 ---> c8a0ffe97631
Step 4/47 : ENV critools_version   v1.0.0-alpha.0
 ---> Using cache
 ---> 604277336342
Step 5/47 : RUN apk add -U --no-cache   bash   coreutils   curl   findutils   git   go   grep   libc-dev   linux-headers   make   rsync   && true
 ---> Using cache
 ---> a2b5b6acf578
Step 6/47 : ENV GOPATH=/go PATH=$PATH:/go/bin
 ---> Using cache
 ---> e0d45a29de4d
Step 7/47 : ENV KUBERNETES_URL https://github.com/kubernetes/kubernetes.git
 ---> Using cache
 ---> ee5fee380f20
Step 8/47 : ENV KUBERNETES_COMMIT ${kubernetes_version}
 ---> Using cache
 ---> 375946f51d49
Step 9/47 : RUN mkdir -p $GOPATH/src/github.com/kubernetes &&     cd $GOPATH/src/github.com/kubernetes &&     git clone $KUBERNETES_URL kubernetes
 ---> Using cache
 ---> d7cab86eba2f
Step 10/47 : WORKDIR $GOPATH/src/github.com/kubernetes/kubernetes
 ---> Using cache
 ---> 089e92636290
Step 11/47 : RUN set -e;     if [ -n "$KUBERNETES_BRANCH" ] ; then         git fetch origin "$KUBERNETES_BRANCH";     fi;     git checkout -q $KUBERNETES_COMMIT
 ---> Using cache
 ---> 3ddab8e5d577
Step 12/47 : RUN git status
 ---> Running in 9d954813ce31
HEAD detached at v1.9.0
nothing to commit, working tree clean
Removing intermediate container 9d954813ce31
 ---> ee03a5755066
Step 13/47 : RUN bash -x ./hack/print-workspace-status.sh
 ---> Running in f4c767a909d0
+ set -o errexit
+ set -o nounset
+ set -o pipefail
++ dirname ./hack/print-workspace-status.sh
+ export KUBE_ROOT=./hack/..
+ KUBE_ROOT=./hack/..
+ source ./hack/../hack/lib/version.sh
+ kube::version::get_version_vars
+ [[ -n '' ]]
+ [[ $Format:%%$ == \% ]]
+ git=(git --work-tree "${KUBE_ROOT}")
+ local git
+ [[ -n '' ]]
++ git --work-tree ./hack/.. rev-parse 'HEAD^{commit}'
+ KUBE_GIT_COMMIT=925c127ec6b946659ad0fd596fa959be43f0cc05
+ [[ -z '' ]]
++ git --work-tree ./hack/.. status --porcelain
+ git_status=
+ [[ -z '' ]]
+ KUBE_GIT_TREE_STATE=clean
+ [[ -n '' ]]
++ git --work-tree ./hack/.. describe --tags --abbrev=14 '925c127ec6b946659ad0fd596fa959be43f0cc05^{commit}'
+ KUBE_GIT_VERSION=v1.9.0
++ echo v1.9.0
++ sed 's/[^-]//g'
+ DASHES_IN_VERSION=
+ [[ '' == \-\-\- ]]
+ [[ '' == \-\- ]]
+ [[ clean == \d\i\r\t\y ]]
+ [[ v1.9.0 =~ ^v([0-9]+)\.([0-9]+)(\.[0-9]+)?([-].*)?$ ]]
+ KUBE_GIT_MAJOR=1
+ KUBE_GIT_MINOR=9
+ [[ -n '' ]]
+ cat
++ date -u +%Y-%m-%dT%H:%M:%SZ
STABLE_BUILD_GIT_COMMIT 925c127ec6b946659ad0fd596fa959be43f0cc05
STABLE_BUILD_SCM_STATUS clean
STABLE_BUILD_SCM_REVISION v1.9.0
STABLE_BUILD_MAJOR_VERSION 1
STABLE_BUILD_MINOR_VERSION 9
STABLE_DOCKER_TAG v1.9.0
gitCommit 925c127ec6b946659ad0fd596fa959be43f0cc05
gitTreeState clean
gitVersion v1.9.0
gitMajor 1
gitMinor 9
buildDate 2018-01-08T14:23:54Z
Removing intermediate container f4c767a909d0
 ---> 935fbc7ca729
Step 14/47 : RUN make WHAT="cmd/kubelet cmd/kubectl cmd/kubeadm"
 ---> Running in 3927036ac8de
+++ [0108 14:24:09] Building the toolchain targets:
    k8s.io/kubernetes/hack/cmd/teststale
    k8s.io/kubernetes/vendor/github.com/jteeuwen/go-bindata/go-bindata
+++ [0108 14:24:10] Generating bindata:
    test/e2e/generated/gobindata_util.go
/go/src/github.com/kubernetes/kubernetes /go/src/github.com/kubernetes/kubernetes/test/e2e/generated
/go/src/github.com/kubernetes/kubernetes/test/e2e/generated
+++ [0108 14:24:11] Building go targets for linux/amd64:
    ./vendor/k8s.io/code-generator/cmd/deepcopy-gen
+++ [0108 14:24:19] Building the toolchain targets:
    k8s.io/kubernetes/hack/cmd/teststale
    k8s.io/kubernetes/vendor/github.com/jteeuwen/go-bindata/go-bindata
+++ [0108 14:24:19] Generating bindata:
    test/e2e/generated/gobindata_util.go
/go/src/github.com/kubernetes/kubernetes /go/src/github.com/kubernetes/kubernetes/test/e2e/generated
/go/src/github.com/kubernetes/kubernetes/test/e2e/generated
+++ [0108 14:24:20] Building go targets for linux/amd64:
    ./vendor/k8s.io/code-generator/cmd/defaulter-gen
+++ [0108 14:24:24] Building the toolchain targets:
    k8s.io/kubernetes/hack/cmd/teststale
    k8s.io/kubernetes/vendor/github.com/jteeuwen/go-bindata/go-bindata
+++ [0108 14:24:24] Generating bindata:
    test/e2e/generated/gobindata_util.go
/go/src/github.com/kubernetes/kubernetes /go/src/github.com/kubernetes/kubernetes/test/e2e/generated
/go/src/github.com/kubernetes/kubernetes/test/e2e/generated
+++ [0108 14:24:25] Building go targets for linux/amd64:
    ./vendor/k8s.io/code-generator/cmd/conversion-gen
+++ [0108 14:24:31] Building the toolchain targets:
    k8s.io/kubernetes/hack/cmd/teststale
    k8s.io/kubernetes/vendor/github.com/jteeuwen/go-bindata/go-bindata
+++ [0108 14:24:31] Generating bindata:
    test/e2e/generated/gobindata_util.go
/go/src/github.com/kubernetes/kubernetes /go/src/github.com/kubernetes/kubernetes/test/e2e/generated
/go/src/github.com/kubernetes/kubernetes/test/e2e/generated
+++ [0108 14:24:31] Building go targets for linux/amd64:
    ./vendor/k8s.io/code-generator/cmd/openapi-gen
+++ [0108 14:24:38] Building the toolchain targets:
    k8s.io/kubernetes/hack/cmd/teststale
    k8s.io/kubernetes/vendor/github.com/jteeuwen/go-bindata/go-bindata
+++ [0108 14:24:39] Generating bindata:
    test/e2e/generated/gobindata_util.go
/go/src/github.com/kubernetes/kubernetes /go/src/github.com/kubernetes/kubernetes/test/e2e/generated
/go/src/github.com/kubernetes/kubernetes/test/e2e/generated
+++ [0108 14:24:39] Building go targets for linux/amd64:
    cmd/kubelet
    cmd/kubectl
    cmd/kubeadm
# k8s.io/kubernetes/cmd/kubectl
warning: unable to find runtime/cgo.a
# k8s.io/kubernetes/cmd/kubeadm
warning: unable to find runtime/cgo.a
Removing intermediate container 3927036ac8de
 ---> d34043b207ab
Step 15/47 : RUN bash -x ./hack/print-workspace-status.sh
 ---> Running in a74ae9704052
+ set -o errexit
+ set -o nounset
+ set -o pipefail
++ dirname ./hack/print-workspace-status.sh
+ export KUBE_ROOT=./hack/..
+ KUBE_ROOT=./hack/..
+ source ./hack/../hack/lib/version.sh
+ kube::version::get_version_vars
+ [[ -n '' ]]
+ [[ $Format:%%$ == \% ]]
+ git=(git --work-tree "${KUBE_ROOT}")
+ local git
+ [[ -n '' ]]
++ git --work-tree ./hack/.. rev-parse 'HEAD^{commit}'
+ KUBE_GIT_COMMIT=925c127ec6b946659ad0fd596fa959be43f0cc05
+ [[ -z '' ]]
++ git --work-tree ./hack/.. status --porcelain
+ git_status=' M cmd/kubeadm/app/apis/kubeadm/v1alpha1/zz_generated.conversion.go
 M cmd/kubeadm/app/apis/kubeadm/v1alpha1/zz_generated.deepcopy.go
 M cmd/kubeadm/app/apis/kubeadm/v1alpha1/zz_generated.defaults.go
 M cmd/kubeadm/app/apis/kubeadm/zz_generated.deepcopy.go
 M cmd/kubeadm/app/phases/etcd/spec/zz_generated.deepcopy.go
 M pkg/apis/abac/v0/zz_generated.deepcopy.go
 M pkg/apis/abac/v1beta1/zz_generated.conversion.go
 M pkg/apis/abac/v1beta1/zz_generated.deepcopy.go
 M pkg/apis/abac/v1beta1/zz_generated.defaults.go
 M pkg/apis/abac/zz_generated.deepcopy.go
 M pkg/apis/admission/v1beta1/zz_generated.conversion.go
 M pkg/apis/admission/v1beta1/zz_generated.defaults.go
 M pkg/apis/admission/zz_generated.deepcopy.go
 M pkg/apis/admissionregistration/v1alpha1/zz_generated.conversion.go
 M pkg/apis/admissionregistration/v1alpha1/zz_generated.defaults.go
 M pkg/apis/admissionregistration/v1beta1/zz_generated.conversion.go
 M pkg/apis/admissionregistration/v1beta1/zz_generated.defaults.go
 M pkg/apis/admissionregistration/zz_generated.deepcopy.go
 M pkg/apis/apps/v1/zz_generated.conversion.go
 M pkg/apis/apps/v1/zz_generated.defaults.go
 M pkg/apis/apps/v1beta1/zz_generated.conversion.go
 M pkg/apis/apps/v1beta1/zz_generated.defaults.go
 M pkg/apis/apps/v1beta2/zz_generated.conversion.go
 M pkg/apis/apps/v1beta2/zz_generated.defaults.go
 M pkg/apis/apps/zz_generated.deepcopy.go
 M pkg/apis/authentication/v1/zz_generated.conversion.go
 M pkg/apis/authentication/v1/zz_generated.defaults.go
 M pkg/apis/authentication/v1beta1/zz_generated.conversion.go
 M pkg/apis/authentication/v1beta1/zz_generated.defaults.go
 M pkg/apis/authentication/zz_generated.deepcopy.go
 M pkg/apis/authorization/v1/zz_generated.conversion.go
 M pkg/apis/authorization/v1/zz_generated.defaults.go
 M pkg/apis/authorization/v1beta1/zz_generated.conversion.go
 M pkg/apis/authorization/v1beta1/zz_generated.defaults.go
 M pkg/apis/authorization/zz_generated.deepcopy.go
 M pkg/apis/autoscaling/v1/zz_generated.conversion.go
 M pkg/apis/autoscaling/v1/zz_generated.defaults.go
 M pkg/apis/autoscaling/v2beta1/zz_generated.conversion.go
 M pkg/apis/autoscaling/v2beta1/zz_generated.defaults.go
 M pkg/apis/autoscaling/zz_generated.deepcopy.go
 M pkg/apis/batch/v1/zz_generated.conversion.go
 M pkg/apis/batch/v1/zz_generated.defaults.go
 M pkg/apis/batch/v1beta1/zz_generated.conversion.go
 M pkg/apis/batch/v1beta1/zz_generated.defaults.go
 M pkg/apis/batch/v2alpha1/zz_generated.conversion.go
 M pkg/apis/batch/v2alpha1/zz_generated.defaults.go
 M pkg/apis/batch/zz_generated.deepcopy.go
 M pkg/apis/certificates/v1beta1/zz_generated.conversion.go
 M pkg/apis/certificates/v1beta1/zz_generated.defaults.go
 M pkg/apis/certificates/zz_generated.deepcopy.go
 M pkg/apis/componentconfig/v1alpha1/zz_generated.conversion.go
 M pkg/apis/componentconfig/v1alpha1/zz_generated.deepcopy.go
 M pkg/apis/componentconfig/v1alpha1/zz_generated.defaults.go
 M pkg/apis/componentconfig/zz_generated.deepcopy.go
 M pkg/apis/core/v1/zz_generated.conversion.go
 M pkg/apis/core/v1/zz_generated.defaults.go
 M pkg/apis/core/zz_generated.deepcopy.go
 M pkg/apis/events/v1beta1/zz_generated.conversion.go
 M pkg/apis/events/v1beta1/zz_generated.defaults.go
 M pkg/apis/extensions/v1beta1/zz_generated.conversion.go
 M pkg/apis/extensions/v1beta1/zz_generated.defaults.go
 M pkg/apis/extensions/zz_generated.deepcopy.go
 M pkg/apis/imagepolicy/v1alpha1/zz_generated.conversion.go
 M pkg/apis/imagepolicy/v1alpha1/zz_generated.defaults.go
 M pkg/apis/imagepolicy/zz_generated.deepcopy.go
 M pkg/apis/networking/v1/zz_generated.conversion.go
 M pkg/apis/networking/v1/zz_generated.defaults.go
 M pkg/apis/networking/zz_generated.deepcopy.go
 M pkg/apis/policy/v1beta1/zz_generated.conversion.go
 M pkg/apis/policy/v1beta1/zz_generated.defaults.go
 M pkg/apis/policy/zz_generated.deepcopy.go
 M pkg/apis/rbac/v1/zz_generated.conversion.go
 M pkg/apis/rbac/v1/zz_generated.defaults.go
 M pkg/apis/rbac/v1alpha1/zz_generated.conversion.go
 M pkg/apis/rbac/v1alpha1/zz_generated.defaults.go
 M pkg/apis/rbac/v1beta1/zz_generated.conversion.go
 M pkg/apis/rbac/v1beta1/zz_generated.defaults.go
 M pkg/apis/rbac/zz_generated.deepcopy.go
 M pkg/apis/scheduling/v1alpha1/zz_generated.conversion.go
 M pkg/apis/scheduling/v1alpha1/zz_generated.defaults.go
 M pkg/apis/scheduling/zz_generated.deepcopy.go
 M pkg/apis/settings/v1alpha1/zz_generated.conversion.go
 M pkg/apis/settings/v1alpha1/zz_generated.defaults.go
 M pkg/apis/settings/zz_generated.deepcopy.go
 M pkg/apis/storage/v1/zz_generated.conversion.go
 M pkg/apis/storage/v1/zz_generated.defaults.go
 M pkg/apis/storage/v1alpha1/zz_generated.conversion.go
 M pkg/apis/storage/v1alpha1/zz_generated.defaults.go
 M pkg/apis/storage/v1beta1/zz_generated.conversion.go
 M pkg/apis/storage/v1beta1/zz_generated.defaults.go
 M pkg/apis/storage/zz_generated.deepcopy.go
 M pkg/controller/garbagecollector/metaonly/zz_generated.deepcopy.go
 M pkg/kubectl/cmd/testing/zz_generated.deepcopy.go
 M pkg/kubectl/testing/zz_generated.deepcopy.go
 M pkg/kubelet/apis/kubeletconfig/v1alpha1/zz_generated.conversion.go
 M pkg/kubelet/apis/kubeletconfig/v1alpha1/zz_generated.deepcopy.go
 M pkg/kubelet/apis/kubeletconfig/v1alpha1/zz_generated.defaults.go
 M pkg/kubelet/apis/kubeletconfig/zz_generated.deepcopy.go
 M pkg/proxy/apis/kubeproxyconfig/v1alpha1/zz_generated.conversion.go
 M pkg/proxy/apis/kubeproxyconfig/v1alpha1/zz_generated.deepcopy.go
 M pkg/proxy/apis/kubeproxyconfig/v1alpha1/zz_generated.defaults.go
 M pkg/proxy/apis/kubeproxyconfig/zz_generated.deepcopy.go
 M pkg/registry/rbac/reconciliation/zz_generated.deepcopy.go
 M plugin/pkg/admission/eventratelimit/apis/eventratelimit/v1alpha1/zz_generated.conversion.go
 M plugin/pkg/admission/eventratelimit/apis/eventratelimit/v1alpha1/zz_generated.deepcopy.go
 M plugin/pkg/admission/eventratelimit/apis/eventratelimit/v1alpha1/zz_generated.defaults.go
 M plugin/pkg/admission/eventratelimit/apis/eventratelimit/zz_generated.deepcopy.go
 M plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction/v1alpha1/zz_generated.conversion.go
 M plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction/v1alpha1/zz_generated.deepcopy.go
 M plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction/v1alpha1/zz_generated.defaults.go
 M plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction/zz_generated.deepcopy.go
 M plugin/pkg/admission/resourcequota/apis/resourcequota/v1alpha1/zz_generated.conversion.go
 M plugin/pkg/admission/resourcequota/apis/resourcequota/v1alpha1/zz_generated.deepcopy.go
 M plugin/pkg/admission/resourcequota/apis/resourcequota/v1alpha1/zz_generated.defaults.go
 M plugin/pkg/admission/resourcequota/apis/resourcequota/zz_generated.deepcopy.go
 M plugin/pkg/scheduler/api/v1/zz_generated.deepcopy.go
 M plugin/pkg/scheduler/api/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/admission/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/admissionregistration/v1alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/admissionregistration/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/apps/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/apps/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/apps/v1beta2/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/authentication/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/authentication/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/authorization/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/authorization/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/autoscaling/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/autoscaling/v2beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/batch/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/batch/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/batch/v2alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/certificates/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/core/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/events/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/extensions/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/imagepolicy/v1alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/networking/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/policy/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/rbac/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/rbac/v1alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/rbac/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/scheduling/v1alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/settings/v1alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/storage/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/storage/v1alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/storage/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.conversion.go
 M staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.defaults.go
 M staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/api/resource/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/apis/meta/internalversion/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/zz_generated.defaults.go
 M staging/src/k8s.io/apimachinery/pkg/apis/meta/v1alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/apis/meta/v1alpha1/zz_generated.defaults.go
 M staging/src/k8s.io/apimachinery/pkg/apis/testapigroup/v1/zz_generated.conversion.go
 M staging/src/k8s.io/apimachinery/pkg/apis/testapigroup/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/apis/testapigroup/v1/zz_generated.defaults.go
 M staging/src/k8s.io/apimachinery/pkg/apis/testapigroup/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/labels/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/runtime/serializer/testing/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/runtime/testing/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/runtime/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/test/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/watch/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/config/apis/webhookadmission/v1alpha1/zz_generated.conversion.go
 M staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/config/apis/webhookadmission/v1alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/config/apis/webhookadmission/v1alpha1/zz_generated.defaults.go
 M staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/config/apis/webhookadmission/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/apis/apiserver/v1alpha1/zz_generated.conversion.go
 M staging/src/k8s.io/apiserver/pkg/apis/apiserver/v1alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/apis/apiserver/v1alpha1/zz_generated.defaults.go
 M staging/src/k8s.io/apiserver/pkg/apis/apiserver/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/apis/audit/v1alpha1/zz_generated.conversion.go
 M staging/src/k8s.io/apiserver/pkg/apis/audit/v1alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/apis/audit/v1alpha1/zz_generated.defaults.go
 M staging/src/k8s.io/apiserver/pkg/apis/audit/v1beta1/zz_generated.conversion.go
 M staging/src/k8s.io/apiserver/pkg/apis/audit/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/apis/audit/v1beta1/zz_generated.defaults.go
 M staging/src/k8s.io/apiserver/pkg/apis/audit/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/apis/example/v1/zz_generated.conversion.go
 M staging/src/k8s.io/apiserver/pkg/apis/example/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/apis/example/v1/zz_generated.defaults.go
 M staging/src/k8s.io/apiserver/pkg/apis/example/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/apis/example2/v1/zz_generated.conversion.go
 M staging/src/k8s.io/apiserver/pkg/apis/example2/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/apis/example2/v1/zz_generated.defaults.go
 M staging/src/k8s.io/apiserver/pkg/apis/example2/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/endpoints/openapi/testing/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/endpoints/testing/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/registry/rest/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/storage/testing/zz_generated.deepcopy.go
 M staging/src/k8s.io/client-go/rest/zz_generated.deepcopy.go
 M staging/src/k8s.io/client-go/scale/scheme/appsv1beta1/zz_generated.conversion.go
 M staging/src/k8s.io/client-go/scale/scheme/appsv1beta2/zz_generated.conversion.go
 M staging/src/k8s.io/client-go/scale/scheme/autoscalingv1/zz_generated.conversion.go
 M staging/src/k8s.io/client-go/scale/scheme/extensionsv1beta1/zz_generated.conversion.go
 M staging/src/k8s.io/client-go/scale/scheme/zz_generated.deepcopy.go
 M staging/src/k8s.io/client-go/tools/clientcmd/api/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/client-go/tools/clientcmd/api/zz_generated.deepcopy.go
 M staging/src/k8s.io/code-generator/_examples/apiserver/apis/example/v1/zz_generated.conversion.go
 M staging/src/k8s.io/code-generator/_examples/apiserver/apis/example/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/code-generator/_examples/apiserver/apis/example/zz_generated.deepcopy.go
 M staging/src/k8s.io/code-generator/_examples/apiserver/apis/example2/v1/zz_generated.conversion.go
 M staging/src/k8s.io/code-generator/_examples/apiserver/apis/example2/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/code-generator/_examples/apiserver/apis/example2/zz_generated.deepcopy.go
 M staging/src/k8s.io/code-generator/_examples/crd/apis/example/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/code-generator/_examples/crd/apis/example2/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1/zz_generated.conversion.go
 M staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/zz_generated.deepcopy.go
 M staging/src/k8s.io/metrics/pkg/apis/custom_metrics/v1beta1/zz_generated.conversion.go
 M staging/src/k8s.io/metrics/pkg/apis/custom_metrics/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/metrics/pkg/apis/custom_metrics/zz_generated.deepcopy.go
 M staging/src/k8s.io/metrics/pkg/apis/metrics/v1alpha1/zz_generated.conversion.go
 M staging/src/k8s.io/metrics/pkg/apis/metrics/v1alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/metrics/pkg/apis/metrics/v1beta1/zz_generated.conversion.go
 M staging/src/k8s.io/metrics/pkg/apis/metrics/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/metrics/pkg/apis/metrics/zz_generated.deepcopy.go
 M staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1/zz_generated.conversion.go
 M staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/zz_generated.deepcopy.go
 M staging/src/k8s.io/sample-controller/pkg/apis/samplecontroller/v1alpha1/zz_generated.deepcopy.go'
+ [[ -z  M cmd/kubeadm/app/apis/kubeadm/v1alpha1/zz_generated.conversion.go
 M cmd/kubeadm/app/apis/kubeadm/v1alpha1/zz_generated.deepcopy.go
 M cmd/kubeadm/app/apis/kubeadm/v1alpha1/zz_generated.defaults.go
 M cmd/kubeadm/app/apis/kubeadm/zz_generated.deepcopy.go
 M cmd/kubeadm/app/phases/etcd/spec/zz_generated.deepcopy.go
 M pkg/apis/abac/v0/zz_generated.deepcopy.go
 M pkg/apis/abac/v1beta1/zz_generated.conversion.go
 M pkg/apis/abac/v1beta1/zz_generated.deepcopy.go
 M pkg/apis/abac/v1beta1/zz_generated.defaults.go
 M pkg/apis/abac/zz_generated.deepcopy.go
 M pkg/apis/admission/v1beta1/zz_generated.conversion.go
 M pkg/apis/admission/v1beta1/zz_generated.defaults.go
 M pkg/apis/admission/zz_generated.deepcopy.go
 M pkg/apis/admissionregistration/v1alpha1/zz_generated.conversion.go
 M pkg/apis/admissionregistration/v1alpha1/zz_generated.defaults.go
 M pkg/apis/admissionregistration/v1beta1/zz_generated.conversion.go
 M pkg/apis/admissionregistration/v1beta1/zz_generated.defaults.go
 M pkg/apis/admissionregistration/zz_generated.deepcopy.go
 M pkg/apis/apps/v1/zz_generated.conversion.go
 M pkg/apis/apps/v1/zz_generated.defaults.go
 M pkg/apis/apps/v1beta1/zz_generated.conversion.go
 M pkg/apis/apps/v1beta1/zz_generated.defaults.go
 M pkg/apis/apps/v1beta2/zz_generated.conversion.go
 M pkg/apis/apps/v1beta2/zz_generated.defaults.go
 M pkg/apis/apps/zz_generated.deepcopy.go
 M pkg/apis/authentication/v1/zz_generated.conversion.go
 M pkg/apis/authentication/v1/zz_generated.defaults.go
 M pkg/apis/authentication/v1beta1/zz_generated.conversion.go
 M pkg/apis/authentication/v1beta1/zz_generated.defaults.go
 M pkg/apis/authentication/zz_generated.deepcopy.go
 M pkg/apis/authorization/v1/zz_generated.conversion.go
 M pkg/apis/authorization/v1/zz_generated.defaults.go
 M pkg/apis/authorization/v1beta1/zz_generated.conversion.go
 M pkg/apis/authorization/v1beta1/zz_generated.defaults.go
 M pkg/apis/authorization/zz_generated.deepcopy.go
 M pkg/apis/autoscaling/v1/zz_generated.conversion.go
 M pkg/apis/autoscaling/v1/zz_generated.defaults.go
 M pkg/apis/autoscaling/v2beta1/zz_generated.conversion.go
 M pkg/apis/autoscaling/v2beta1/zz_generated.defaults.go
 M pkg/apis/autoscaling/zz_generated.deepcopy.go
 M pkg/apis/batch/v1/zz_generated.conversion.go
 M pkg/apis/batch/v1/zz_generated.defaults.go
 M pkg/apis/batch/v1beta1/zz_generated.conversion.go
 M pkg/apis/batch/v1beta1/zz_generated.defaults.go
 M pkg/apis/batch/v2alpha1/zz_generated.conversion.go
 M pkg/apis/batch/v2alpha1/zz_generated.defaults.go
 M pkg/apis/batch/zz_generated.deepcopy.go
 M pkg/apis/certificates/v1beta1/zz_generated.conversion.go
 M pkg/apis/certificates/v1beta1/zz_generated.defaults.go
 M pkg/apis/certificates/zz_generated.deepcopy.go
 M pkg/apis/componentconfig/v1alpha1/zz_generated.conversion.go
 M pkg/apis/componentconfig/v1alpha1/zz_generated.deepcopy.go
 M pkg/apis/componentconfig/v1alpha1/zz_generated.defaults.go
 M pkg/apis/componentconfig/zz_generated.deepcopy.go
 M pkg/apis/core/v1/zz_generated.conversion.go
 M pkg/apis/core/v1/zz_generated.defaults.go
 M pkg/apis/core/zz_generated.deepcopy.go
 M pkg/apis/events/v1beta1/zz_generated.conversion.go
 M pkg/apis/events/v1beta1/zz_generated.defaults.go
 M pkg/apis/extensions/v1beta1/zz_generated.conversion.go
 M pkg/apis/extensions/v1beta1/zz_generated.defaults.go
 M pkg/apis/extensions/zz_generated.deepcopy.go
 M pkg/apis/imagepolicy/v1alpha1/zz_generated.conversion.go
 M pkg/apis/imagepolicy/v1alpha1/zz_generated.defaults.go
 M pkg/apis/imagepolicy/zz_generated.deepcopy.go
 M pkg/apis/networking/v1/zz_generated.conversion.go
 M pkg/apis/networking/v1/zz_generated.defaults.go
 M pkg/apis/networking/zz_generated.deepcopy.go
 M pkg/apis/policy/v1beta1/zz_generated.conversion.go
 M pkg/apis/policy/v1beta1/zz_generated.defaults.go
 M pkg/apis/policy/zz_generated.deepcopy.go
 M pkg/apis/rbac/v1/zz_generated.conversion.go
 M pkg/apis/rbac/v1/zz_generated.defaults.go
 M pkg/apis/rbac/v1alpha1/zz_generated.conversion.go
 M pkg/apis/rbac/v1alpha1/zz_generated.defaults.go
 M pkg/apis/rbac/v1beta1/zz_generated.conversion.go
 M pkg/apis/rbac/v1beta1/zz_generated.defaults.go
 M pkg/apis/rbac/zz_generated.deepcopy.go
 M pkg/apis/scheduling/v1alpha1/zz_generated.conversion.go
 M pkg/apis/scheduling/v1alpha1/zz_generated.defaults.go
 M pkg/apis/scheduling/zz_generated.deepcopy.go
 M pkg/apis/settings/v1alpha1/zz_generated.conversion.go
 M pkg/apis/settings/v1alpha1/zz_generated.defaults.go
 M pkg/apis/settings/zz_generated.deepcopy.go
 M pkg/apis/storage/v1/zz_generated.conversion.go
 M pkg/apis/storage/v1/zz_generated.defaults.go
 M pkg/apis/storage/v1alpha1/zz_generated.conversion.go
 M pkg/apis/storage/v1alpha1/zz_generated.defaults.go
 M pkg/apis/storage/v1beta1/zz_generated.conversion.go
 M pkg/apis/storage/v1beta1/zz_generated.defaults.go
 M pkg/apis/storage/zz_generated.deepcopy.go
 M pkg/controller/garbagecollector/metaonly/zz_generated.deepcopy.go
 M pkg/kubectl/cmd/testing/zz_generated.deepcopy.go
 M pkg/kubectl/testing/zz_generated.deepcopy.go
 M pkg/kubelet/apis/kubeletconfig/v1alpha1/zz_generated.conversion.go
 M pkg/kubelet/apis/kubeletconfig/v1alpha1/zz_generated.deepcopy.go
 M pkg/kubelet/apis/kubeletconfig/v1alpha1/zz_generated.defaults.go
 M pkg/kubelet/apis/kubeletconfig/zz_generated.deepcopy.go
 M pkg/proxy/apis/kubeproxyconfig/v1alpha1/zz_generated.conversion.go
 M pkg/proxy/apis/kubeproxyconfig/v1alpha1/zz_generated.deepcopy.go
 M pkg/proxy/apis/kubeproxyconfig/v1alpha1/zz_generated.defaults.go
 M pkg/proxy/apis/kubeproxyconfig/zz_generated.deepcopy.go
 M pkg/registry/rbac/reconciliation/zz_generated.deepcopy.go
 M plugin/pkg/admission/eventratelimit/apis/eventratelimit/v1alpha1/zz_generated.conversion.go
 M plugin/pkg/admission/eventratelimit/apis/eventratelimit/v1alpha1/zz_generated.deepcopy.go
 M plugin/pkg/admission/eventratelimit/apis/eventratelimit/v1alpha1/zz_generated.defaults.go
 M plugin/pkg/admission/eventratelimit/apis/eventratelimit/zz_generated.deepcopy.go
 M plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction/v1alpha1/zz_generated.conversion.go
 M plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction/v1alpha1/zz_generated.deepcopy.go
 M plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction/v1alpha1/zz_generated.defaults.go
 M plugin/pkg/admission/podtolerationrestriction/apis/podtolerationrestriction/zz_generated.deepcopy.go
 M plugin/pkg/admission/resourcequota/apis/resourcequota/v1alpha1/zz_generated.conversion.go
 M plugin/pkg/admission/resourcequota/apis/resourcequota/v1alpha1/zz_generated.deepcopy.go
 M plugin/pkg/admission/resourcequota/apis/resourcequota/v1alpha1/zz_generated.defaults.go
 M plugin/pkg/admission/resourcequota/apis/resourcequota/zz_generated.deepcopy.go
 M plugin/pkg/scheduler/api/v1/zz_generated.deepcopy.go
 M plugin/pkg/scheduler/api/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/admission/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/admissionregistration/v1alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/admissionregistration/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/apps/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/apps/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/apps/v1beta2/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/authentication/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/authentication/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/authorization/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/authorization/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/autoscaling/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/autoscaling/v2beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/batch/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/batch/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/batch/v2alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/certificates/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/core/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/events/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/extensions/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/imagepolicy/v1alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/networking/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/policy/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/rbac/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/rbac/v1alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/rbac/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/scheduling/v1alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/settings/v1alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/storage/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/storage/v1alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/api/storage/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis/cr/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.conversion.go
 M staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.defaults.go
 M staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/api/resource/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/apis/meta/internalversion/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/unstructured/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/zz_generated.defaults.go
 M staging/src/k8s.io/apimachinery/pkg/apis/meta/v1alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/apis/meta/v1alpha1/zz_generated.defaults.go
 M staging/src/k8s.io/apimachinery/pkg/apis/testapigroup/v1/zz_generated.conversion.go
 M staging/src/k8s.io/apimachinery/pkg/apis/testapigroup/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/apis/testapigroup/v1/zz_generated.defaults.go
 M staging/src/k8s.io/apimachinery/pkg/apis/testapigroup/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/labels/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/runtime/serializer/testing/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/runtime/testing/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/runtime/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/test/zz_generated.deepcopy.go
 M staging/src/k8s.io/apimachinery/pkg/watch/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/config/apis/webhookadmission/v1alpha1/zz_generated.conversion.go
 M staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/config/apis/webhookadmission/v1alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/config/apis/webhookadmission/v1alpha1/zz_generated.defaults.go
 M staging/src/k8s.io/apiserver/pkg/admission/plugin/webhook/config/apis/webhookadmission/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/apis/apiserver/v1alpha1/zz_generated.conversion.go
 M staging/src/k8s.io/apiserver/pkg/apis/apiserver/v1alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/apis/apiserver/v1alpha1/zz_generated.defaults.go
 M staging/src/k8s.io/apiserver/pkg/apis/apiserver/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/apis/audit/v1alpha1/zz_generated.conversion.go
 M staging/src/k8s.io/apiserver/pkg/apis/audit/v1alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/apis/audit/v1alpha1/zz_generated.defaults.go
 M staging/src/k8s.io/apiserver/pkg/apis/audit/v1beta1/zz_generated.conversion.go
 M staging/src/k8s.io/apiserver/pkg/apis/audit/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/apis/audit/v1beta1/zz_generated.defaults.go
 M staging/src/k8s.io/apiserver/pkg/apis/audit/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/apis/example/v1/zz_generated.conversion.go
 M staging/src/k8s.io/apiserver/pkg/apis/example/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/apis/example/v1/zz_generated.defaults.go
 M staging/src/k8s.io/apiserver/pkg/apis/example/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/apis/example2/v1/zz_generated.conversion.go
 M staging/src/k8s.io/apiserver/pkg/apis/example2/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/apis/example2/v1/zz_generated.defaults.go
 M staging/src/k8s.io/apiserver/pkg/apis/example2/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/endpoints/openapi/testing/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/endpoints/testing/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/registry/rest/zz_generated.deepcopy.go
 M staging/src/k8s.io/apiserver/pkg/storage/testing/zz_generated.deepcopy.go
 M staging/src/k8s.io/client-go/rest/zz_generated.deepcopy.go
 M staging/src/k8s.io/client-go/scale/scheme/appsv1beta1/zz_generated.conversion.go
 M staging/src/k8s.io/client-go/scale/scheme/appsv1beta2/zz_generated.conversion.go
 M staging/src/k8s.io/client-go/scale/scheme/autoscalingv1/zz_generated.conversion.go
 M staging/src/k8s.io/client-go/scale/scheme/extensionsv1beta1/zz_generated.conversion.go
 M staging/src/k8s.io/client-go/scale/scheme/zz_generated.deepcopy.go
 M staging/src/k8s.io/client-go/tools/clientcmd/api/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/client-go/tools/clientcmd/api/zz_generated.deepcopy.go
 M staging/src/k8s.io/code-generator/_examples/apiserver/apis/example/v1/zz_generated.conversion.go
 M staging/src/k8s.io/code-generator/_examples/apiserver/apis/example/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/code-generator/_examples/apiserver/apis/example/zz_generated.deepcopy.go
 M staging/src/k8s.io/code-generator/_examples/apiserver/apis/example2/v1/zz_generated.conversion.go
 M staging/src/k8s.io/code-generator/_examples/apiserver/apis/example2/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/code-generator/_examples/apiserver/apis/example2/zz_generated.deepcopy.go
 M staging/src/k8s.io/code-generator/_examples/crd/apis/example/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/code-generator/_examples/crd/apis/example2/v1/zz_generated.deepcopy.go
 M staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1/zz_generated.conversion.go
 M staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/zz_generated.deepcopy.go
 M staging/src/k8s.io/metrics/pkg/apis/custom_metrics/v1beta1/zz_generated.conversion.go
 M staging/src/k8s.io/metrics/pkg/apis/custom_metrics/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/metrics/pkg/apis/custom_metrics/zz_generated.deepcopy.go
 M staging/src/k8s.io/metrics/pkg/apis/metrics/v1alpha1/zz_generated.conversion.go
 M staging/src/k8s.io/metrics/pkg/apis/metrics/v1alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/metrics/pkg/apis/metrics/v1beta1/zz_generated.conversion.go
 M staging/src/k8s.io/metrics/pkg/apis/metrics/v1beta1/zz_generated.deepcopy.go
 M staging/src/k8s.io/metrics/pkg/apis/metrics/zz_generated.deepcopy.go
 M staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1/zz_generated.conversion.go
 M staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/v1alpha1/zz_generated.deepcopy.go
 M staging/src/k8s.io/sample-apiserver/pkg/apis/wardle/zz_generated.deepcopy.go
 M staging/src/k8s.io/sample-controller/pkg/apis/samplecontroller/v1alpha1/zz_generated.deepcopy.go ]]
+ KUBE_GIT_TREE_STATE=dirty
+ [[ -n '' ]]
++ git --work-tree ./hack/.. describe --tags --abbrev=14 '925c127ec6b946659ad0fd596fa959be43f0cc05^{commit}'
+ KUBE_GIT_VERSION=v1.9.0
++ echo v1.9.0
++ sed 's/[^-]//g'
+ DASHES_IN_VERSION=
+ [[ '' == \-\-\- ]]
+ [[ '' == \-\- ]]
+ [[ dirty == \d\i\r\t\y ]]
+ KUBE_GIT_VERSION+=-dirty
+ [[ v1.9.0-dirty =~ ^v([0-9]+)\.([0-9]+)(\.[0-9]+)?([-].*)?$ ]]
+ KUBE_GIT_MAJOR=1
+ KUBE_GIT_MINOR=9
+ [[ -n -dirty ]]
+ KUBE_GIT_MINOR+=+
+ cat
++ date -u +%Y-%m-%dT%H:%M:%SZ
STABLE_BUILD_GIT_COMMIT 925c127ec6b946659ad0fd596fa959be43f0cc05
STABLE_BUILD_SCM_STATUS dirty
STABLE_BUILD_SCM_REVISION v1.9.0-dirty
STABLE_BUILD_MAJOR_VERSION 1
STABLE_BUILD_MINOR_VERSION 9+
STABLE_DOCKER_TAG v1.9.0-dirty
gitCommit 925c127ec6b946659ad0fd596fa959be43f0cc05
gitTreeState dirty
gitVersion v1.9.0-dirty
gitMajor 1
gitMinor 9+
buildDate 2018-01-08T14:29:28Z
Removing intermediate container a74ae9704052

So we start with a clean tree (as expected), but we happen to modify generated code somehow (perhaps a different version of Go or weirdness with dependencies?).

ijc commented

So we start with a clean tree (as expected), but we happen to modify generated code somehow (perhaps a different version of Go?).

Perhaps git diff will give a clue?

Perhaps the timestamps on the files resulting from git checkout are such that things appear dirty compared with their antecedents (perhaps due to git checkout processing the inputs before the outputs)?

ijc commented

I see the same building a pristine checkout on my (Debian) host...

I wonder if it is related to not being on a branch?

ijc commented

The -dirty shows up in kubectl get nodes too, I run that all the time but never noticed.

ijc commented

Seems I can only reproduce on Debian with git checkout v1.9.0, using v1.9.1 seems fine in all my testing and in the current images on hub.

@errordeveloper Rereading #43 I'm unclear if you ever saw this with v1.9.1 or if you were only seeing with v1.9.0?

I'll see if I can identify a commit in v1.9.0..v1.9.1 which would have resolved this issue, I do fear it might just be down to luck of the timestamps in the git repo or the coincidental ordering of things in the tree-blobs and could regress again with v1.9.2.

ijc commented

I finally remembered that the reason I tried to reproduce this way was so that I could look at the resulting diff. It is:

diff --git a/cmd/kubeadm/app/apis/kubeadm/v1alpha1/zz_generated.conversion.go b/cmd/kubeadm/app/apis/kubeadm/v1alpha1/zz_generated.conversion.go
index 5cebdd5d5bc..0d7f685c3b8 100644
--- a/cmd/kubeadm/app/apis/kubeadm/v1alpha1/zz_generated.conversion.go
+++ b/cmd/kubeadm/app/apis/kubeadm/v1alpha1/zz_generated.conversion.go
@@ -1,7 +1,7 @@
 // +build !ignore_autogenerated
 
 /*
-Copyright 2017 The Kubernetes Authors.
+Copyright 2018 The Kubernetes Authors.
 
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.

Which makes it pretty obvious what is going on ;-) This was resolved between v1.9.0 and v1.9.1 with (I think) kubernetes/kubernetes@7bf1d1d. Since the current packages on hub are built with 1.9.1 I think this is fixed.

Phew!

Thanks for resolving this! It now also makes sense why it was noticed last year 🤣