Commit Graph

231 Commits

Author SHA1 Message Date
hui luo
ce15129b9e add test to verify vsphere cloud provider report node hostname
as in pull #67922 has modify vsphere cloud provider to report
node hostname, this patch is to add the test for it.

also fix an issue at InstanceID(), it suppose to return
cloudprovider.InstanceNotFound when vm not found, after the fix,
test TestInstance() can pass
2018-08-29 11:46:24 -07:00
Jordan Liggitt
722e0bca2e Report Hostname node address for vsphere 2018-08-27 23:32:09 -04:00
Doug MacEachern
ec732d8aab vsphere: support zone tags at any level in the hierarchy
Rather than just looking for zone tags at the VM's Host level, traverse up the hierarchy.
This allows zone tags to be attached at host level, along with cluster, datacenter, root folder
and any inventory folders in between.

Issue #64021
2018-08-23 14:57:21 -07:00
Doug MacEachern
191d9ced30 update bazel 2018-08-22 18:49:15 -07:00
Doug MacEachern
11af6932e5 vsphere: add tests for Cloud Provider Zones implementation
- Add tests for GetZones()

- Fix bug where a host tag other than region or zone caused an error

- Fix bug where GetZones() errored if zone tag was set, but region was not

Follow up to PR #66795 / towards #64021
2018-08-22 18:47:30 -07:00
Doug MacEachern
d4d5c1e7db vsphere: adjust to govmomi tags API changes 2018-08-22 11:22:24 -07:00
Doug MacEachern
5816a8bc18 godeps: update vmware/govmomi
Update required to continue work on #64021

- The govmomi tag API changed

- Pulling in the new vapi/simulator package for testing the VCP Zones impl
2018-08-22 11:11:11 -07:00
Doug MacEachern
35c37d5584 vsphere: enable TestInvalidCaCert
This test can be enabled now with the govmomi vendor update in 5c44fd871f
2018-08-11 10:39:20 -07:00
jiatongw
af5084ea75 Add TestZone() 2018-08-06 15:19:10 -07:00
jiatongw
5c44fd871f Update vmware/govmomi vendor: add vapi package
Zones implementation for vSphere cloud provider needs dependencies
which are not included in current vmware/govmomi vendor. So this
update added "vapi" package to support zones.
2018-08-03 22:11:42 -07:00
jiatongw
99abd4bc79 Add zones support for vSphere cloud provider (in-tree) 2018-08-03 13:24:42 -07:00
Ryo Nishikawa
3c50f3d447 Remove verbose code in VCP 2018-07-27 10:56:10 -07:00
Ryo Nishikawa
059daa6de9 Remove unnecessary context in VCP 2018-07-26 10:25:08 -07:00
Ryo Nishikawa
5e81dcd4f0 Implement InstanceShutdownByProviderID for vSphere CP 2018-07-24 10:51:17 -07:00
Kubernetes Submit Queue
1a538daf44 Merge pull request #66304 from jiatongw/gocheck
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>.

Add error check and ignore unused variable (SA4006)

**What this PR does / why we need it**:
Fix some bugs in cloud provider vsphere, issue can be found here #66303
```pkg/cloudprovider/providers/vsphere/nodemanager.go:176:5: defers in this range loop won't run unless the channel gets closed (SA9001)
pkg/cloudprovider/providers/vsphere/vclib/diskmanagers/vmdm.go:129:8: this value of err is never used (SA4006)
pkg/cloudprovider/providers/vsphere/vsphere.go:596:34: argument ctx is overwritten before first use (SA4009)
pkg/cloudprovider/providers/vsphere/vsphere_test.go:360:2: this value of instanceID is never used (SA4006)
pkg/cloudprovider/providers/vsphere/vsphere_util.go:301:3: defers in this infinite loop will never run (SA5003)
```
**Special notes for your reviewer**:
I fixed ```SA4006``` report in that issue, but there are still other code needed to discuss and fix.

