gardener / machine-controller-manager-provider-azure

This repository is the out of tree implementation of the machine driver for Azure cloud provider
Apache License 2.0
8 stars 27 forks source link

Upgrade to latest Azure Go SDK #105

Closed unmarshall closed 12 months ago

unmarshall commented 1 year ago

What this PR does / why we need it: Azure SDK go-autorest is now out of support. This PR revamps the codebase and uses the latest SDK.

Which issue(s) this PR fixes: Fixes #91, #41

Special notes for your reviewer:

Release note:

Uses new Azure SDK as the older go-autorest is out of support. 
Adds 2 new metrics which compute driver API call duration and Azure API call duration for all successful API calls.
Recently introduced Azure fakes are used extensively for unit tests.
Driver.GetMachineStatus now only gets the status from the Machine and not from associated NIC(s).
Deletion of a machine now cascade deletes NIC(s) and Disk(s) (OSDisk and DataDisk(s)) as well. Previously it was a 2 step process of detatch followed by a delete.
In the API following have been marked as deprecated:
- Constants: [api.AzureClientID, api.AzureClientSecret, api.AzureSubscriptionID, api.AzureTenantID, api.AzureAlternativeClientID, api.AzureAlternativeClientSecret, api.AzureAlternativeSubscriptionID, api.AzureAlternativeTenantID, api.MachineSetKindVMO and api.MachineSetKindAvailabilitySet]
- AzureVirtualMachineProperties.MachineSet has been marked as deprecated
unmarshall commented 1 year ago

/ok-to-test

rishabh-11 commented 12 months ago

/lgtm Finally, the review is over.