Skip to content

Commit 5033af4

Browse files
MartinForRealcvvz
authored andcommitted
chores: Adopt track2 sdk in e2e test suites
1 parent 78b9a9e commit 5033af4

File tree

19 files changed

+50
-7979
lines changed

19 files changed

+50
-7979
lines changed

go.mod

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ require (
4040
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/keyvault/armkeyvault v1.4.0
4141
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.1.0
4242
github.com/go-ini/ini v1.67.0
43-
github.com/jongio/azidext/go/azidext v0.4.0
4443
github.com/onsi/ginkgo/v2 v2.13.2
4544
github.com/pkg/errors v0.9.1
4645
github.com/satori/go.uuid v1.2.0
@@ -56,7 +55,7 @@ require (
5655
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice/v4 v4.6.0 // indirect
5756
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4 v4.3.0 // indirect
5857
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/privatedns/armprivatedns v1.2.0 // indirect
59-
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.2.0 // indirect
58+
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.2.0
6059
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.5.0 // indirect
6160
github.com/Azure/go-autorest v14.2.0+incompatible // indirect
6261
github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect

go.sum

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -173,12 +173,8 @@ github.com/imdario/mergo v0.3.9 h1:UauaLniWCFHWd+Jp9oCEkTBj8VO/9DKg3PV3VCNMDIg=
173173
github.com/imdario/mergo v0.3.9/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
174174
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
175175
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
176-
github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc=
177-
github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
178176
github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ=
179177
github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8=
180-
github.com/jongio/azidext/go/azidext v0.4.0 h1:TOYyVFMeWGgXNhURSgrEtUCu7JAAKgsy+5C4+AEfYlw=
181-
github.com/jongio/azidext/go/azidext v0.4.0/go.mod h1:VrlpGde5B+pPbTUxnThE5UIQQkcebdr3jrC2MmlMVSI=
182178
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
183179
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
184180
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=

test/utils/azure/azure_helper.go

Lines changed: 49 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -19,49 +19,69 @@ package azure
1919
import (
2020
"context"
2121
"fmt"
22-
"log"
2322
"os"
24-
"strings"
2523
"time"
2624

27-
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
28-
"github.com/Azure/azure-sdk-for-go/sdk/azcore/cloud"
29-
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
30-
"github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2018-05-01/resources"
31-
"github.com/Azure/azure-sdk-for-go/services/storage/mgmt/2021-09-01/storage"
32-
"github.com/Azure/go-autorest/autorest/azure"
33-
"github.com/jongio/azidext/go/azidext"
25+
"github.com/Azure/azure-sdk-for-go/sdk/azcore/arm"
26+
"github.com/Azure/azure-sdk-for-go/sdk/azcore/policy"
27+
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
28+
resources "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources"
29+
"sigs.k8s.io/cloud-provider-azure/pkg/azclient"
30+
"sigs.k8s.io/cloud-provider-azure/pkg/azclient/accountclient"
31+
"sigs.k8s.io/cloud-provider-azure/pkg/azclient/resourcegroupclient"
3432
)
3533

3634
type Client struct {
37-
environment azure.Environment
3835
subscriptionID string
39-
groupsClient resources.GroupsClient
40-
accountsClient storage.AccountsClient
36+
groupsClient resourcegroupclient.Interface
37+
accountsClient accountclient.Interface
4138
}
4239

4340
func GetClient(cloud, subscriptionID, clientID, tenantID, clientSecret string) (*Client, error) {
44-
env, err := azure.EnvironmentFromName(cloud)
41+
armConfig := &azclient.ARMClientConfig{
42+
Cloud: cloud,
43+
}
44+
cloudConfig, err := azclient.GetAzureCloudConfig(armConfig)
4545
if err != nil {
4646
return nil, err
4747
}
48-
49-
options := azidentity.ClientSecretCredentialOptions{
50-
ClientOptions: azcore.ClientOptions{
51-
Cloud: getCloudConfig(env),
48+
credProvider, err := azclient.NewAuthProvider(azclient.AzureAuthConfig{
49+
TenantID: tenantID,
50+
AADClientID: clientID,
51+
AADClientSecret: clientSecret,
52+
}, &arm.ClientOptions{
53+
AuxiliaryTenants: []string{tenantID},
54+
ClientOptions: policy.ClientOptions{
55+
Cloud: *cloudConfig,
5256
},
57+
})
58+
if err != nil {
59+
return nil, err
5360
}
54-
cred, err := azidentity.NewClientSecretCredential(tenantID, clientID, clientSecret, &options)
61+
cred, err := credProvider.GetAzIdentity()
62+
if err != nil {
63+
return nil, err
64+
}
65+
factory, err := azclient.NewClientFactory(&azclient.ClientFactoryConfig{
66+
SubscriptionID: subscriptionID,
67+
}, armConfig, cred)
5568
if err != nil {
5669
return nil, err
5770
}
5871

59-
return getClient(env, subscriptionID, cred, env.TokenAudience), nil
72+
return &Client{
73+
subscriptionID: subscriptionID,
74+
groupsClient: factory.GetResourceGroupClient(),
75+
accountsClient: factory.GetAccountClient(),
76+
}, nil
6077
}
6178

62-
func (az *Client) EnsureResourceGroup(ctx context.Context, name, location string, managedBy *string) (resourceGroup *resources.Group, err error) {
79+
func (az *Client) EnsureResourceGroup(ctx context.Context, name, location string, managedBy *string) (resourceGroup *resources.ResourceGroup, err error) {
6380
var tags map[string]*string
6481
group, err := az.groupsClient.Get(ctx, name)
82+
if err != nil {
83+
group = &resources.ResourceGroup{}
84+
}
6585
if err == nil && group.Tags != nil {
6686
tags = group.Tags
6787
} else {
@@ -71,92 +91,38 @@ func (az *Client) EnsureResourceGroup(ctx context.Context, name, location string
7191
managedBy = group.ManagedBy
7292
}
7393
// Tags for correlating resource groups with prow jobs on testgrid
74-
tags["buildID"] = stringPointer(os.Getenv("BUILD_ID"))
75-
tags["jobName"] = stringPointer(os.Getenv("JOB_NAME"))
76-
tags["creationTimestamp"] = stringPointer(time.Now().UTC().Format(time.RFC3339))
94+
tags["buildID"] = to.Ptr(os.Getenv("BUILD_ID"))
95+
tags["jobName"] = to.Ptr(os.Getenv("JOB_NAME"))
96+
tags["creationTimestamp"] = to.Ptr(time.Now().UTC().Format(time.RFC3339))
7797

78-
response, err := az.groupsClient.CreateOrUpdate(ctx, name, resources.Group{
98+
response, err := az.groupsClient.CreateOrUpdate(ctx, name, resources.ResourceGroup{
7999
Name: &name,
80100
Location: &location,
81101
ManagedBy: managedBy,
82102
Tags: tags,
83103
})
84104
if err != nil {
85-
return &response, err
105+
return response, err
86106
}
87107

88-
return &response, nil
108+
return response, nil
89109
}
90110

91111
func (az *Client) DeleteResourceGroup(ctx context.Context, groupName string) error {
92112
_, err := az.groupsClient.Get(ctx, groupName)
93113
if err == nil {
94-
future, err := az.groupsClient.Delete(ctx, groupName)
114+
err := az.groupsClient.Delete(ctx, groupName)
95115
if err != nil {
96116
return fmt.Errorf("cannot delete resource group %v: %w", groupName, err)
97117
}
98-
err = future.WaitForCompletionRef(ctx, az.groupsClient.Client)
99-
if err != nil {
100-
// Skip the teardown errors because of https://github.com/Azure/go-autorest/issues/357
101-
// TODO(feiskyer): fix the issue by upgrading go-autorest version >= v11.3.2.
102-
log.Printf("Warning: failed to delete resource group %q with error %v", groupName, err)
103-
}
104118
}
105119
return nil
106120
}
107121

108122
func (az *Client) GetAccountNumByResourceGroup(ctx context.Context, groupName string) (count int, err error) {
109-
result, err := az.accountsClient.ListByResourceGroup(ctx, groupName)
123+
result, err := az.accountsClient.List(ctx, groupName)
110124
if err != nil {
111125
return -1, err
112126
}
113-
return len(result.Values()), nil
114-
}
115-
116-
func getCloudConfig(env azure.Environment) cloud.Configuration {
117-
switch env.Name {
118-
case azure.USGovernmentCloud.Name:
119-
return cloud.AzureGovernment
120-
case azure.ChinaCloud.Name:
121-
return cloud.AzureChina
122-
case azure.PublicCloud.Name:
123-
return cloud.AzurePublic
124-
default:
125-
return cloud.Configuration{
126-
ActiveDirectoryAuthorityHost: env.ActiveDirectoryEndpoint,
127-
Services: map[cloud.ServiceName]cloud.ServiceConfiguration{
128-
cloud.ResourceManager: {
129-
Audience: env.TokenAudience,
130-
Endpoint: env.ResourceManagerEndpoint,
131-
},
132-
},
133-
}
134-
}
135-
}
136-
137-
func getClient(env azure.Environment, subscriptionID string, cred *azidentity.ClientSecretCredential, scope string) *Client {
138-
c := &Client{
139-
environment: env,
140-
subscriptionID: subscriptionID,
141-
groupsClient: resources.NewGroupsClientWithBaseURI(env.ResourceManagerEndpoint, subscriptionID),
142-
accountsClient: storage.NewAccountsClient(subscriptionID),
143-
}
144-
145-
if !strings.HasSuffix(scope, "/.default") {
146-
scope += "/.default"
147-
}
148-
// Use an adapter so azidentity in the Azure SDK can be used as Authorizer
149-
// when calling the Azure Management Packages, which we currently use. Once
150-
// the Azure SDK clients (found in /sdk) move to stable, we can update our
151-
// clients and they will be able to use the creds directly without the
152-
// authorizer.
153-
authorizer := azidext.NewTokenCredentialAdapter(cred, []string{scope})
154-
c.groupsClient.Authorizer = authorizer
155-
c.accountsClient.Authorizer = authorizer
156-
157-
return c
158-
}
159-
160-
func stringPointer(s string) *string {
161-
return &s
127+
return len(result), nil
162128
}

vendor/github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2018-05-01/resources/CHANGELOG.md

Lines changed: 0 additions & 2 deletions
This file was deleted.

vendor/github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2018-05-01/resources/_meta.json

Lines changed: 0 additions & 11 deletions
This file was deleted.

vendor/github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2018-05-01/resources/client.go

Lines changed: 0 additions & 43 deletions
This file was deleted.

0 commit comments

Comments
 (0)