Commit Graph

2911 Commits

Author SHA1 Message Date
Micah Hausler
949d5f97c4 Added kubernetes version to user-agent for AWS SDK calls 2018-12-20 21:04:44 -08:00
Kubernetes Prow Robot
e1552d8ef9
Merge pull request #70866 from feiskyer/backoff
Reduce Azure API calls by replacing the current backoff retry with SDK's backoff
2018-12-20 19:24:14 -08:00
ampsingram
86a8ede789 Add AWS Custom Endpoint capability #70588
Solves "Allow to override default AWS endpoint #70588"

Add several new properties to AWS CloudConfig to support custom endpoints.
Initialize/Parse on aws.go init() method which gets called when aws is loaded.
Allows overridden endpoints per servce and region. This allows functionality on air gapped networks.
This change is benign if services are not overridden in CloudConfig
2018-12-20 09:42:01 -05:00
Kubernetes Prow Robot
00ca6939cb
Merge pull request #72038 from bowei/change-gce-cloud-provider
Change gce cloud provider
2018-12-19 14:13:55 -08:00
Kubernetes Prow Robot
fccb19da9f
Merge pull request #71616 from Huang-Wei/aks-param-typo
fix an param typo of AKS loadbalancer method
2018-12-19 00:52:03 -08:00
Bowei Du
6ef9105978 Update Bazel 2018-12-18 10:28:02 -08:00
Bowei Du
83ba05a002 Change to use vendored k8s-cloud-provider base 2018-12-18 10:26:46 -08:00
Bowei Du
7f8dae1abc Removing cloud directory 2018-12-18 10:26:46 -08:00
andyzhangx
c12e82feb3 fix race condition when attach azure disk in vmss
fix gofmt issue
2018-12-17 03:16:33 +00:00
andyzhangx
7f3a66efb6 add VMSize info in attach/detach azure disk 2018-12-11 08:33:38 +00:00
Pengfei Ni
e5f767d66b
Revert "Collapse not shared NSG rules with multiple source ranges" 2018-12-10 14:10:03 +08:00
Pengfei Ni
8e9af79030 Fix Azure node's internal IP address
Only use the first IP address got from instance metadata. This is
because Azure CNI would setup a list of IP addresses in instance metata,
while only the first one is the Node's IP.
2018-12-05 15:02:12 +08:00
Kubernetes Prow Robot
7b16fa9c26
Merge pull request #71333 from cheftako/fakecp
Fixing address locking in CP fake.
2018-12-04 18:24:59 -08:00
Kubernetes Prow Robot
a605988d5d
Merge pull request #71597 from marc-sensenich/gh-71595/fix-cloud-controller-manager-azure-delete-nodes
Add check for cloudProvider.InstanceNotFound in Azure VMSS Instance gets
2018-12-04 05:25:59 -08:00
Kubernetes Prow Robot
85b0f58378
Merge pull request #71691 from andyzhangx/make-func-public
make GetStorageAccesskey func public
2018-12-04 04:12:30 -08:00
Kubernetes Prow Robot
d193fbe45c
Merge pull request #71484 from ritazh/nsg-srcrange-collapse
Collapse not shared NSG rules with multiple source ranges
2018-12-04 02:54:24 -08:00
andyzhangx
14ad73eaa8 make GetStorageAccesskey public as a lib 2018-12-04 07:02:50 +00:00
Pengfei Ni
3ef7ef8c6e Use refactored backoffs in other places 2018-12-04 11:23:01 +08:00
Pengfei Ni
994a2cc4cd Refactor Azure backoff to support backoff modes 2018-12-04 11:23:01 +08:00
Pengfei Ni
d5c3a959f4 Add new Azure cloud provider option CloudProviderBackoffMode 2018-12-04 11:22:58 +08:00
Rita Zhang
61fbba74e5 Collapse source range in nsg 2018-12-03 08:39:46 +00:00
Kubernetes Prow Robot
e056703ea7
Merge pull request #71547 from andrewsykim/check-provider-implements-interface
compile check to ensure cloud providers implement cloud interfaces
2018-11-30 23:40:18 -08:00
Wei Huang
f3dc0bc307
fix an param typo of AKS loadbalancer method 2018-11-30 12:18:45 -08:00
andrewsykim
4b0f2ab442 compile check to ensure cloud providers implement cloud interfaces 2018-11-30 10:33:34 -05:00
Marc Sensenich
884b21f352 Add additional err check for cloudProvider.InstanceNotFound error 2018-11-30 13:00:59 +00:00
k8s-ci-robot
2fd1949b7f
Merge pull request #71294 from Chenditang/verify-golint
Fix golint verify errors.
2018-11-29 21:45:02 -08:00
k8s-ci-robot
d2ca5194ae
Merge pull request #70432 from mvladev/fix-cloud-provider-aws
fix aws provider to handle only EBS volumes
2018-11-29 00:47:55 -08:00
k8s-ci-robot
69bab0de51
Merge pull request #68422 from kellycampbell/fix-nlb-secgroups
Fix AWS NLB security group updates
2018-11-28 21:44:48 -08:00
k8s-ci-robot
7a958cf9e9
Merge pull request #68402 from saravanan30erd/cloudprovider-ovirt
Fix golint failures - pkg/cloudprovider/providers/ovirt
2018-11-28 21:44:38 -08:00
andyzhangx
cd2930258c fix detch azure disk issue by clean vm cache 2018-11-28 06:25:09 +00:00
andyzhangx
7b14a5a2a0 should return error when attach/detach failed 2018-11-23 12:42:13 +00:00
Walter Fender
a49a4b9523 Fixing address locking in CP fake.
Follow on to https://github.com/kubernetes/kubernetes/pull/65226.
2018-11-21 17:17:59 -08:00
Andrew Garrett
7a8357554e
Merge branch 'master' into ssl-healthchecks 2018-11-21 16:33:33 -08:00
chendt.fnst
80de428f49 Fix golint verify errors.
**What type of PR is this?**
/kind cleanup

**What this PR does / why we need it**:
$ hack/verify-golint.sh
Errors from golint:
pkg/cloudprovider/providers/aws/aws_fakes.go:357:9: if block ends with a return statement, so drop this else and outdent its block
pkg/volume/util/util.go:204:9: if block ends with a return statement, so drop this else and outdent its block

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

**Special notes for your reviewer**:

**Release note**:
```
NONE
```
2018-11-21 09:11:20 +08:00
k8s-ci-robot
514a5b8f16
Merge pull request #70878 from jingxu97/Nov/repd
Remove useBetaAPI option from getReplicaZoneURI
2018-11-20 11:40:51 -08:00
Leah Hanson
255f056614 Support retrieving the VM UUID on Windows
Signed-off-by: Ben Moss <bmoss@pivotal.io>
2018-11-17 13:41:48 -05:00
saravanan30erd
14a9fa47c6 fix golint issues in ovirt 2018-11-12 16:04:26 +04:00
Fulton Byrne
996c37c72b Unit test for aws_lb security group filtering
kubernetes/kubernetes#60825
2018-11-11 06:42:13 -05:00
Kelly Campbell
f052146a96 Fix AWS NLB security group updates
This corrects a problem where valid security group ports were removed
unintentionally when updating a service or when node changes occur.

Fixes #60825, #64148
2018-11-11 06:42:13 -05:00
Davanum Srinivas
954996e231
Move from glog to klog
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
  * github.com/kubernetes/repo-infra
  * k8s.io/gengo/
  * k8s.io/kube-openapi/
  * github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods

Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135
2018-11-10 07:50:31 -05:00
Jing Xu
c5b5f64f3b Remove useBetaAPI option from getReplicaZoneURI
This is a follow up PR for #70716. Remove useBetaAPI option since
Regional PD is already GA.
2018-11-09 09:45:43 -08:00
k8s-ci-robot
8c2509de5b
Merge pull request #70716 from jingxu97/Nov/versionupdate
Move Regional PD to GA
2018-11-08 23:45:45 -08:00
Jing Xu
af9921f583 Move Regional PD to GA
This PR fixes #59988.
2018-11-07 10:33:38 -08:00
Davanum Srinivas
43f523d405
Switch to sigs.k8s.io/yaml from ghodss/yaml
Change-Id: Ic72b5131bf441d159012d67a6a3d87088d0e6d31
2018-11-07 13:17:32 -05:00
k8s-ci-robot
0f3dff251e
Merge pull request #70568 from andyzhangx/remove-retry-azuredisk
remove retry operation on attach/detach  azure disk
2018-11-02 21:28:31 -07:00
andyzhangx
8abadbe3a0 remove retry operation on attach/detach disk
fix logging

fix build failure
2018-11-02 08:47:49 +00:00
andyzhangx
1ee93b7de3 change UltraSSD default perf 2018-11-02 07:55:32 +00:00
k8s-ci-robot
45550cadbe
Merge pull request #70477 from andyzhangx/azure-ultrassd-sdk
add azure UltraSSD disk support
2018-11-01 22:16:55 -07:00
k8s-ci-robot
4351cea80c
Merge pull request #70046 from cheftako/lintCleanGce
Fixed lint errors for pkg/cloudprovider/providers/gce.
2018-11-01 13:44:06 -07:00
andyzhangx
f1bd292c76 add ultrassd support
update stagin Godeps.json

update godeps license

fix test failure

