kubernetes/test/e2e
Kubernetes Submit Queue 260327110f
Merge pull request #59514 from vmware/test-infra
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

vSphere test infrastructure improvement and new node-unregister test

**What this PR does / why we need it**:
- Created conf file parsing logic for vSphere tests
- Created NodeMapper to generate node-vsphere map
- Updated bootstrap to parse conf file and generate node-vsphere map, and set it in TestContext
- Moved bootstrap.go and context.go up, in vsphere package to avoid cyclic package dependencies
- Added node register/unregister test, that consumes new test-infra

**Which issue(s) this PR fixes**:
Fixes https://github.com/vmware/kubernetes/issues/437
Fixes https://github.com/vmware/kubernetes/issues/379

**Special notes for your reviewer**:
- Successfully ran vSphere e2e tests to ensure that the bootstrapping is happening only once. More tests in progress
- Successfully ran 'Node Unregister'

```
bash-3.2$ go run hack/e2e.go --check-version-skew=false --v --test --test_args=‘--ginkgo.focus=Node\sUnregister’
flag provided but not defined: -check-version-skew
Usage of /var/folders/97/lnlv1n317xl2ty8hdn7zptxr00b37m/T/go-build743103230/command-line-arguments/_obj/exe/e2e:
-get
go get -u kubetest if old or not installed (default true)
-old duration
Consider kubetest old if it exceeds this (default 24h0m0s)
Will run 1 of 724 specs
 
Feb 5 22:20:09.890: INFO: >>> kubeConfig: /Users/pshahzeb/kube176.json
Feb 5 22:20:09.903: INFO: Waiting up to 4h0m0s for all (but 0) nodes to be schedulable
Feb 5 22:20:10.036: INFO: Waiting up to 10m0s for all pods (need at least 0) in namespace ‘kube-system’ to be running and ready
Feb 5 22:20:10.182: INFO: 13 / 13 pods in namespace ‘kube-system’ are running and ready (0 seconds elapsed)
Feb 5 22:20:10.182: INFO: expected 4 pod replicas in namespace ‘kube-system’, 4 are Running and Ready.
Feb 5 22:20:10.203: INFO: Waiting for pods to enter Success, but no pods in “kube-system” match label map[name:e2e-image-puller]
Feb 5 22:20:10.203: INFO: Dumping network health container logs from all nodes...
Feb 5 22:20:10.236: INFO: e2e test version: v1.6.0-alpha.0.22494+e66916e052163a-dirty
Feb 5 22:20:10.261: INFO: kube-apiserver version: v1.9.2
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
------------------------------
[sig-storage] Node Unregister [Feature:vsphere] [Slow] [Disruptive]
node unregister
/Users/pshahzeb/k8s/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/e2e/storage/vsphere/vsphere_volume_node_delete.go:53
[BeforeEach] [sig-storage] Node Unregister [Feature:vsphere] [Slow] [Disruptive]
/Users/pshahzeb/k8s/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/e2e/framework/framework.go:141
STEP: Creating a kubernetes client
Feb 5 22:20:10.268: INFO: >>> kubeConfig: /Users/pshahzeb/kube176.json
STEP: Building a namespace api object
Feb 5 22:20:11.043: INFO: No PodSecurityPolicies found; assuming PodSecurityPolicy is disabled.
STEP: Waiting for a default service account to be provisioned in namespace
[BeforeEach] [sig-storage] Node Unregister [Feature:vsphere] [Slow] [Disruptive]
/Users/pshahzeb/k8s/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/e2e/storage/vsphere/vsphere_volume_node_delete.go:41
Feb 5 22:20:11.063: INFO: Initializing vc server 10.160.240.176
Feb 5 22:20:11.063: INFO: ConfigFile &{{administrator@vsphere.local Admin!23 443 true k8s-dc 0} map[10.160.240.176:0xc420babe30] {VM Network} {pvscsi} {10.160.240.176 k8s-dc kubernetes vsanDatastore k8s-cluster}}
vSphere instances map[10.160.240.176:0xc420b08830]
[It] node unregister
/Users/pshahzeb/k8s/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/e2e/storage/vsphere/vsphere_volume_node_delete.go:53
STEP: Get total Ready nodes
Feb 5 22:20:11.566: INFO: vmx file path is [vsanDatastore] 2e98735a-cdb9-c3f3-63d8-020010188a6a/kubernetes-node1.vmx
STEP: Unregister a node VM
Feb 5 22:20:11.686: INFO: Powering off node VM kubernetes-node1
Feb 5 22:20:14.148: INFO: Unregistering node VM kubernetes-node1
STEP: Verifying the ready node counts
STEP: Register back the node VM
Feb 5 22:20:49.490: INFO: Registering node VM kubernetes-node1
Feb 5 22:20:51.785: INFO: Powering on node VM kubernetes-node1
STEP: Verifying the ready node counts
Feb 5 22:21:40.600: INFO: Condition Ready of node kubernetes-node1 is false instead of true. Reason: KubeletNotReady, message: container runtime is down
Feb 5 22:21:45.625: INFO: Condition Ready of node kubernetes-node1 is false instead of true. Reason: KubeletNotReady, message: container runtime is down
STEP: Sanity check for volume lifecycle
STEP: Creating Storage Class With storage policy params
STEP: Creating PVC using the Storage Class
STEP: Waiting for claim to be in bound phase
Feb 5 22:21:50.718: INFO: Waiting up to 5m0s for PersistentVolumeClaim pvc-ztj7g to have phase Bound
 
Feb 5 22:22:15.053: INFO: PersistentVolumeClaim pvc-ztj7g found and phase=Bound (24.334875493s)
STEP: Creating pod to attach PV to the node
STEP: Verify the volume is accessible and available in the pod
Feb 5 22:22:25.976: INFO: Running ‘/Users/pshahzeb/k8s/kubernetes/_output/bin/kubectl --server=https://10.160.241.49 --kubeconfig=/Users/pshahzeb/kube176.json exec pvc-tester-q7q2w --namespace=e2e-tests-node-unregister-csdrc -- /bin/touch /mnt/volume1/emptyFile.txt’
Feb 5 22:22:26.740: INFO: stderr: “”
Feb 5 22:22:26.740: INFO: stdout: “”
STEP: Deleting pod
Feb 5 22:22:26.740: INFO: Deleting pod “pvc-tester-q7q2w” in namespace “e2e-tests-node-unregister-csdrc”
Feb 5 22:22:26.799: INFO: Wait up to 5m0s for pod “pvc-tester-q7q2w” to be fully deleted
STEP: Waiting for volumes to be detached from the node
Feb 5 2223:16.966: INFO: Volume “[vsanDatastore] f0c55f5a-7349-1aad-2464-02001067f24e/kubernetes-dynamic-pvc-04775fe5-0b06-11e8-9872-005056809c8d.vmdk” has successfully detached from “kubernetes-node1"
Feb 5 2223:16.966: INFO: Deleting PersistentVolumeClaim “pvc-ztj7g”
[AfterEach] [sig-storage] Node Unregister [Feature:vsphere] [Slow] [Disruptive]
/Users/pshahzeb/k8s/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/e2e/framework/framework.go:142
Feb 5 2223:17.026: INFO: Waiting up to 3m0s for all (but 0) nodes to be ready
STEP: Destroying namespace “e2e-tests-node-unregister-csdrc” for this suite.
Feb 5 2223:23.158: INFO: Waiting up to 30s for server preferred namespaced resources to be successfully discovered
Feb 5 2223:24.421: INFO: namespace: e2e-tests-node-unregister-csdrc, resource: bindings, ignored listing per whitelist
Feb 5 2223:24.795: INFO: namespace e2e-tests-node-unregister-csdrc deletion completed in 7.715803086s
 
• [SLOW TEST:194.521 seconds]
[sig-storage] Node Unregister [Feature:vsphere] [Slow] [Disruptive]
/Users/pshahzeb/k8s/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/e2e/storage/utils/framework.go:22
node unregister
/Users/pshahzeb/k8s/kubernetes/_output/local/go/src/k8s.io/kubernetes/test/e2e/storage/vsphere/vsphere_volume_node_delete.go:53
------------------------------
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSFeb 5 2223:24.797: INFO: Running AfterSuite actions on all node
Feb 5 2223:24.798: INFO: Running AfterSuite actions on node 1
 
Ran 1 of 724 Specs in 194.905 seconds
SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 723 Skipped PASS
 
Ginkgo ran 1 suite in 3m15.529747133s
Test Suite Passed
2018/02/05 2223:24 util.go:174: Step ‘./hack/ginkgo-e2e.sh --ginkgo.focus=Node\sUnregister’ finished in 3m16.095671615s
2018/02/05 2223:24 e2e.go:81: Done
```