**Release note**:
```release-note
NONE
```
2018-07-17 16:45:59 -07:00
Jiatong Wang
4d578d1389 Add error check and ignore unused variable (SA4006) 2018-07-17 10:41:06 -07:00
Divyen Patel
6282a40530 Fix locating resporce-pool for volume provisioning 2018-07-16 10:19:32 -07:00
Kubernetes Submit Queue
d2696d5612 Merge pull request #66007 from w-leads/bugfix/vcp-missing-vmuuid
Automatic merge from submit-queue (batch tested with PRs 66122, 66007). 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>.

Return vmUUID when renewing nodeinfo in VCP

**What this PR does / why we need it**:
This PR fixes an issue that VM UUID is removed when renewing node information in vSphere cloud provider

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

/sig vmware
2018-07-12 10:14:03 -07:00
Russ Cox
2bd91dda64 kubernetes: fix printf format errors
These are all flagged by Go 1.11's
more accurate printf checking in go vet,
which runs as part of go test.

Lubomir I. Ivanov <neolit123@gmail.com>
applied ammend for:
  pkg/cloudprovider/provivers/vsphere/nodemanager.go
2018-07-11 00:10:15 +03:00
Ryo Nishikawa
afcff6f2f7 Return vmUUID when renewing nodeinfo in VCP 2018-07-09 17:45:07 -07:00
Doug MacEachern
dd8ff56eb8 Update bazel 2018-07-08 22:51:14 -07:00
Doug MacEachern
b4976ecb17 vSphere: set vCenter client UserAgent
Setting the client UserAgent makes it easier to identify vCenter sessions
used by the vSphere Cloud Provider.  This is useful to remove sessions that
have leaked, such as when a VCP process goes away without calling Logout().
And to test that VCP properly re-authenticates when a session is removed.

Example use:
  govc session.ls | grep kubernetes-cloudprovider | awk '{print $1}' | xargs -n1 govc session.rm
2018-07-08 22:36:53 -07:00
Doug MacEachern
9a219513dc vSphere Cloud Provider: avoid read race during logout
The Client nil check was added in 6d1c4a3 , but there was not any
go test coverage of that code path until e22f9ca

Fixes #65696
2018-07-06 10:05:03 -07:00
Fabio Rapposelli
a77f4b273e Add new owners to vSphere cloud provider 2018-07-06 11:05:27 +02:00
Kubernetes Submit Queue
64243d4806 Merge pull request #64758 from pivotal-k8s/64222-vcp-ca-cert
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>.

Setup TLS with CA Cert for vsphere cloud provider

- Extend config to take a path to a CA Certificate
- Use the CA Cert when establishing a connection with the SOAP client

Testing
We provide certs and keys for tests as fixtures, `vclib/fixtures`.
Those were created (and can be regenerated) using `vclib/fixtures/createCerts.sh`.

At the moment it's possible to configure a CA path and at the same time allow insecure
communication between vsphere cloud provider and vcenter. This may
change in the future; we might opt for overwriting the insecure
communication if a CA is configured / log and transparently pass the
arguments to the vcenter command / other. To be discussed.

At the moment the CA is a global level configuration. In other
words, all vcenter servers need to use certificates signed by the same
CA. There might be use cases for different CA per vcenter server; to be
discussed.





**What this PR does / why we need it**:
This PR adds the option of configuring a trusted CA for the communication between the vsphere cloud provider and the vcenter control plane.

**Which issue(s) this PR fixes**:
Fixes #64222

**Special notes for your reviewer**:

**Release note**:

```release-note
- Can configure the vsphere cloud provider with a trusted Root-CA
```
2018-06-30 03:29:24 -07:00
Kubernetes Submit Queue
5f7f5c43d8 Merge pull request #65508 from w-leads/fix-typo-vsphere
Automatic merge from submit-queue (batch tested with PRs 65507, 65508, 65486). 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>.

Fix typo in vsphere cloud provider comment