fix comments
2018-11-01 06:30:15 +00:00
k8s-ci-robot
dc23974148
Merge pull request #70463 from feiskyer/pip-safe-clean
Ensure orphan public IPs deleted
2018-10-31 10:32:27 -07:00
Pengfei Ni
9aeb005b85 Ensure orphan public IPs deleted 2018-10-31 19:37:28 +08:00
andyzhangx
d210b4bcf3 upgrade azure sdk to support ultra ssd
update Godeps.json

update azure sdk for ultrassd support

update bazel

fix build failure
2018-10-31 10:08:52 +00:00
Martin Vladev
3b0ddbf07e fix openstack provider to handle only Cinder volumes
When the cloud-controller-manager is running with PV label initializing controller
and NFS volume is created, it causes nill reference error.

related to #68996
2018-10-31 01:58:14 +02:00
k8s-ci-robot
101ba1f3b4
Merge pull request #67812 from renan/AWS_CreateVolumeWithTags
Combine creating a volume and applying tags in one operation
2018-10-30 14:59:44 -07:00
k8s-ci-robot
a49e4e128e
Merge pull request #69708 from mcrute/fix-aws-imports
Fix AWS volume and cloud provider import order
2018-10-30 13:44:50 -07:00
k8s-ci-robot
b62c0fded3
Merge pull request #68048 from AdamDang/patch-17
Correct some errors in returned message
2018-10-30 13:44:40 -07:00
Martin Vladev
fa80dd5354 fix aws provider to handle only EBS volumes
When the cloud-controller-manager is running with PV label initializing controller
and NFS volume is created, it causes nill reference error.

fixes #68996
2018-10-30 21:07:45 +02:00
Mike Crute
49df100af9 fix AWS volume and cloud provider import order 2018-10-30 08:18:45 -07:00
AdamDang
dc2c003457 Correct some errors in returned message
Update stateful_set.go

Update azure_vmss.go

Update azure_vmss.go

Update disruption.go

Update stateful_set.go
2018-10-30 09:53:02 +08:00
Cheng Pan
6013bad90f Remove unused code in aws cloud provider 2018-10-29 20:30:38 +00:00
walter
735ad9ed63 Fixed lint errors for pkg/cloudprovider/providers/gce.
Fixed minor issues.
Cleaned up from merge errors.
2018-10-29 11:52:24 -07:00
k8s-ci-robot
a8934ff6fb
Merge pull request #70353 from feiskyer/metadata-cache
Improve Azure instance metadata handling
2018-10-29 10:53:00 -07:00
k8s-ci-robot
660794fc83
Merge pull request #70155 from pahud/patch-1
Update regions.go
2018-10-29 10:52:50 -07:00
Pengfei Ni
3cea6dc954 Improve Azure instance metadata handling 2018-10-29 13:05:03 +08:00
Andrew Garrett
14565f05d6 Use SSL/HTTPS health checks for ELBs when backend protocol is SSL/HTTPS
Fixes #45746
2018-10-26 22:09:58 +00:00
k8s-ci-robot
7147138994
Merge pull request #70252 from nckturner/add-regions
Add regions ap-northeast-3 and eu-west-3 to AWS cloud provider
2018-10-26 06:57:38 -07:00
k8s-ci-robot
ebace7718a
Merge pull request #70099 from grayluck/five-sec-hc
Change GCE LB health check interval from 2s to 8s
2018-10-25 14:03:07 -07:00
Nick Turner
e30718f139 Add regions ap-northeast-3 and eu-west-3 2018-10-25 11:55:21 -07:00
yankaiz
40ab479f06 Change GCE LB health check interval from 2s to 8s, unhealthyThreashold to 3
Force ELB to ensureHealthCheck when target pool exists.

Add e2e test to ensure that HC interval will be reconciled when
kube-controller-manager restarts.

Health checks with bigger thresholds and larger intervals will not be reconciled.

Add unittest for ILB and ELB to ensure HC reconciles and is configurable.
2018-10-24 17:55:26 -07:00
Pahud Hsieh
e5bb62e97d
Update regions.go
add cn-northwest-1 for AWS China Ningxia region
https://docs.aws.amazon.com/en_us/general/latest/gr/rande.html
2018-10-24 10:02:08 +08:00
Marc Sensenich
0bcbfca9cd Correct regexp check in IsNodeUnmanagedByProvider
The IsNodeUnmanagedByProviderID function in the Azure Cloud Provider should
return the inverse of regexp.Match in the case of checking the ProviderID
2018-10-23 16:26:00 +00:00
andrewsykim
3521ebd1e7 pass in stopCh for GCE cluster ID controller 2018-10-19 17:51:58 -04:00
andrewsykim
2908174517 pass in stopCh to cloud provider Initialize method for custom controllers 2018-10-19 17:51:58 -04:00
andyzhangx
79a5bb6216 add more logging for azure disk diagnostics 2018-10-19 08:11:49 +00:00
k8s-ci-robot
3d4cc707a2
Merge pull request #69454 from zetaab/fix_aws_node_delete
delete node from aws if it is terminated
2018-10-19 00:10:22 -07:00
k8s-ci-robot
b5c25728ec
Merge pull request #69718 from andyzhangx/azurefile-premium
support Azure premium file for azure file plugin
2018-10-18 05:18:50 -07:00
k8s-ci-robot
1669277bb3
Merge pull request #68350 from wgliang/fixbug/recursive-call-cloudprovider
fix bug, infinite recursive call of GetLoadBalancerName()
2018-10-17 11:56:51 -07:00
Renan Gonçalves
5cd3c00dba
Combine creating a volume and applying tags in one operation
The previous version forced us to create AWS IAM Policies that are too
permissive when dealing with volumes. That's because:

1. Volumes were created without tags that identifies the new resource as
managed by the cluster. So technically the resourse, at creation time,
is not owned by the cluster.

2. Tags were added to the volume making the resource now managed by the
cluster. The problem being that it could make ANY volume as managed by the
cluster. Thus allowing resources that aren't really part of the cluster,
or part of no cluster at all, to become a resource managed by the cluster.

By combining the operations we can both make the code simpler, since we
don't need to deal with deleting a volume in case we can't apply tags to
it, plus the security model gets a nice improvement.
2018-10-17 11:14:01 +02:00
Jesse Haka
5ff99a2a58 delete node from aws if it is terminated
fix comment
2018-10-17 10:11:09 +03:00
andyzhangx
bc2c79a43a add azure premium file support
update bazel and fix goftm

use defaultStorageAccountKind

fix test failure

update godep license file

fix staging godeps issue

update staging godeps

fix comments, use one API call for file creation
2018-10-17 03:27:29 +00:00
k8s-ci-robot
5a0220a6d8
Merge pull request #69387 from mcrute/master
fix golint for pkg/cloudprovider/providers/aws
2018-10-16 17:53:02 -07:00
k8s-ci-robot
02cca1f11a
Merge pull request #69711 from wgliang/cleanup/rename-recognize-region
AWS: unexport unnecessarily exported methods and variables about reco…
2018-10-14 13:30:20 -07:00
k8s-ci-robot
308c2b3877
Merge pull request #69660 from cheftako/perms
Adding cheftako as approver for gce.
2018-10-14 10:44:09 -07:00
Guoliang Wang
31c7eac2c4 fix bug, infinite recursive call of GetLoadBalancerName() 2018-10-13 08:47:12 +08:00
Guoliang Wang
a9beb4f932 AWS: unexport unnecessarily exported methods and variables about recognize region 2018-10-12 07:24:59 +08:00
Mike Crute
432a6346c1 rename AWS CP TestParseInstance 2018-10-11 15:44:28 -07:00
walter
88593b0175 Adding cheftako as approver for gce.
Lead on sig cloud-provider.
Also providing support for gce cloud provider.
2018-10-11 00:19:40 -07:00
k8s-ci-robot
43d61f42f1
Merge pull request #69187 from SandeepPissay/addOwner
Adding myself as OWNER for vSphere Cloud Provider.
2018-10-10 20:24:37 -07:00
Walter Fender
8b3099ced7 Differentiate multizone zonal from Regional Cluster.
Fixed go format and unit test.
Collapse lines.
Switched to using regional throughout and added warning for HA Zonal.
2018-10-09 11:28:22 -07:00
andyzhangx
12284c9817 upgrade azure go sdk for azure file premium support
update azure sdk for azure file premium support

update azure sdk to support azure file premium

