Commit Graph

2343 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
39be1048f6
Merge pull request #64343 from MrHohn/security-policy-wrapper
Automatic merge from submit-queue (batch tested with PRs 64288, 64343). 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>.

[gce provider] Add more wrappers for security policy

**What this PR does / why we need it**:
Adding more wrappers for security policy, mostly for implementing the e2e test.

**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 #NONE 

**Special notes for your reviewer**:
/assign @nicksardo 

**Release note**:

```release-note
NONE
```
2018-05-26 02:11:04 -07:00
Zihong Zheng
19d7006d6b [gce provider] Update auto-generated codes 2018-05-25 16:43:28 -07:00
Zihong Zheng
332a3e8467 [gce provider] Add more wrapper for securiti policy 2018-05-25 16:43:28 -07:00
Kubernetes Submit Queue
880dbd339b
Merge pull request #64231 from twilfong/patch-1
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>.

Update function hasClusterTag to fix issue #64230

**What this PR does / why we need it**:

Fixes issue #64230, by changing function hasClusterTag, in aws/tags.go, to ensure that, when called with a list of tags containing a tag with a key which matches clusterTagKey, function will return true even if a tag with key TagNameKubernetesClusterLegacy also exists in the list with a value other than the ClusterID.

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

**Special notes for your reviewer**:
Notes are in issue

**Release note**:
```release-note
NONE
```
2018-05-25 09:01:00 -07:00
Kubernetes Submit Queue
696430dd51
Merge pull request #64248 from feiskyer/exact-err-msg
Automatic merge from submit-queue (batch tested with PRs 63319, 64248, 64250, 63890, 64233). 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 reason message logs for non-exist Azure resources

**What this PR does / why we need it**:

In azure_wrap.go the function checkResourceExistsFromError() looks at a received error and determines it to be a ResourceNotFound if the HTTP status is http.StatusNotFound. However, the HTTP status also equals http.StatusNotFound in case of SubscriptionNotFound.

this PR adds logs to indict the real error messages for such case.

**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 #64220 

**Special notes for your reviewer**:

**Release note**:

```release-note
Add reason message logs for non-exist Azure resources
```
2018-05-24 19:46:12 -07:00
Tim Wilfong
fc1d9dbd18
Fix hasClusterTag to actually get behavior we want 2018-05-24 19:23:12 -07:00
Tim Wilfong
d8d2a4e84c
fix space-vs-tab indent on comment line 2018-05-24 16:21:01 -07:00
Pengfei Ni
5a06ad2d0f Add reason message logs for non-exist resources 2018-05-24 17:08:48 +08:00
Pengfei Ni
a50ac29029 Add unit tests for findRule() 2018-05-24 13:20:46 +08:00
Pengfei Ni
b9b6a9e98d Add verbose logs for azure cloud provider 2018-05-24 13:20:46 +08:00
Pengfei Ni
00dc6b5ed8 Check LoadBalancingRulePropertiesFormat for azure load balancers 2018-05-24 13:20:41 +08:00
Tim Wilfong
0a95581de0
Update function hasClusterTag to fix issue #64230
Fixes issue #64230, by changing function hasClusterTag, in aws/tags.go, to ensure that a list of tags containing a tag with a key which matches clusterTagKey will return true even if a TagNameKubernetesClusterLegacy tag also exists in the list with a value other than the ClusterID.

/sig aws
2018-05-23 13:54:20 -07:00
Kubernetes Submit Queue
2d1f42e0b1
Merge pull request #63902 from vmware/vcp_secrets
Automatic merge from submit-queue (batch tested with PRs 63969, 63902, 63689, 63973, 63978). 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>.

Adds a mechanism in vSphere Cloud Provider to get credentials from Kubernetes secrets

**What this PR does / why we need it**:
Currently, vCenter credentials are stored in plain text in vsphere.conf. This PR adds a mechanism in vSphere Cloud Provider to get vCenter credentials from Kubernetes secrets.