**What this PR does / why we need it**:
Fix typo in code of vsphere cloud provider
As far as I know, it's not purchased by Google right..?

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-06-26 23:17:02 -07:00
Ryo Nishikawa
0637d52128 Fix typo in comment 2018-06-26 17:04:25 -07:00
Hannes Hörl
7b8efe39c4 Update bazel
... after rebase
2018-06-24 17:08:40 +01:00
Hannes Hörl
a536ebc580 Remove unused exported errors 2018-06-24 11:22:04 +01:00
Hannes Hörl
37e8c17041 Do not do noramlization of the fingerprint format 2018-06-24 11:07:23 +01:00
Jeff Grafton
23ceebac22 Run hack/update-bazel.sh 2018-06-22 16:22:57 -07:00
Hannes Hörl
7c27cd08ad Check if the server actually configured with a certificate 2018-06-18 13:49:05 +01:00
Hannes Hörl
012910f76f Update copyright header 2018-06-18 13:37:03 +01:00
Alvaro Aleman
81e25c37be Do not query for VMUUID if it was explicitly passed 2018-06-17 11:56:04 +02:00
Hannes Hörl
bec497765a Create new certs & cleanup cert generation
The test certificates are now valid for 200 years.
The generation script has been cleaned up a bit.
2018-06-08 14:42:54 +01:00
Maria Ntalla
ed4d445352 Check certificate thumbprint when configured 2018-06-08 12:00:11 +01:00
Maria Ntalla
9deaba0aa0 Use soap clients method to load root CAs 2018-06-08 12:00:11 +01:00
Maria Ntalla
64bc96baf9 Setup test for verifying by checking certificate fingerprints 2018-06-08 12:00:11 +01:00
Maria Ntalla
7ade8261f6 Pass through CA cert file to the connection when multiple vcenters are configured 2018-06-08 12:00:11 +01:00
Maria Ntalla
b83028325c Introduce thumbprints per vcenter 2018-06-08 12:00:11 +01:00
Maria Ntalla
795e4c4254 Add godocs for fixtures
... and rename `InvalidCaCertPath` to `InvalidCertPath`.
2018-06-08 12:00:11 +01:00
Maria Ntalla
0cbe25436d Resolve paths of test fixtures at runtime
This will help with bazel tests, which seem to use a different working
directory from local test runs.
2018-06-08 12:00:11 +01:00
Maria Ntalla
90012e513a Fix spelling 2018-06-08 12:00:11 +01:00
Maria Ntalla
f7e9b6a474 Add LICENCE header to createCerts.sh
Also remove comments that are not useful anymore.
2018-06-08 12:00:11 +01:00
Maria Ntalla
b85d760011 Improve godocs and testcase naming 2018-06-08 12:00:11 +01:00
Maria Ntalla
64f13c265c Add LICENSE header 2018-06-08 12:00:11 +01:00
Maria Ntalla
b3a1750afe Make bazel happy
./hack/update-bazel.sh
2018-06-08 12:00:11 +01:00
Maria Ntalla
9fc231e5c0 Setup TLS with CA Cert
- Extend config to take a path to a CA Certificate
- Use the CA Cert when establishing a connection with the SOAP client

Testing
We provide certs and keys for tests as fixtures, `vclib/fixtures`.
Those were created (and can be regenerated) using `vclib/fixtures/createCerts.sh`.

At the moment it's possible to configure a CA path and at the same time allow insecure
communication between vsphere cloud provider and vcenter. This may
change in the future; we might opt for overwriting the insecure
communication if a CA is configured / log and transparently pass the
arguments to the vcenter command / other. To be discussed.

At the moment the CA is a global level configuration. In other
words, all vcenter servers need to use certificates signed by the same
CA. There might be use cases for different CA per vcenter server; to be
discussed.
2018-06-08 12:00:11 +01:00
Abrar Shivani
99076ce32a Add kubernetes license to credential manager 2018-05-17 12:10:30 -07:00
Abrar Shivani
f58cc6c075 Add unit test for secrets flag in config file 2018-05-17 12:10:29 -07:00