update bazel
2018-10-09 13:28:51 +00:00
Mike Crute
4d65f20ff6 fix golint for pkg/cloudprovider/providers/aws 2018-10-08 12:08:56 -07:00
k8s-ci-robot
0f17e9ade6
Merge pull request #69386 from cblecker/go-1.11
Update to go1.11.1
2018-10-05 17:35:51 -07:00
k8s-ci-robot
13705ac81e
Merge pull request #68310 from cheftako/cpiMove
Moving the cloudprovider interface to staging.
2018-10-05 13:29:01 -07:00
Christoph Blecker
97b2992dc1
Update gofmt for go1.11 2018-10-05 12:59:38 -07:00
Walter Fender
f3f46d5f5a Moving the cloudprovider interface to staging.
Individual implementations are not yet being moved.
Fixed all dependencies which call the interface.
Fixed golint exceptions to reflect the move.
Added project info as per @dims and
https://github.com/kubernetes/kubernetes-template-project.
Added dims to the security contacts.
Fixed minor issues.
Added missing template files.
Copied ControllerClientBuilder interface to cp.
This allows us to break the only dependency on K8s/K8s.
Added TODO to ControllerClientBuilder.
Fixed GoDeps.
Factored in feedback from JustinSB.
2018-10-04 14:41:20 -07:00
Mike Crute
076dbc6fd6 [aws] allow true/false in lb annotations 2018-10-04 12:19:32 -07:00
Bowei Du
61b6079d58 Update OWNERS files for GCE-related components 2018-10-03 10:52:43 -07:00
k8s-ci-robot
a372a9fcd6
Merge pull request #68264 from tanshanshan/fmt-0905
remove unused format log print
2018-10-03 08:09:54 -07:00
k8s-ci-robot
1ce5f67af0
Merge pull request #62774 from Raffo/bugfix/aws-custom-elb-sg
Fixes #49445 by not adding the default SG when using SG annotation (AWS)
2018-10-01 15:51:13 -07:00
k8s-ci-robot
042139d8c9
Merge pull request #64452 from wgliang/master.remove-cloudprovider
cleanup some dead cloudprovider code
2018-09-30 23:24:31 -07:00
k8s-ci-robot
4b12761c8a
Merge pull request #69171 from andrewsykim/deprecate-all-the-providers
add deprecation warnings for all cloud providers
2018-09-28 17:48:18 -07:00
andrewsykim
9468521fdc add deprecation warnings for all cloud providers 2018-09-28 14:50:32 -04:00
SandeepPissay
a2debeef7e Adding myself as OWNER for vSphere Cloud Provider. And removing few users who are not owners. 2018-09-27 16:47:00 -07:00
k8s-ci-robot
7b9f6df068
Merge pull request #69163 from MrHohn/gce-cloud-beta-ds-mock
Add mock for UpdateBetaBackendService
2018-09-27 15:53:46 -07:00
k8s-ci-robot
58102b7517
Merge pull request #69077 from feiskyer/az-ip
Add fallbacks for getting node IP from Azure IMDS
2018-09-27 11:07:46 -07:00
Zihong Zheng
c9c39eef9c Add mock for UpdateBetaBackendService 2018-09-27 10:57:26 -07:00
k8s-ci-robot
f0311b52b3
Merge pull request #69042 from rramkumar1/fake-gce-1
Expose public function to init fake GCECloud + add common hooks
2018-09-27 07:18:22 -07:00
k8s-ci-robot
25607dea8c
Merge pull request #69027 from vainu-arto/aws-add-has-cluster-tags-tests
AWS: Add tests for awsTagging.hasClusterTag
2018-09-27 06:06:58 -07:00
k8s-ci-robot
3fe21e5433
Merge pull request #68922 from BenTheElder/version-staging
move pkg/util/version to staging
2018-09-26 22:59:42 -07:00
Arto Jantunen
986faed326 AWS: Add tests for awsTagging.hasClusterTag
Among other things these tests verify the fix for issue #64230.
2018-09-26 16:12:33 +03:00
Pengfei Ni
3bca7a0136 Add fallbacks for getting node IP from Azure IMDS 2018-09-26 13:18:10 +08:00
Walter Fender
47bfaa3aba Added support for regional calls to GetClusters
Fixed issues from lavalamp and verification.
Added todo.
Fixed import sections.
2018-09-25 15:36:04 -07:00
Rohit Ramkumar
8872f9465f Expose public function to init fake GCECloud + add common hooks 2018-09-25 15:13:26 -07:00
k8s-ci-robot
80db5eb641
Merge pull request #68465 from WanLinghao/unused_function_clean
clean unused function
2018-09-25 12:15:53 -07:00
Arto Jantunen
e952c12dfe AWS: Add a simple test for "shared" tag
For some reason this wasn't done in 0b5ae5391e.
2018-09-25 11:13:30 +03:00
Pengfei Ni
f8b2781f4f Add unit tests for getting vmss node IP 2018-09-25 11:22:52 +08:00
Pengfei Ni
303af63ec9 Get public IP for Azure vmss nodes
This is required for getting public IP when --public-ip-per-vm
(publicIpAddressConfiguration) is enabled for vmss.
2018-09-25 11:22:47 +08:00
Benjamin Elder
8b56eb8588 hack/update-gofmt.sh 2018-09-24 12:21:29 -07:00
Benjamin Elder
f828c6f662 hack/update-bazel.sh 2018-09-24 12:03:24 -07:00
Benjamin Elder
088cf3c37b find & replace version import 2018-09-24 12:03:24 -07:00
k8s-ci-robot
7ffaa2f713
Merge pull request #68388 from wgliang/fixbug/defer-in-loop
fix bug that defer in infinite loop
2018-09-23 19:27:03 -07:00
Pengfei Ni
83e64dd6d0 Add unit tests for InstanceShutdownByProviderID 2018-09-21 12:55:11 +08:00
Pengfei Ni
67069cc1e8 Fix nodes power state on Azure 2018-09-21 12:55:08 +08:00
Guoliang Wang
05aeea12ce fix bug that defer in infinite loop 2018-09-18 15:45:43 +08:00
Pengfei Ni
de9c127c94 Add events for azure-cloud-provider
When errors occur on azure cloud provider, events now are added so that users
could easily find the underground errors on Azure API.
2018-09-14 10:41:19 +08:00
Pengfei Ni
db470d37a4 Fix potential panic when getting azure load balancer status
The IP address and security group rules may be nil when the resources
are updating or deleting. Hence nil pointer deference may be happened
then.
2018-09-13 15:41:12 +08:00
Kubernetes Submit Queue
ba33abd528
Merge pull request #68236 from andrewsykim/cloud-provider-updates
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

update cloud provider deprecation notice

**What this PR does / why we need it**:
Updates cloud provider deprecation warning to clearly outline intentions set by sig 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 # https://github.com/kubernetes/kubernetes/issues/68234

**Special notes for your reviewer**:
also removed some extra white spaces

```release-note
NONE
```

/sig cloud-provider
cc @tpepper
2018-09-10 09:11:42 -07:00
WanLinghao
1ad93ca301 clean unused function in file pkg/cloudprovider/providers/gce/gce_loadbalancer.go 2018-09-10 19:07:52 +08:00
Kubernetes Submit Queue
8d1127cb41
Merge pull request #68199 from dims/deprecate-more-cloud-providers
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Deprecate cloudstack and ovirt controller projects

Change-Id: Icca9142940269ad1cd28f1f3491684a1bc626c55



**What this PR does / why we need it**:
Do we have folks invested in these providers trying to work on the external controllers for these providers? Is there a future for these providers? If not can we deprecate and eventually remove them?

**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**:
cc @ngtuna @sebgoa @svanharmelen (for cloudstack)
cc @simon3z 

**Release note**:

```release-note
Deprecate cloudstack and ovirt controllers
```
2018-09-08 18:28:35 -07:00
Kubernetes Submit Queue
10bde5090b
Merge pull request #68033 from yastij/instanceShutdown-azure
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

implement InstanceShutdownByProviderID for azure

**What this PR does / why we need it**: implements #66265

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

**Special notes for your reviewer**:

**Release note**:

```release-note
Support NodeShutdown taint for azure
```
2018-09-08 10:43:34 -07:00
Yassine TIJANI
0048b0e8b7 implement InstanceShutdownByProviderID for azure 2018-09-07 21:11:15 +02:00
tanshanshan
f6da98c54f remove unused format log print 2018-09-05 11:23:51 +08:00
Kubernetes Submit Queue
4b4e1bec69
Merge pull request #67736 from cheftako/GetClusters
Automatic merge from submit-queue (batch tested with PRs 67736, 68123, 68138). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Added support to get clusters in gce cloud provider.

**What this PR does / why we need it**:
Implemented the call to get all cluster objects in a zone for a project.
Also added code to allow the container api to be set in the gce.conf
file.

**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-09-04 12:51:32 -07:00
andrewsykim
52bfbd45ae update cloud provider deprecation notice 2018-09-04 13:08:03 -04:00
Kubernetes Submit Queue
217a7f4059
Merge pull request #68210 from feiskyer/az-panic
Automatic merge from submit-queue (batch tested with PRs 67986, 68210, 67817). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Fix panic when processing http response

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

When Azure ARM API gets something wrong, kube-controller-manager may panic because of azure cloud provider:

```
/usr/local/go/src/runtime/asm_amd64.s:2361
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x1d4cad9]

goroutine 1386 [running]:
k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/runtime.HandleCrash(0x0, 0x0, 0x0)
	/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:58 +0x107
panic(0x44468c0, 0x8b76a30)
	/usr/local/go/src/runtime/panic.go:502 +0x229
k8s.io/kubernetes/pkg/cloudprovider/providers/azure.processHTTPRetryResponse(0x0, 0x64ffec0, 0xc4229fd1f0, 0xc422ed05b0, 0x2, 0x2)
	/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/pkg/cloudprovider/providers/azure/azure_backoff.go:364 +0x69
k8s.io/kubernetes/pkg/cloudprovider/providers/azure.(*Cloud).CreateOrUpdatePIPWithRetry.func1(0xc422ed0600, 0x0, 0x0)
	/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/pkg/cloudprovider/providers/azure/azure_backoff.go:205 +0x298
```