**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**:
Internally review here: https://github.com/vmware/kubernetes/pull/484
**Workflow:**
1. Create vsphere.conf file with ```secret-name``` and ```secret-namespace```.
	```
	[Global]
	insecure-flag = 1
	secret-name = "vcconf"
	secret-namespace = "kube-system"

	[VirtualCenter "10.160.45.119"]
	port = 443
	datacenters = k8s-dc-1

	[Workspace]
	server = 10.160.45.119
	datacenter = k8s-dc-1
	default-datastore = sharedVMFS-0
	folder = Discovered virtual machine
	```
2. Launch Kubernetes cluster with vSphere Cloud Provider Configured.
3. Create secret with vCenter credentials.
	a. Create base64 encoding for username and password:
	username:
	```	
		> echo -n 'admin' | base64
		YWRtaW4= 
	```
	password:
	```
		> echo -n 'vsphere' | base64
		dnNwaGVyZQ==
	```

	b. kubectl create -f vccredentials.yaml
	```
		#vccredentials.yaml
		apiVersion: v1
		kind: Secret
		metadata:
			name: vcconf
		type: Opaque
		data:
			10.192.44.199.username: YWRtaW4=
			10.192.44.199.password: dnNwaGVyZQ==
	```
4. vSphere Cloud Provider can be used now.

**Note:**
Secrets info can be provided with both (old and new) vSphere Cloud provider configuration formats.


**Tests Done:**
- [x] vSphere Cloud Provider unit test.
- [x] Volume lifecyle with Username and Password in vsphere.conf (for backward compability)
- [x] Volume lifecyle with secrets information in vsphere.conf.
- [x] Update secrets workflow

**Release note**:

```release-note
Adds a mechanism in vSphere Cloud Provider to get credentials from Kubernetes secrets
```
2018-05-18 15:59:15 -07:00
Kubernetes Submit Queue
77a08ee2d7
Merge pull request #63989 from MrHohn/gce-security-policy
Automatic merge from submit-queue (batch tested with PRs 63569, 63918, 63980, 63295, 63989). 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>.

GCE provider: add wrapper for security policy

**What this PR does / why we need it**:
Generated mock interface for beta backend service and security policy as well.

**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 #NONE 

**Special notes for your reviewer**:
/assign @nicksardo   

**Release note**:

```release-note
NONE
```
2018-05-18 09:54:26 -07:00
Zihong Zheng
5158add0bc gce provider: point to hack/update-cloudprovider-gce.sh in doc 2018-05-17 17:25:33 -07:00
Zihong Zheng
23726efb3d gce provider: add wrapper for security policy 2018-05-17 17:25:33 -07: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
Abrar Shivani
6c9558334e Add secrets flag in vcp config and modify vcp to use nodemanger connect method 2018-05-17 12:06:03 -07:00
Abrar Shivani
21a7e9b1cb Modify nodemanager to use credentials from secret 2018-05-17 12:06:02 -07:00
Abrar Shivani
94117d748c Add credentials manager unit test in vSphere Cloud Provider 2018-05-17 12:06:02 -07:00
Abrar Shivani
c7641800e3 Add credentials manager in vSphere Cloud Provider 2018-05-17 12:06:01 -07:00
Abrar Shivani
1fb9ababbd Add update credentials function in vclib 2018-05-17 12:06:01 -07:00
Kubernetes Submit Queue
a481f4bbe8
Merge pull request #63824 from dougm/vsphere-token-auth
Automatic merge from submit-queue (batch tested with PRs 63886, 63857, 63824). 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 Cloud Provider: add SAML token authentication support

**What this PR does / why we need it**:

The vSphere cloud provider currently supports username+password based authentication, this PR adds an option to use token based authentication.

**Which issue(s) this PR fixes**:

Fixes #63209

**Special notes for your reviewer**:

For now the config structs and validation are left as-is and
the LoginByToken method is used if the username value is PEM encoded.
In this case of username field configured with the public key, the password
field is expected to be configured with the private key.

