Merge pull request #74182 from andyzhangx/azuredisk-snapshot-client

add azure disk snapshot client in azure cloud provider
pull/564/head
Kubernetes Prow Robot 2019-02-17 20:22:50 -08:00 committed by GitHub
commit 2de487c91f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 0 deletions

View File

@ -38,6 +38,7 @@ import (
cloudprovider "k8s.io/cloud-provider"
"k8s.io/kubernetes/pkg/cloudprovider/providers/azure/auth"
"github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2018-10-01/compute"
"github.com/Azure/go-autorest/autorest"
"github.com/Azure/go-autorest/autorest/azure"
"k8s.io/klog"
@ -170,6 +171,7 @@ type Cloud struct {
VirtualMachinesClient VirtualMachinesClient
StorageAccountClient StorageAccountClient
DisksClient DisksClient
SnapshotsClient *compute.SnapshotsClient
FileClient FileClient
resourceRequestBackoff wait.Backoff
metadata *InstanceMetadataService
@ -344,6 +346,7 @@ func NewCloud(configReader io.Reader) (cloudprovider.Interface, error) {
resourceRequestBackoff: resourceRequestBackoff,
DisksClient: newAzDisksClient(azClientConfig),
SnapshotsClient: newSnapshotsClient(azClientConfig),
RoutesClient: newAzRoutesClient(azClientConfig),
SubnetsClient: newAzSubnetsClient(azClientConfig),
InterfacesClient: newAzInterfacesClient(azClientConfig),

View File

@ -1385,6 +1385,18 @@ func (az *azDisksClient) Get(ctx context.Context, resourceGroupName string, disk
return
}
func newSnapshotsClient(config *azClientConfig) *compute.SnapshotsClient {
snapshotsClient := compute.NewSnapshotsClientWithBaseURI(config.resourceManagerEndpoint, config.subscriptionID)
snapshotsClient.Authorizer = autorest.NewBearerAuthorizer(config.servicePrincipalToken)
snapshotsClient.PollingDelay = 5 * time.Second
if config.ShouldOmitCloudProviderBackoff {
snapshotsClient.RetryAttempts = config.CloudProviderBackoffRetries
snapshotsClient.RetryDuration = time.Duration(config.CloudProviderBackoffDuration) * time.Second
}
configureUserAgent(&snapshotsClient.Client)
return &snapshotsClient
}
// azVirtualMachineSizesClient implements VirtualMachineSizesClient.
type azVirtualMachineSizesClient struct {
client compute.VirtualMachineSizesClient