This PR fixes that.

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

**Special notes for your reviewer**:

Should cherry pick to old releases.

**Release note**:

```release-note
Fix panic when processing Azure HTTP response.
```
2018-09-04 04:19:33 -07:00
Kubernetes Submit Queue
771bb86fa1
Merge pull request #67986 from andyzhangx/azure-lb-mixed-proto
Automatic merge from submit-queue (batch tested with PRs 67986, 68210, 67817). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

add mixed protocol support for azure load balancer

**What this PR does / why we need it**:
If user specify `service.beta.kubernetes.io/azure-load-balancer-mixed-protocols: "true"`, azure cloud provider will create both TCP and UDP lb rules, for more details, could refer to https://github.com/kubernetes/kubernetes/issues/66887

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

**Special notes for your reviewer**:
original `reconcileLoadBalancer` func is too big, I move part of code implementation to a standalone func `createLoadBalancerRule`

example service config:
```
apiVersion: v1
kind: Service
metadata:
  annotations:
    service.beta.kubernetes.io/azure-load-balancer-mixed-protocols: "true"
  name: web
  namespace: default
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: web
  sessionAffinity: None
  type: LoadBalancer
```

**Release note**:

```
add mixed protocol support for azure load balancer
```

/kind feature
/sig azure
/assign @feiskyer @khenidak
2018-09-04 04:19:30 -07:00
Pengfei Ni
071eb9f6bf Fix panic when processing http response 2018-09-04 14:26:19 +08:00
Davanum Srinivas
1ca80d3b32
Deprecate cloudstack and ovirt controller projects
Change-Id: Icca9142940269ad1cd28f1f3491684a1bc626c55
2018-09-03 18:44:04 -04:00
Eunsoo Park
da5618e66b Fixup openstack cloud provider loadbalancer deletion error
This change enables ```getLoadBalancer``` to return the loadbalancer even if no floating ip is associated to the VIP port of the loadbalancer.

Signed-off-by: Eunsoo Park <esevan.park@gmail.com>
2018-09-03 16:25:11 +09:00
Kubernetes Submit Queue
1ad28be4a0
Merge pull request #68017 from figo/node-status
Automatic merge from submit-queue (batch tested with PRs 65566, 67959, 68029, 68017, 67263). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

add test to verify vsphere cloud provider report node hostname

**What this PR does / why we need it**:
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,  
but it did double error type translation with a retry() logic,  
after removing the retry() (which is not necessary), the logic is simpler, and easier to understand how double translation happened, after the fix,
test TestInstance() can pass


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


**Special notes for your reviewer**:
as in the process of create pull to fix https://github.com/crosscloudci/crosscloudci/issues/65#,
i saw #67922 already merged, so this pull is just to submit the test part.

**Release note**:

```release-note
none
```


/cc @abrarshivani @BaluDontu @divyenpatel @imkin @kerneltime @luomiao @frapposelli @dougm @liggitt
/sig cloudprovider
2018-09-02 13:53:31 -07:00
Kubernetes Submit Queue
ba781540e0
Merge pull request #66835 from sjenning/aws-exist-check
Automatic merge from submit-queue (batch tested with PRs 67571, 67284, 66835, 68096, 68152). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

cloudprovider: aws: return true on existence check for stopped instances

xref https://bugzilla.redhat.com/show_bug.cgi?id=1559271
xref https://github.com/openshift/origin/issues/19899

background https://github.com/kubernetes/kubernetes/pull/45986#issuecomment-386332055

Basically our customers are hitting this issue where the Node resource is deleted when the AWS instances stop (not terminate).  If the instances restart, the Nodes lose any labeling/taints.

Openstack cloudprovider already made this change https://github.com/kubernetes/kubernetes/pull/59931

fixes https://github.com/kubernetes/kubernetes/issues/45118 for AWS

**Reviewer note**: valid AWS instance states are `pending | running | shutting-down | terminated | stopping | stopped`.  There might be a case for returning `false` for instances in `pending` and/or `terminated` state.  Discuss!

`InstanceID()` changes from https://github.com/kubernetes/kubernetes/pull/45986 credit @rrati 

@derekwaynecarr @smarterclayton @liggitt @justinsb @jsafrane @countspongebob
2018-08-31 20:41:40 -07:00
Seth Jennings
bbd643fb8a cloudprovider: aws: return true on existence check for stopped instances 2018-08-31 14:25:35 -05:00
andyzhangx
4e3b4a7f6a support cross resource group for azure file
fix test failure
2018-08-31 08:11:07 +00:00
Kubernetes Submit Queue
cfdefff3a9
Merge pull request #59930 from zetaab/shutdoaw
Automatic merge from submit-queue (batch tested with PRs 67368, 59930, 68074). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

implement InstanceShutdownByProviderID to aws cloudprovider

**What this PR does / why we need it**: implement InstanceShutdownByProviderID to aws cloudprovider

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

**Special notes for your reviewer**:

**Release note**:
```release-note
NONE
```
2018-08-30 12:40:32 -07:00
andyzhangx
815d4ba740 add mixed protocol support for azure load balancer
add logging

fix lb issue

fix comments

make code more clean
2018-08-30 08:42:17 +00:00
Jesse Haka
a68cbd65b7 implement InstanceShutdownByProviderID to aws cloudprovider
changes according what was asked

use string

do not delete instance if it is in any other state than running

use constants

fix
2018-08-30 08:51:26 +03:00
Kubernetes Submit Queue
8aea674681
Merge pull request #67984 from feiskyer/on-prem
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Add support for unmanaged nodes for Azure cloud provider

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