In a follow-up PR we can look at collapsing the auth related fields into
a common struct to avoid duplication of field merging and validation.
And then add separate fields for the public and private keys.

**Release note**:

```release-note
vSphere Cloud Provider: add SAML token authentication support
```
2018-05-17 02:08:58 -07:00
Jordan Liggitt
6ab76041b7
Revert "Openstack: register metadata.hostname as node name"
This reverts commit eaac0f5489.
2018-05-15 22:49:21 -04:00
Jordan Liggitt
2f48ad3ff5
Revert "Split out the hostname when default dhcp_domain is used in nova.conf"
This reverts commit 9a8c6db448.
2018-05-15 22:47:02 -04:00
Jordan Liggitt
ccc3eb2c31
Revert "Specify DHCP domain for hostname"
This reverts commit da5ccf7fb7.
2018-05-15 22:46:53 -04:00
Doug MacEachern
0791fca5ee update bazel 2018-05-15 10:08:38 -07:00
Doug MacEachern
83768d286c vSphere Cloud Provider: add SAML token authentication support
For now the config structs and validation are left as-is and
the LoginByToken method is used if the username value is PEM encoded.
In this case of username field configured with the public key, the password
field is expected to be configured with the private key.

In a follow-up PR we can look at collapsing the auth related fields into
a common struct to avoid duplication of field merging and validation.
And then add separate fields for the public and private keys.

Fixes #63209
2018-05-15 10:06:56 -07:00
Kubernetes Submit Queue
f7ccaae269
Merge pull request #63686 from dougm/deprecate-photon
Automatic merge from submit-queue (batch tested with PRs 63686, 63736). 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>.

Deprecate photon cloud provider

vmware/photon-controller is no longer maintained, as of Oct 2017.

Adds a detail field to deprecatedCloudProviders, meant for pointing to external provider url or other reason for deprecation.



**What this PR does / why we need it**:

The photon cloud provider is no longer supported, need to let users know.

Photon controller support has already been removed from kube-up in PR #58096

**Release note**:

```release-note
NONE
```
2018-05-11 19:09:15 -07:00
Doug MacEachern
f8ac0c4d41 Deprecate photon cloud provider
vmware/photon-controller is no longer maintained, as of Oct 2017.

Adds a detail field to deprecatedCloudProviders, meant for pointing to external provider url or other reason for deprecation.
2018-05-11 13:18:05 -07:00
Davanum Srinivas
2080de6adc log error for os.NewComputeV2
Since we are returning false, we are kind of losing the error message,
so we should at least log it.
2018-05-11 13:39:18 -04:00
Kubernetes Submit Queue
7eb88f11d2
Merge pull request #59727 from wgliang/master.time
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>.

should use time.Since instead of time.Now().Sub

**What this PR does / why we need it**:
should use time.Since instead of time.Now().Sub

**Special notes for your reviewer**:
2018-05-10 20:29:40 -07:00
Nick Sardo
81a5fa431c Add Patch method to GA Backend Services 2018-05-10 12:45:21 -07:00
Kubernetes Submit Queue
d09cd75ea6
Merge pull request #58874 from sorenmat/sg_tag_verbose
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>.

Include more information when multiple security groups are tagged

**What this PR does / why we need it**:

When trying to create ELB we can sometime fail if there is more then one AWS
security group tagged. It very useful to get the list of security groups printed in
the error message.

**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
  Include the list of security groups when failing with the errors that more then one is tagged
