Commit Graph

61 Commits

Author SHA1 Message Date
Pengfei Ni
1d61d8d4a4 Convert resource group name in Azure provider ID to lower cases 2019-03-05 11:22:17 +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
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
Pengfei Ni
3ef7ef8c6e Use refactored backoffs in other places 2018-12-04 11:23:01 +08:00
Marc Sensenich
884b21f352 Add additional err check for cloudProvider.InstanceNotFound error 2018-11-30 13:00:59 +00: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
Pengfei Ni
3cea6dc954 Improve Azure instance metadata handling 2018-10-29 13:05:03 +08: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
Pengfei Ni
3bca7a0136 Add fallbacks for getting node IP from Azure IMDS 2018-09-26 13:18:10 +08:00
Pengfei Ni
67069cc1e8 Fix nodes power state on Azure 2018-09-21 12:55:08 +08: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
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
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
Pengfei Ni
f83fb14452 Get VirtualMachines with cached resource groups 2018-08-20 23:21:06 +08:00
Pengfei Ni
a09bcb20c7 Reduce API calls for Azure instance metadata 2018-08-16 14:38:04 +08:00
Pengfei Ni
b9b6a9e98d Add verbose logs for azure cloud provider 2018-05-24 13:20:46 +08:00
Doug MacEachern
e7cc5df3f6 Use cloudprovider.NotImplemented in AddSSHKeyToAllInstances
Minor cleanup: In looking at implementations of this method,
noticed a few providers created their own errors instead of using cloudprovider.NotImplemented
2018-04-27 13:19:06 -07:00
Jesse Haka
de967b717d PR #59323, fix bug and remove one api call, add node util dependency to cloud controller 2018-04-22 20:32:26 +03:00
Pengfei Ni
8a287d2114 Fix machineID getting for vmss nodes when using instance metadata 2018-04-16 13:36:12 +08:00
Anup Navare
1335e6e2d4 Cleanup the use of ExternalID as it is deprecated
The patch removes ExternalID usage from node_controller
and node_lifecycle_oontroller. The code instead uses InstanceID
which returns the cloud provider ID as well.
2018-04-02 10:15:32 -07:00
Pengfei Ni
717fe5d0d6 Check whether it is running locally when UseInstanceMetadata 2018-03-09 11:09:33 +08:00
Pengfei Ni
68dcacf6e0 Fix instanceID for vmss nodes 2018-02-14 16:38:49 +08:00
Pengfei Ni
20de29ae6f Set instanceID to azure resource ID format while useInstanceMetadata is enabled 2018-02-08 15:12:36 +08:00
Pengfei Ni
4e4fde93a7 Add useInstanceMetadata param back in Azure cloud provider
This reverts commit bb1e797b28.
2018-02-08 12:40:35 +08:00
Walter Fender
e18e8ec3c0 Add context to all relevant cloud APIs
This adds context to all the relevant cloud provider interface signatures.
Callers of those APIs are currently satisfied using context.TODO().
There will be follow on PRs to push the context through the stack.
For an idea of the full scope of this change please look at PR #58532.
2018-02-06 12:49:17 -08:00
Pengfei Ni
6c2c5c2614 Clean up unused functions and consts 2018-01-26 17:05:56 +08:00
Pengfei Ni
bb1e797b28 Remove useInstanceMetadata param from Azure cloud provider 2017-12-27 16:20:54 +08:00
Pengfei Ni
af5b079ef7 Initialize vmSet based on vmType setting and call vmSet interface instead of azureClient 2017-12-13 14:19:47 +08:00
Pengfei Ni
65c0738a82 Support getting instanceID, type and IP for vmss instances 2017-11-21 07:14:07 +00:00
Jingtao Ren
ff961163aa clean up retry logic, since we try at least once 2017-11-20 09:32:47 -08:00
Jingtao Ren
edfb2ad552 Azure load balancer general improvement 2017-11-20 09:32:46 -08:00
FengyunPan
462087fd74 Implement InstanceExistsByProviderID() for cloud providers
Fix #51406
If cloud providers(like aws, gce etc...) implement ExternalID()
and support getting instance by ProviderID , they also implement
InstanceExistsByProviderID().
2017-10-20 14:59:28 +08:00
Henrik Schmidt
1339e4cffc Use custom error for "unimplemented" 2017-09-26 09:21:53 +02:00
Dong Liu
09f0850da3 Fix InstanceTypeByProviderID for Azure 2017-08-30 13:00:21 +08:00
Josh Horwitz
cf75c49883 change godoc based on feedback from luxas 2017-08-25 18:04:10 -04:00
Josh Horwitz
3528ceb27f address test & doc comments 2017-08-25 16:15:55 -04:00
Josh Horwitz
2f1ea47c83 Add InstanceExists* methods to cloud provider interface for CCM 2017-08-24 20:41:28 -04:00
Brendan Burns
e03f02a575 metadata improvements. 2017-07-31 23:54:22 +00:00
Kubernetes Submit Queue
9b8bc25838 Merge pull request #49081 from brendandburns/imds
Automatic merge from submit-queue (batch tested with PRs 49081, 49318, 49219, 48989, 48486)

Fix instance metadata service URL.

Small fix @colemickens @jackfrancis
2017-07-28 04:03:36 -07:00
Kubernetes Submit Queue
ea18935670 Merge pull request #45540 from edevil/azure_extra_logging
Automatic merge from submit-queue (batch tested with PRs 49083, 45540, 46862)

Add extra logging to azure API get calls

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

This PR adds extra logging for external calls to the Azure API, specifically get calls.

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

This will help troubleshoot problems arising from the usage of this cloudprovider. For example, it looks like #43516 is caused by a call to the cloudprovider taking too much time.
2017-07-19 21:18:25 -07:00
Brendan Burns
38b1b74f82 Fix up imds, also refactor for better testing. 2017-07-19 12:53:08 -07:00
André Cruz
4071a36c12 Add extra logging to azure API calls 2017-07-18 14:40:28 +01:00
Jack Francis
f76ef29512 backing off az.getIPForMachine in az.NodeAddresses
also rate limiting the call to az.getVirtualMachine inside az.getIPForMachine
2017-07-14 17:13:40 -07:00
Brendan Burns
7644c6afc6 Add initial support for the Azure instance metadata service. 2017-07-06 06:56:39 -07:00
Chao Xu
f4989a45a5 run root-rewrite-v1-..., compile 2017-06-22 10:25:57 -07:00
Kubernetes Submit Queue
67730881a6 Merge pull request #46940 from realfake/azure-cloud-controller-manager
Automatic merge from submit-queue

Azure for cloud-controller-manager

**What this PR does / why we need it**:
This implements the NodeAddressesByProviderID and InstanceTypeByProviderID methods used by the cloud-controller-manager to the Azure provider.

**Release note**:

```release-note
NONE
```
Addresses #47257
2017-06-10 17:28:44 -07:00
Jack Francis
2accbbd618 go vet errata 2017-06-06 22:12:49 -07:00
Jack Francis
6d73a09dcc rate limiting everywhere
not waiting to rate limit until we get an error response from the API, doing so on initial request for all API requests
2017-06-06 22:09:57 -07:00
Jack Francis
148e923f65 az.getVirtualMachine already rate-limited
we don’t need to rate limit the calls _to_ it
2017-06-06 14:55:07 -07:00