Continue of [Azure cross resource groups feature](https://github.com/kubernetes/features/issues/604).

This PR adds support for unmanaged nodes (such as on-prem or on other clouds) that are labeled with `alpha.service-controller.kubernetes.io/exclude-balancer=true` and `kubernetes.azure.com/managed=false`. Azure cloud provider would exclude such nodes from LoadBalancer backends and always assumes they are existing.

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

See KEP [here](https://github.com/kubernetes/community/blob/master/keps/sig-azure/0025-20180809-cross-resource-group-nodes.md).

**Special notes for your reviewer**:

Azure cloud provider won't provision network routes for on-prem nodes, so cluster admins should ensure the network (including pod-to-pod, pod-to-node and node-to-node connectivity) has been set up properly.

**Release note**:

```release-note
Azure cloud provider now supports unmanaged nodes (such as on-prem) that are labeled with `kubernetes.azure.com/managed=false` and `alpha.service-controller.kubernetes.io/exclude-balancer=true`
```

/assign @khenidak @andyzhangx
/sig azure
/kind feature
/milestone v1.12
2018-08-29 21:41:54 -07:00
Kubernetes Submit Queue
e41d9f1553
Merge pull request #67982 from zetaab/isshut
Automatic merge from submit-queue (batch tested with PRs 66577, 67948, 68001, 67982). If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

implement InstanceShutdownByProviderID to openstack

**What this PR does / why we need it**: without this openstack cannot get shutdown taint when instance is shutdown (original pr where this feature was added https://github.com/kubernetes/kubernetes/pull/60009)

**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
Openstack supports now node shutdown taint. Taint is added when instance is shutdown in openstack.
```
2018-08-29 16:33:40 -07:00
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
Jesse Haka
66b0ac4f57 implement InstanceShutdownByProviderID
return error if instance does not exist

do not export instanceshutoff
2018-08-29 14:35:20 +03:00
Jesse Haka
c4ff3d0593 remove : 2018-08-29 14:28:07 +03:00
Jesse Haka
7062cd5700 backport https://github.com/kubernetes/cloud-provider-openstack/pull/43 2018-08-29 14:22:53 +03:00
Pengfei Ni
9bbd5043ea Add unit tests 2018-08-29 15:02:56 +08:00
Pengfei Ni
919058b315 Compose routes for on-prem nodes
Compose faked routes for unmanaged nodes so that node controller would
assume the routes for them have already been created.
2018-08-29 14:28:30 +08:00
Pengfei Ni
19d7d85a67 Add on-prem nodes support to Azure cloud provider
On-prem nodes should register themselves with required labels, e.g.

kubelet --node-labels=alpha.service-controller.kubernetes.io/exclude-balancer=true,kubernetes.azure.com/managed=false ...
2018-08-29 14:27:24 +08:00
Kubernetes Submit Queue
113872798d
Merge pull request #67922 from liggitt/vsphere-hostname
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions here: https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md.

Report Hostname node address for vsphere

xref https://github.com/kubernetes/kubernetes/issues/67714

```release-note
NONE
```
2018-08-28 20:28:32 -07:00
Kubernetes Submit Queue
2eb14e3007
Merge pull request #64973 from nokia/k8s-sctp
Automatic merge from submit-queue (batch tested with PRs 67694, 64973, 67902). 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>.

SCTP support implementation for Kubernetes

**What this PR does / why we need it**: This PR adds SCTP support to Kubernetes, including Service, Endpoint, and NetworkPolicy.

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

**Special notes for your reviewer**:

**Release note**:

```release-note

SCTP is now supported as additional protocol (alpha) alongside TCP and UDP in Pod, Service, Endpoint, and NetworkPolicy.  

```
2018-08-28 07:21:18 -07:00
Jordan Liggitt
722e0bca2e
Report Hostname node address for vsphere 2018-08-27 23:32:09 -04:00
Yang Guo
8b6b81c7c9 GCE: Add ListLocations to Cloud TPU API 2018-08-27 16:56:18 -07:00
Kubernetes Submit Queue
5299470152
Merge pull request #67719 from liggitt/cloudstack-hostname
Automatic merge from submit-queue (batch tested with PRs 67447, 67719). 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>.

Report cloudstack hostname address

Cloud providers are now authoritative for the addresses reported by the kubelet. Cloud providers that have hostname information available via metadata should report it for use by the apiserver

```release-note
The cloudstack cloud provider now reports a `Hostname` address type for nodes based on the `local-hostname` metadata key.
```
2018-08-27 12:20:06 -07:00
Kubernetes Submit Queue
d661a83b06
Merge pull request #67787 from dougm/vcp-zones
Automatic merge from submit-queue (batch tested with PRs 54935, 67768, 67896, 67787). 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: support zone tags at any level in the hierarchy

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

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

Example log output from the tests, with tags attached at host level:
```console
Found "k8s-region" tag (k8s-region-US) for e85df495-93b9-4b0e-96f1-dc9d56e97263 attached to HostSystem:host-19
Found "k8s-zone" tag (k8s-zone-US-CA1) for e85df495-93b9-4b0e-96f1-dc9d56e97263 attached to HostSystem:host-19
```
And region tag at Datacenter level and zone tag at Cluster level:
```console
Found "k8s-zone" tag (k8s-zone-US-CA1) for e85df495-93b9-4b0e-96f1-dc9d56e97263 attached to ComputeResource:computeresource-21
Found "k8s-region" tag (k8s-region-US) for e85df495-93b9-4b0e-96f1-dc9d56e97263 attached to Datacenter:datacenter-2
```

**Release note**:

```release-note
NONE
```
2018-08-27 10:53:24 -07:00
Kubernetes Submit Queue
91e37eeb92
Merge pull request #67772 from andyzhangx/azuredisk-volumelimits2
Automatic merge from submit-queue (batch tested with PRs 67766, 67642, 67772). 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>.

Enable dynamic azure disk volume limits

**What this PR does / why we need it**:
Enable dynamic azure disk volume limits,
This is an azure cloud provider implementation related to feature: [Dynamic Maximum volume count](https://github.com/kubernetes/features/issues/554)

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

**Special notes for your reviewer**:
This PR use `az.VirtualMachineSizesClient.List` to list all vm sizes under region, match vm size with current node size, and then got `MaxDataDiskCount`, the `GetVolumeLimits` happens in kubelet and will return `attachable-volumes-azure-disk` in node status as following example:
```
agentpool-22082114-0
    ...
    allocatable:
      attachable-volumes-azure-disk: "8"
      cpu: "2"
      ephemeral-storage: "28043041951"
      hugepages-1Gi: "0"
      hugepages-2Mi: "0"
      memory: 7034772Ki
      pods: "30"
```

**Release note**:

```
Enable dynamic azure disk volume limits
```

/sig azure
/kind feature
2018-08-27 06:14:17 -07:00
Kubernetes Submit Queue
a431feb24e
Merge pull request #66322 from tanshanshan/fixunused
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>.

ignore unused variable

**What this PR does / why we need it**:
ignore unused variable 

unused err
162655f42f/pkg/cloudprovider/providers/openstack/openstack_routes_test.go (L89)

and
unused instanceId
162655f42f/pkg/cloudprovider/providers/photon/photon_test.go (L143)

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


**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-08-27 02:48:52 -07:00
Laszlo Janosi
cbe94df8c6 gofmt update 2018-08-27 05:59:50 +00:00
Laszlo Janosi
a6da2b1472 K8s SCTP support implementation for the first pull request
The requested Service Protocol is checked against the supported protocols of GCE Internal LB. The supported protocols are TCP and UDP.

SCTP is not supported by OpenStack LBaaS. If SCTP is requested in a Service with type=LoadBalancer, the request is rejected. Comment style is also corrected.

SCTP is not allowed for LoadBalancer Service and for HostPort. Kube-proxy can be configured not to start listening on the host port for SCTP: see the new SCTPUserSpaceNode parameter

changed the vendor github.com/nokia/sctp to github.com/ishidawataru/sctp. I.e. from now on we use the upstream version.

netexec.go compilation fixed. Various test cases fixed

SCTP related conformance tests removed. Netexec's pod definition and Dockerfile are updated to expose the new SCTP port(8082)

SCTP related e2e test cases are removed as the e2e test systems do not support SCTP

sctp related firewall config is removed from cluster/gce/util.sh. Variable name sctp_addr is corrected to sctpAddr in pkg/proxy/ipvs/proxier.go

cluster/gce/util.sh is copied from master
2018-08-27 05:56:27 +00:00
andyzhangx
dd63d407a4 Enable dynamic azure disk volume limits
use API to get max disk num

use continue when got exception

add logging

add cache and unit test

fix comments
2018-08-27 02:41:45 +00:00
Walter Fender
c0b7c42461 Added support to get clusters in gce cloud provider.
Implemented the call to get all cluster objects in a zone for a project.
Also added code to allow the container api to be set in the gce.conf
file.
Requested fix for @lavalamp. Fixed GetClusters to be GetManagedClusters.
Leaving ListClusters as ListClusters as it is part of the Cloud Clusters
interface, despite also being a "managed" call.
Remove copy pasta :D
Fixed method variable name.
2018-08-24 13:41:45 -07:00
Jordan Liggitt
7078bfed58
Report cloudstack hostname address 2018-08-24 00:10:38 -04:00
Raffaele Di Fazio
b1cb64952a Fixes #49445 by introducing a new annotation to attach SG to ELB. 2018-08-24 05:03:27 +02: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
Kubernetes Submit Queue
d68e1fc9d6
Merge pull request #67748 from FengyunPan2/report-hostname
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>.

Make OpenStack cloud provider report a node hostname address

Related to: #67714
Cloud-provider-reported addresses are authoritative in 1.12, this
preserves default behavior that used the internal dns name as
the "Hostname" address on Node status.

**Release note**:

```release-note
The OpenStack cloud provider now reports a `Hostname` address type for nodes
```
2018-08-23 09:15:41 -07:00
Kubernetes Submit Queue
f15fe93384
Merge pull request #67715 from liggitt/aws-hostname
Automatic merge from submit-queue (batch tested with PRs 66980, 67604, 67741, 67715). 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>.

Make aws cloud provider report a node hostname address

Cloud-provider-reported addresses are authoritative in 1.12, this preserves default behavior that used the internal dns name as the "Hostname" address on Node status

/sig aws
/sig cloud-provider

```release-note
The aws cloud provider now reports a `Hostname` address type for nodes based on the `local-hostname` metadata key.
```
2018-08-23 03:14:14 -07:00
Kubernetes Submit Queue
e991f4723c
Merge pull request #67741 from dougm/vcp-zones
Automatic merge from submit-queue (batch tested with PRs 66980, 67604, 67741, 67715). 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: add tests for Cloud Provider Zones implementation

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

- 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

**Release note**:

```release-note
NONE
```
2018-08-23 03:14:11 -07:00
Kubernetes Submit Queue
82924e71cd
Merge pull request #67604 from feiskyer/cross-rg-nodes
Automatic merge from submit-queue (batch tested with PRs 66980, 67604, 67741, 67715). 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 support of Azure cross resource group nodes

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

Part of feature [Cross resource group nodes](https://github.com/kubernetes/features/issues/604).

This PR adds support of Azure cross resource group nodes that are labeled with `kubernetes.azure.com/resource-group=<rg-name>` and `alpha.service-controller.kubernetes.io/exclude-balancer=true`

**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**:

See designs [here](https://github.com/kubernetes/community/pull/2479).

**Release note**:

```release-note
Azure cloud provider now supports cross resource group nodes that are labeled with `kubernetes.azure.com/resource-group=<rg-name>` and `alpha.service-controller.kubernetes.io/exclude-balancer=true`
```

/sig azure
/kind feature
2018-08-23 03:14:07 -07:00
Kubernetes Submit Queue
78fc9bfd40
Merge pull request #67478 from feiskyer/zone-fix
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>.

 Reduce API calls for Azure instance metadata

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

Azure cloud provider gets a lot of `"Too many requests"` error when getting availability zones, instance types and node addresses. Hence kubelet won't be able to initialize itself sometimes.

This PR reduces such calls and alos switches to json API which is more stable.

**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 https://github.com/Azure/acs-engine/issues/3681

**Special notes for your reviewer**:

**Release note**:

```release-note
Reduce API calls for Azure instance metadata.
```

cc @ritazh @khenidak @andyzhangx
2018-08-23 01:26:29 -07:00
FengyunPan2
641693ad05 Make OpenStack cloud provider report a node hostname address
Related to: #67714
Cloud-provider-reported addresses are authoritative in 1.12, this
preserves default behavior that used the internal dns name as
the "Hostname" address on Node status.
2018-08-23 13:20:47 +08:00
Pengfei Ni
5b5101b563 Add unit tests for GetNodeResourceGroup and GetResourceGroups 2018-08-23 10:38:40 +08: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
Kubernetes Submit Queue
70e7a7d189
Merge pull request #63512 from awly/gce-provider-dns-names
Automatic merge from submit-queue (batch tested with PRs 66973, 67704, 67722, 67723, 63512). 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>.

Populate internal DNS names in GCE provider

Both VM name and hostname are internally routable.

**What this PR does / why we need it**: GCE cloud provider only populated IP addresses for instances. This PR adds internal DNS names. DNS names are used e.g. in kubelet server certificates (5b77996433/pkg/kubelet/kubelet.go (L385))

**Release note**:
```release-note
NONE
```
2018-08-22 18:20:34 -07:00
Andrew Lytvynov
50e9407951 Populate internal DNS names in GCE provider
Both VM name and hostname are internally routable.
2018-08-22 16:12:51 -04: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
Jordan Liggitt
0a5f0127e1
Make aws cloud provider report a node hostname address 2018-08-22 13:29:56 -04:00
Davanum Srinivas
9b43d97cd4
Add Labels to various OWNERS files
Will reduce the burden of manually adding labels. Information pulled
from:
https://github.com/kubernetes/community/blob/master/sigs.yaml

Change-Id: I17e661e37719f0bccf63e41347b628269cef7c8b
2018-08-21 13:59:08 -04:00
Kubernetes Submit Queue
c9b79da757
Merge pull request #66737 from hanxiaoshuai/cleanup07281
Automatic merge from submit-queue (batch tested with PRs 67332, 66737, 67281, 67173). 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>.

use aws.StringSlice replace of deprecated func stringPointerArray

**What this PR does / why we need it**:
use aws.StringSlice replace of deprecated func stringPointerArray

```
// stringPointerArray creates a slice of string pointers from a slice of strings
// Deprecated: consider using aws.StringSlice - but note the slightly different behaviour with a nil input
func stringPointerArray(orig []string) []*string {
       if orig == nil {
               return nil
       }
       return aws.StringSlice(orig)
}
```

**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-08-21 05:25:06 -07:00
Pengfei Ni
8aaeafa166 Get VirtualMachineScaleSets and VirtualMachineScaleSetVMs from cached resource groups 2018-08-20 23:21:06 +08:00
Pengfei Ni
f83fb14452 Get VirtualMachines with cached resource groups 2018-08-20 23:21:06 +08:00
Pengfei Ni
d499855ba2 Add caches for cross node resource groups and unmanaged nodes. 2018-08-20 23:21:03 +08:00
Kubernetes Submit Queue
c927968903
Merge pull request #67405 from MorrisLaw/default_load_balancer_name_comment
Automatic merge from submit-queue (batch tested with PRs 66793, 67405, 67068, 67501, 67484). 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>.

Updated comment for DefaultLoadBalancerName to provide further context

**What this PR does / why we need it**:
Updates the comment for DefaultLoadBalancerName to provide better context and also as a reminder that it should eventually be removed.

**Release note**:

```release-note
NONE
```
2018-08-17 05:05:13 -07:00
Xinhe Li
006310b78e fix load balancer IP change when updating service 2018-08-16 16:49:07 +08:00
Kubernetes Submit Queue
59fdc02b13
Merge pull request #67353 from yguo0905/tpu-api-timeout
Automatic merge from submit-queue (batch tested with PRs 67375, 67353). 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>.

Allow passing timeout on TPU API operations via context

The caller will provide a context with timeout attached.

**Release note**:

```release-note
None
```

/assign @vishh
2018-08-16 00:54:59 -07:00
Pengfei Ni
680e64f6ae Add unit tests for InstanceID 2018-08-16 14:38:30 +08:00
Pengfei Ni
a09bcb20c7 Reduce API calls for Azure instance metadata 2018-08-16 14:38:04 +08:00
morrislaw
df4f26ef39 Updated cloud providers with todo comment if using DefaultLoadBalancerName 2018-08-15 21:03:44 -04:00
morrislaw
4f8fe9d922 Update DefaultLoadBalancerName method and add that its deprecated 2018-08-15 20:54:29 -04:00
Kubernetes Submit Queue
8f63f7b010
Merge pull request #67254 from andrewsykim/doc-instance-stopped
Automatic merge from submit-queue (batch tested with PRs 62441, 66702, 67254, 67421, 65309). 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>.

document expectations for stopped/shutdown instances in cloudprovider.Instances interface

**What this PR does / why we need it**:
Add comments which outline expectations for how cloud providers should handle nodes that are stopped/shutdown/sleeping. 

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
It doesn't fix https://github.com/kubernetes/kubernetes/issues/46442 since some providers still delete node resources for stopped instances (though there are PRs already open to fix this) but we've (mostly?) agreed that not deleting node resources for stopped instances is the correct behavior, or at least the behavior that we want consistent across providers at the moment. 

**Special notes for your reviewer**:

```release-note
NONE
```

/sig cloud-provider
2018-08-15 15:30:21 -07:00
andrewsykim
6ea5053531 document expectations for stopped/shutdown instances in cloudprovider.Instances interface 2018-08-15 09:15:24 -04:00
morrislaw
522db8fce8 Updated comment for DefaultLoadBalancerName to provide further context 2018-08-14 18:20:03 -04:00
Pengfei Ni
028f155b9e Add node affinity for unzoned managed disks 2018-08-14 14:14:01 +08:00
Yang Guo
c776cf4296 Allow passing timeout on TPU API operations via context 2018-08-13 16:08:10 -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
andyzhangx
292226195b fix azure disk create failure due to sdk upgrade 2018-08-10 05:35:50 +00:00
Kubernetes Submit Queue
e59c09e07d
Merge pull request #67177 from justaugustus/azure-owners
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 `pkg/cloudprovider/providers/azure/OWNERS`

* Remove Jaice
* Remove Cole
* Add Stephen as reviewer

Signed-off-by: Stephen Augustus <foo@agst.us>

**Release note**:
```release-note
NONE
```

/sig azure
2018-08-08 22:43:46 -07:00
Kubernetes Submit Queue
c343fa4937
Merge pull request #66917 from dougm/cloud-doc
Automatic merge from submit-queue (batch tested with PRs 67026, 62945, 66917). 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>.

Cloud Provider Zones doc fixups

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

A few godoc fixups for Cloud Provider Zones.

```release-note
NONE
```
2018-08-08 20:53:06 -07:00
Stephen Augustus
ac920453ff Update pkg/cloudprovider/providers/azure/OWNERS
* Remove Jaice
* Remove Cole
* Add Stephen as reviewer

Signed-off-by: Stephen Augustus <foo@agst.us>
2018-08-08 23:32:18 -04:00
Kubernetes Submit Queue
ae351f1184
Merge pull request #67121 from feiskyer/azdisk-affinity
Automatic merge from submit-queue (batch tested with PRs 67061, 66589, 67121, 67149). 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 DynamicProvisioningScheduling and VolumeScheduling support for Azure managed disks

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

Continue of [Azure Availability Zone feature](https://github.com/kubernetes/features/issues/586).

This PR adds `VolumeScheduling` and `DynamicProvisioningScheduling` support to Azure managed disks.

When feature gate `VolumeScheduling` disabled, no NodeAffinity set for PV:

```yaml
kubectl describe pv
Name:              pvc-d30dad05-9ad8-11e8-94f2-000d3a07de8c
Labels:            failure-domain.beta.kubernetes.io/region=southeastasia
                   failure-domain.beta.kubernetes.io/zone=southeastasia-2
Annotations:       pv.kubernetes.io/bound-by-controller=yes
                   pv.kubernetes.io/provisioned-by=kubernetes.io/azure-disk
                   volumehelper.VolumeDynamicallyCreatedByKey=azure-disk-dynamic-provisioner
Finalizers:        [kubernetes.io/pv-protection]
StorageClass:      default
Status:            Bound
Claim:             default/pvc-azuredisk
Reclaim Policy:    Delete
Access Modes:      RWO
Capacity:          5Gi
Node Affinity:
  Required Terms:
    Term 0:        failure-domain.beta.kubernetes.io/region in [southeastasia]
                   failure-domain.beta.kubernetes.io/zone in [southeastasia-2]
Message:
Source:
    Type:         AzureDisk (an Azure Data Disk mount on the host and bind mount to the pod)
    DiskName:     k8s-5b3d7b8f-dynamic-pvc-d30dad05-9ad8-11e8-94f2-000d3a07de8c
    DiskURI:      /subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Compute/disks/k8s-5b3d7b8f-dynamic-pvc-d30dad05-9ad8-11e8-94f2-000d3a07de8c
    Kind:         Managed
    FSType:
    CachingMode:  None
    ReadOnly:     false
Events:           <none>
```

When feature gate `VolumeScheduling` enabled, NodeAffinity will be populated for PV:

```yaml
kubectl describe pv
Name:              pvc-0284337b-9ada-11e8-a7f6-000d3a07de8c
Labels:            failure-domain.beta.kubernetes.io/region=southeastasia
                   failure-domain.beta.kubernetes.io/zone=southeastasia-2
Annotations:       pv.kubernetes.io/bound-by-controller=yes
                   pv.kubernetes.io/provisioned-by=kubernetes.io/azure-disk
                   volumehelper.VolumeDynamicallyCreatedByKey=azure-disk-dynamic-provisioner
Finalizers:        [kubernetes.io/pv-protection]
StorageClass:      default
Status:            Bound
Claim:             default/pvc-azuredisk
Reclaim Policy:    Delete
Access Modes:      RWO
Capacity:          5Gi
Node Affinity:
  Required Terms:
    Term 0:        failure-domain.beta.kubernetes.io/region in [southeastasia]
                   failure-domain.beta.kubernetes.io/zone in [southeastasia-2]
Message:
Source:
    Type:         AzureDisk (an Azure Data Disk mount on the host and bind mount to the pod)
    DiskName:     k8s-5b3d7b8f-dynamic-pvc-0284337b-9ada-11e8-a7f6-000d3a07de8c
    DiskURI:      /subscriptions/<subscription-id>/resourceGroups/<rg-name>/providers/Microsoft.Compute/disks/k8s-5b3d7b8f-dynamic-pvc-0284337b-9ada-11e8-a7f6-000d3a07de8c
    Kind:         Managed
    FSType:
    CachingMode:  None
    ReadOnly:     false
Events:           <none>
```

When both  `VolumeScheduling` and `DynamicProvisioningScheduling` are enabled, storage class also supports `allowedTopologies` and `volumeBindingMode: WaitForFirstConsumer` for volume topology aware dynamic provisioning:

```yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
  name: managed-disk-dynamic
parameters:
  cachingmode: None
  kind: Managed
  storageaccounttype: Standard_LRS
provisioner: kubernetes.io/azure-disk
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
allowedTopologies:
- matchLabelExpressions:
  - key: failure-domain.beta.kubernetes.io/zone
    values:
    - southeastasia-2
    - southeastasia-1
```

**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
DynamicProvisioningScheduling and VolumeScheduling is not supported for Azure managed disks. Feature gates DynamicProvisioningScheduling and VolumeScheduling should be enabled before using this feature.
```

/kind feature
/sig azure
/cc @brendandburns @khenidak @andyzhangx
/cc @ddebroy @msau42 @justaugustus
2018-08-08 16:32:10 -07:00
Kubernetes Submit Queue
dd4ab76f05
Merge pull request #66589 from MorrisLaw/get_load_balancer_name_per_provider
Automatic merge from submit-queue (batch tested with PRs 67061, 66589, 67121, 67149). 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>.

Get load balancer name per provider

**What this PR does / why we need it**:
GetLoadBalancerName() should be implemented per cloud provider as opposed to one neutral implementation.

This PR will address this by moving `cloudprovider.GetLoadBalancerName()` to the `LoadBalancer interface` and then provide an implementation for each cloud provider, while maintaining previously expected functionality.

**Which issue(s) this PR fixes**:
Fixes  [#43173](https://github.com/kubernetes/kubernetes/issues/43173)

**Special notes for your reviewer**:
This is a work in progress. Looking for feedback as I work on this, from any interested parties.

**Release note**:

```release-note
NONE
```
2018-08-08 16:32:07 -07:00
Pengfei Ni
30fe79d63f Add DynamicProvisioningScheduling and VolumeScheduling support for AzureDisk 2018-08-08 17:05:46 +08:00
Kubernetes Submit Queue
fc89a80934
Merge pull request #63572 from haz-mat/aws-lb-sg-scope-icmp
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>.

scope AWS LoadBalancer security group ICMP rules to spec.loadBalancerSourceRanges

/sig aws
**What this PR does / why we need it**:
Make the client CIDR ranges for MTU consistent with what [the documentation appears to describe](https://kubernetes.io/docs/concepts/services-networking/service/#type-loadbalancer), where the ranges should be equal to `spec.loadBalancerSourceRanges` if supplied.

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

**Release note**:
```release-note
scope AWS LoadBalancer security group ICMP rules to spec.loadBalancerSourceRanges
```
2018-08-07 20:49:15 -07:00
Kubernetes Submit Queue
9d260ff163
Merge pull request #66795 from jiatongw/zones_vendor
Automatic merge from submit-queue (batch tested with PRs 67052, 67094, 66795). 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 zones support for vSphere cloud provider(in-tree)

**What this PR does / why we need it**:
This PR added zones(built-in node labels) support for vSphere cloud provider(in-tree).  More details can be found in the issue as below.

**Which issue(s) this PR fixes** :
Partially fixes phase 1 of issue #64021 

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-08-07 17:16:04 -07:00
Kubernetes Submit Queue
83f6efcec0
Merge pull request #66736 from hanxiaoshuai/cleanup0728
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>.

use func WaitForCompletionRef replace of deprecated func WaitForCompletion

**What this PR does / why we need it**:
use func WaitForCompletionRef replace of deprecated func WaitForCompletion

```
// WaitForCompletion will return when one of the following conditions is met: the long
// running operation has completed, the provided context is cancelled, or the client's
// polling duration has been exceeded.  It will retry failed polling attempts based on
// the retry value defined in the client up to the maximum retry attempts.
// Deprecated: Please use WaitForCompletionRef() instead.
func (f Future) WaitForCompletion(ctx context.Context, client autorest.Client) error {
	return f.WaitForCompletionRef(ctx, client)
}
```

**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-08-07 03:34:28 -07:00
jiatongw
af5084ea75 Add TestZone() 2018-08-06 15:19:10 -07:00
Kubernetes Submit Queue
14bcbb9450
Merge pull request #66553 from feiskyer/azure-disk-availablity-zone
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 availability zones support to Azure managed disks

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

Continue of [Azure Availability Zone feature](https://github.com/kubernetes/features/issues/586).

This PR adds availability zone support for Azure managed disks and its storage class. Zoned managed disks is enabled by default if there are zoned nodes in the cluster.

The zone could also be customized by `zone` or `zones` parameter, e.g.

```yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
  name: managed-disk-zone-1
parameters:
  zone: "southeastasia-1"
  # zones: "southeastasia-1,"southeastasia-2"
  cachingmode: None
  kind: Managed
  storageaccounttype: Standard_LRS
provisioner: kubernetes.io/azure-disk
reclaimPolicy: Delete
volumeBindingMode: Immediate
```

All zoned AzureDisk PV will also be labeled with its availability zone, e.g.

```sh
$ kubectl get pvc pvc-azuredisk-az-1
NAME                 STATUS    VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS          AGE
pvc-azuredisk-az-1   Bound     pvc-5ad0c7b8-8f0b-11e8-94f2-000d3a07de8c   5Gi        RWO            managed-disk-zone-1   2h

$ kubectl get pv pvc-5ad0c7b8-8f0b-11e8-94f2-000d3a07de8c --show-labels
NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS    CLAIM                        STORAGECLASS          REASON    AGE       LABELS
pvc-5ad0c7b8-8f0b-11e8-94f2-000d3a07de8c   5Gi        RWO            Delete           Bound     default/pvc-azuredisk-az-1   managed-disk-zone-1             2h        failure-domain.beta.kubernetes.io/region=southeastasia,failure-domain.beta.kubernetes.io/zone=southeastasia-1
```

**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**:

See also the [KEP](https://github.com/kubernetes/community/pull/2364).

DynamicProvisioningScheduling feature would be added in a following PR.

**Release note**:

```release-note
Azure managed disks now support availability zones and new parameters `zoned`, `zone` and `zones` are added for AzureDisk storage class.
```

/kind feature
/sig azure
/assign @brendandburns @khenidak @andyzhangx
2018-08-06 02:02:54 -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
morrislaw
6ecec23690 Implement GetLoadBalancerName per provider and add DefaultLoadBalancerName. 2018-08-04 00:36:48 -04:00
jiatongw
99abd4bc79 Add zones support for vSphere cloud provider (in-tree) 2018-08-03 13:24:42 -07:00
Doug MacEachern
8e82db428b Cloud Provider Zones doc fixups 2018-08-02 08:18:01 -07:00
Kubernetes Submit Queue
22d0ef2a8e
Merge pull request #65730 from ddebroy/ebs-affinity1
Automatic merge from submit-queue (batch tested with PRs 65730, 66615, 66684, 66519, 66510). 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 DynamicProvisioningScheduling support for EBS

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

This PR adds support for the DynamicProvisioningScheduling feature in EBS. With this in place, if VolumeBindingMode: WaitForFirstConsumer is specified in a EBS storageclass and DynamicProvisioningScheduling is enabled, EBS provisioner will use the selected node's LabelZoneFailureDomain as the zone to provision the EBS volume in.

**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**:
Related to #63232

Sample `describe pv` output with NodeAffinity populated:

```
~$ kubectl describe pv pvc-f9d2138b-7e3e-11e8-a4ea-064124617820
Name:              pvc-f9d2138b-7e3e-11e8-a4ea-064124617820
Labels:            failure-domain.beta.kubernetes.io/region=us-west-2
                   failure-domain.beta.kubernetes.io/zone=us-west-2a
Annotations:       kubernetes.io/createdby=aws-ebs-dynamic-provisioner
                   pv.kubernetes.io/bound-by-controller=yes
                   pv.kubernetes.io/provisioned-by=kubernetes.io/aws-ebs
Finalizers:        [kubernetes.io/pv-protection]
StorageClass:      slow3
Status:            Bound
Claim:             default/pvc3
Reclaim Policy:    Delete
Access Modes:      RWO
Capacity:          6Gi
Node Affinity:     
  Required Terms:  
    Term 0:        failure-domain.beta.kubernetes.io/zone in [us-west-2a]
                   failure-domain.beta.kubernetes.io/region in [us-west-2]
Message:           
Source:
    Type:       AWSElasticBlockStore (a Persistent Disk resource in AWS)
    VolumeID:   aws://us-west-2a/vol-0fc1cdae7d10860f6
    FSType:     ext4
    Partition:  0
    ReadOnly:   false
Events:         <none>
```

**Release note**:
```release-note
none
```

/sig storage
/assign @msau42 @jsafrane
2018-08-01 15:52:07 -07:00
Deep Debroy
217a3d8902 Add DynamicProvisioningScheduling support for EBS
Signed-off-by: Deep Debroy <ddebroy@docker.com>
2018-08-01 09:00:03 -07:00
Kubernetes Submit Queue
1f8b3fded9
Merge pull request #66728 from gnufied/fix-volume-modifition-aws
Automatic merge from submit-queue (batch tested with PRs 66489, 66728, 66739). 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>.

Speed up volume modifications on AWS

Volume becomes reusable after it reached optimizing state.

/sig storage
/sig aws


```release-note
Make EBS volume expansion faster
```

cc @d-nishi @kokhang
2018-07-30 17:10:04 -07:00
Pengfei Ni
6bfd2be2ea Add documentation and unit tests 2018-07-30 13:32:57 +08:00
Pengfei Ni
811e831b0a Chose availability zones from active nodes 2018-07-30 13:31:12 +08:00
Pengfei Ni
74813d0d26 Add availability zone support for dynamic provisioning Azure managed disks 2018-07-30 13:31:12 +08:00
Pengfei Ni
87c5883337 Implement GetLabelsForVolume for AzureDisk 2018-07-30 13:31:12 +08:00
hangaoshuai
47c753aa18 use aws.StringSlice replace of deprecated func stringPointerArray 2018-07-28 16:57:36 +08:00
hangaoshuai
5fe4a1f24e use func WaitForCompletionRef replace of deprecated func WaitForCompletion 2018-07-28 15:45:59 +08:00
Kubernetes Submit Queue
c7603b069d
Merge pull request #66619 from w-leads/feature/vcp-shutdown-taint
Automatic merge from submit-queue (batch tested with PRs 66225, 66648, 65799, 66630, 66619). 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>.

Implement InstanceShutdownByProviderID for vSphere CP

**What this PR does / why we need it**:
To detach volumes from shutdown nodes #66181

**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-07-27 16:42:18 -07:00
Kubernetes Submit Queue
c2cbe86f7d
Merge pull request #66648 from feiskyer/azure-sdk-update
Automatic merge from submit-queue (batch tested with PRs 66225, 66648, 65799, 66630, 66619). 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 Azure Go SDK to v19.0.0 and get availability zone for VirtualMachineScaleSetVM

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

Continue of #66242. This PR updates Azure Go SDK to v19.0.0 (with compute API 2018-04-01) and gets availability zones for VirtualMachineScaleSetVM.

**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
Azure Go SDK has been upgraded to v19.0.0 and VirtualMachineScaleSetVM now supports availability zones.
```

/sig azure
/assign @brendandburns @khenidak @andyzhangx
2018-07-27 16:42:08 -07:00
Hemant Kumar
d0c2d3fe89 Speed up volume modifications on AWS
Volume becomes reusable after it reached optimizing state
2018-07-27 17:44:05 -04:00
Ryo Nishikawa
3c50f3d447 Remove verbose code in VCP 2018-07-27 10:56:10 -07:00
Tardis Xu
f2b0bb9073 Fix that fails to resize pvc of cinder volume. 2018-07-27 16:36:53 +08:00
Ryo Nishikawa
059daa6de9 Remove unnecessary context in VCP 2018-07-26 10:25:08 -07:00
Pengfei Ni
1e01eab0bf Add unit tests for GetZoneByNodeName 2018-07-25 18:16:36 +08:00
Pengfei Ni
a29fabe20d Get availability zone for VirtualMachineScaleSetVM 2018-07-25 18:16:21 +08:00
Pengfei Ni
5bf3b2119b Update compute API to 2018-04-01 2018-07-25 17:39:32 +08:00
Kubernetes Submit Queue
35c3764bbb
Merge pull request #66464 from wongma7/round-overflow
Automatic merge from submit-queue (batch tested with PRs 66464, 66488). 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>.

Avoid overflowing int64 in RoundUpSize and return error if overflow int

**What this PR does / why we need it**:
There are many places in plugins (some I may have missed) that we naively convert a resource.Quantity.Value() which is an int64, to an int, which may be only 32 bits long.

Background, optional to read :): Kubernetes canonicalizes resource.Quantities, and from what I have seen testing creating PVCs, decimalSI is the default. If a quantity is in `decimalSI` format and its value in bytes would overflow an int64, e.g. `10E`, nothing happens. If it is in binarySI and its value in bytes would overflow an int64, e.g. `10Ei`, it is set down to 2^63-1 and there's no overflow of the field value. But there may be overflow later in the code which is what this PR is addressing.

* Change `RoundUpSize` implementation to avoid overflowing `int64`
* Add `RoundUp*Int` functions for use when an `int` is expected instead of an `int64`, because `int` may be 32bits and naively doing `int($INT64_VALUE)` can lead to silent overflow. These functions return an error if overflow has occurred.
* Rename `*GB` variables to `*GiB` where appropriate for maximum clarity
* Use `RoundUpToGiB` instead of `RoundUpSize` where possible

**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**: please review carefully as we don't have e2e tests for most plugins!

**Release note**:

```release-note
NONE
```
edit: remove 'we do not need to worry about...'. yes we do, i worded that badly :))
2018-07-24 19:03:01 -07:00
Ryo Nishikawa
5e81dcd4f0 Implement InstanceShutdownByProviderID for vSphere CP 2018-07-24 10:51:17 -07:00
Kubernetes Submit Queue
2beab8623c
Merge pull request #66180 from kkmsft/user_assigned_msi
Automatic merge from submit-queue (batch tested with PRs 62423, 66180, 66492, 66506, 65242). 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 user assigned MSI support

**What this PR does / why we need it**:
Adds the support for generating tokens via user assigned MSI. 

**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
Add support for using User Assigned MSI (https://docs.microsoft.com/en-us/azure/active-directory/managed-service-identity/overview) with Kubernetes cluster on Azure.
```
2018-07-23 12:32:06 -07:00
Kubernetes Submit Queue
d244fa9441
Merge pull request #62423 from nckturner/eks-approvers-reviewers
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 myself, Micah to reviewers

**Release note**:
```release-note
NONE
```

Signed-off-by: Nick Turner <nic@amazon.com>
2018-07-23 11:21:37 -07:00
Matthew Wong
093e231289 Avoid overflowing int64 in RoundUpSize and return error if overflow int 2018-07-23 13:48:45 -04:00
Krishnakumar R
2554c53bb3 Add user assigned MSI support for azure cloudprovider. 2018-07-20 08:39:16 -07:00
Kubernetes Submit Queue
a4a2e6d61e
Merge pull request #66400 from nicksardo/fix-err-code
Automatic merge from submit-queue (batch tested with PRs 66098, 66389, 66400, 66413, 66378). 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: Return correct error type and HTTP Status code for operation errors

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

**Special notes for your reviewer**:
/assign bowei, zihongz, rramkumar
/cc bowei

**Release note**:
```release-note
GCE: Fixes loadbalancer creation and deletion issues appearing in 1.10.5.
```
2018-07-20 05:30:12 -07:00
Kubernetes Submit Queue
b68c9440da
Merge pull request #66242 from feiskyer/instance-az
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 initial availability zones support for Azure nodes

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

The first part of [Azure Availability Zone feature](https://github.com/kubernetes/features/issues/586).

This PR adds initial availability zone (AZ) support for Azure nodes. With this PR, Azure nodes with AZ will have label `failure-domain.beta.kubernetes.io/zone=<region>-<zoneID>`, e.g. `southeastasia-1`.

It also updates instance metadata api-version to 2017-12-01, which is required for AZ.

**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**:

VirtualMachineScaleSetVM doesn't have AZ info yet. It will be supported later after new Azure Go SDK releases.

**Release note**:

```release-note
Azure nodes with availability zone now will have label `failure-domain.beta.kubernetes.io/zone=<region>-<zoneID>`.
```

/kind feature
/sig azure

/assign @brendandburns @khenidak @andyzhangx
2018-07-20 00:18:47 -07:00
Nick Sardo
808bc227ae Return correct error type and HTTP Status code for operation errors 2018-07-19 13:18:29 -07:00
Kubernetes Submit Queue
041ba05514
Merge pull request #66324 from krunaljain/bugfix/revert_pd_size_rounding_to_GB
Automatic merge from submit-queue (batch tested with PRs 66175, 66324, 65828, 65901, 66350). 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>.

Fixing E2E tests for disk resizing

What this PR does / why we need it:
This PR fixed the E2E test failure due to [this](539b3693f4) commit. The case of disk resizing was not handled which is fixed in this commit. 

Issues Fixed:
[#66295
](https://github.com/kubernetes/kubernetes/issues/66295)
```release-note
none
```
2018-07-18 16:42:11 -07:00
tanshanshan
5dd20996af session.New is deprecated and remove unused variable 2018-07-18 17:48:21 +08:00
tanshanshan
3676a08690 clean unused variable 2018-07-18 14:39:36 +08:00
Krunal Jain
d5db363faa Fixing E2E tests for disk resizing 2018-07-17 18:52:13 -07:00