**Release note**:
```release-note
NONE
```
2018-02-09 15:50:18 -08:00
..
apimachinery Merge pull request #59010 from cheftako/webhook-crd 2018-02-07 15:27:37 -08:00
apps verify no extra RS was created when re-creating a deployment 2018-02-07 15:22:55 -08:00
auth Merge pull request #58900 from Random-Liu/fix-psp-test 2018-01-26 21:00:38 -08:00
autoscaling Enable HPA tests on large clusters 2018-02-07 10:14:51 +01:00
chaosmonkey Autogenerate BUILD files 2017-12-23 13:12:11 -08:00
common Ensure that the runtime mounts RO volumes read-only 2018-02-01 10:02:29 -07:00
framework Merge pull request #59661 from shyamjvs/fix-profile-gatherer 2018-02-09 14:46:37 -08:00
generated update BUILD files 2017-10-15 18:18:13 -07:00
instrumentation Switch to k8s.gcr.io vanity domain 2018-02-07 21:14:19 -08:00
kubectl fix failed to access service of e2e test 2017-11-14 19:21:59 +08:00
lifecycle Merge pull request #58396 from chrisglass/do_not_use_ifupdown 2018-01-31 11:48:03 -08:00
manifest Promote SS to apps/v1 2018-01-18 13:48:52 +05:30
network [e2e ingress-gce] Scale test to measure ingress create/update latency 2018-02-08 17:49:47 -08:00
node Merge pull request #59217 from filbranden/cos1 2018-02-06 00:43:13 -08:00
perftype update BUILD files 2017-10-15 18:18:13 -07:00
scalability Fix bug with profile-gathering waitgroup in scale tests 2018-02-08 15:58:51 +01:00
scheduling Skip rescheduler test. 2018-01-30 01:31:48 +00:00
servicecatalog use versiond group clients from client-go 2017-11-07 14:47:22 +08:00
storage Merge pull request #59514 from vmware/test-infra 2018-02-09 15:50:18 -08:00
testing-manifests Switch to k8s.gcr.io vanity domain 2018-02-07 21:14:19 -08:00
ui Update Dashboard add-on to version 1.8.0 2017-11-28 17:53:02 +01:00
upgrades Merge pull request #59313 from MrHohn/e2e-ingress-scale-new 2018-02-09 14:46:34 -08:00
BUILD Move multizone e2e to sig scheduling path 2018-01-25 08:42:16 -08:00
e2e-example-config.json Add viper support to core e2es 2016-09-15 18:38:01 -04:00
e2e.go Fix golint errors on test/e2e/e2e.go 2018-01-11 10:13:10 -08:00
e2e_test.go Move multizone e2e to sig scheduling path 2018-01-25 08:42:16 -08:00
examples.go the changes introduced in this commit plumbs in the generic scaler into kubectl. 2018-01-12 09:21:18 +01:00
gke_local_ssd.go Migrate api.Registry to testapi.Groups in tests. 2017-07-17 15:05:38 -07:00
gke_node_pools.go Use clientset in GetReadySchedulableNodesOrDie 2016-10-19 15:55:39 +02:00
README.md Update docs/ URLs to point to proper locations 2017-06-05 22:13:54 -07:00