```
2018-05-09 05:48:42 -07:00
Kubernetes Submit Queue
ce2bb3d77f
Merge pull request #63541 from feiskyer/vmss-ip
Automatic merge from submit-queue (batch tested with PRs 63563, 63541). 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>.

Do not check vmSetName when getting Azure node's IP

**What this PR does / why we need it**:

Do not check vmSetName when getting Azure node's IP.

**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 #63538

**Special notes for your reviewer**:

**Release note**:

```release-note
Do not check vmSetName when getting Azure node's IP
```
2018-05-08 23:48:16 -07:00
Pengfei Ni
d32e73aba9 Fix unit tests for new interfaces 2018-05-09 12:47:56 +08:00
Pengfei Ni
f427d279fe Do not check vmSetName when getting node IP 2018-05-09 12:47:52 +08:00
Kubernetes Submit Queue
a46ced041d
Merge pull request #63464 from dougm/vsphere-auth
Automatic merge from submit-queue (batch tested with PRs 63364, 63464). 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: use vim25.Client directly to support token authentication

**What this PR does / why we need it**:

This refactor is in support of SAML token authentication: #63209
Avoid use of govmomi.Client as it only supports username+password authentication via SessionManager.Login().
Using vim25.Client directly will allow VCP to add other authentication methods,
such as SessionManager.LoginByToken().

**Release note**:

```release-note
NONE
```
2018-05-08 18:36:14 -07:00
Kubernetes Submit Queue
b00d600b48
Merge pull request #63526 from djsly/fix-vmss-parsing
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>.

adding support for VM name with extra Separator String

**What this PR does / why we need it**:
Allows the Azure VM name to have within their name the `_` character

**Special notes for your reviewer**:
This is the error I got before testing
```
May 07 21:55:14 kn-infra000000.<domainname> kubelet[39465]: I0507 21:55:14.462125   39465 azure_vmss.go:108] getVmssVM gets scaleSetName ("kn-infra_ss") and instanceID ("0") for node "kn-infra000000"
May 07 21:55:14 kn-infra000000.<domainname> kubelet[39465]: E0507 21:55:14.462147   39465 azure_vmss_cache.go:52] Failed to extract vmssVMName "kn-infra_ss_0"
May 07 21:55:14 kn-infra000000.<domainname> kubelet[39465]: F0507 21:55:14.462160   39465 kubelet.go:1349] Kubelet failed to get node info: failed to get external ID from cloud provider: not a vmss instance
```

**Release note**:
```release-note
Azure VMSS: support VM names to contain the `_` character
```
2018-05-08 15:01:30 -07:00
sylvain.boily
a8de002952 adding support for VM name with extra Separator String 2018-05-08 06:36:04 -04:00
Davanum Srinivas
e30fe2ba4b Deprecate in-tree OpenStack cloud provider
Warn operators and users to switch to the external cloud provider
for openstack.
2018-05-07 21:53:15 -04:00
Doug MacEachern
cc1552c072 vsphere: update bazel 2018-05-07 08:50:31 -07:00
Doug MacEachern
e22f9ca4ae vsphere: fallback to vcsim for testing authentication
The TestVSphereLogin method still defaults to testing against a real vCenter,
but if the required environment variables are not set, it can test against vcsim.

More tests can be converted to use configFromEnvOrSim(), but can be in follow up PRs.
2018-05-07 08:50:31 -07:00
Doug MacEachern
e7f74d83c6 Rename VSphereConnection.GoVmomiClient -> Client 2018-05-07 08:50:31 -07:00
Doug MacEachern
64601373f1 vsphere: use vim25.Client directly to support token authentication
This refactor is in support of SAML token authentication: #63209
Avoid use of govmomi.Client as it only supports username+password authentication via SessionManager.Login().
Using vim25.Client directly will allow VCP to add other authentication methods,
such as SessionManager.LoginByToken().
2018-05-07 08:50:31 -07:00
Kubernetes Submit Queue
b976ebd56a
Merge pull request #63425 from feiskyer/azclient
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>.

Clean up Azure clients

**What this PR does / why we need it**:

Follow up of #63278 (Use new Azure SDK APIs for load balancer and public IP operations), clean up all other clients.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-05-07 01:08:45 -07:00
Pengfei Ni
05d0d35d32 fix fake clients and unit tests 2018-05-04 14:09:48 +08:00
Pengfei Ni
12c9d2736a use new azure clients 2018-05-04 14:09:33 +08:00
Pengfei Ni
7d9b134246 cleanup unnecessary channels in azure clients 2018-05-04 14:09:07 +08:00