Skip to content
This repository was archived by the owner on Oct 12, 2023. It is now read-only.

Commit 7ba781f

Browse files
authored
chore: set context timeout for tests (#630)
* set context timeout for tests * remove gatekeeper test from PR
1 parent fd105c7 commit 7ba781f

File tree

2 files changed

+15
-7
lines changed

2 files changed

+15
-7
lines changed

test/e2e/aadpodidentity_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -848,7 +848,7 @@ var _ = Describe("Kubernetes cluster using aad-pod-identity", func() {
848848
validateAzureAssignedIdentity(azureAssignedIdentity, keyvaultIdentity, keyvaultIdentity)
849849
})
850850

851-
It("should pass the identity format validation with gatekeeper constraint [PR]", func() {
851+
It("should pass the identity format validation with gatekeeper constraint", func() {
852852
// setup the required infra
853853
setupIdentityFormatValidationInfra()
854854

test/e2e/identityvalidator/identityvalidator.go

+14-6
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"fmt"
66
"os"
7+
"time"
78

89
"github.com/pkg/errors"
910
"k8s.io/klog"
@@ -26,6 +27,10 @@ var (
2627
keyvaultSecretVersion = pflag.String("keyvault-secret-version", "", "the version of the keyvault secret we are extracting with pod identity")
2728
)
2829

30+
const (
31+
contextTimeout = 150 * time.Second
32+
)
33+
2934
func main() {
3035
pflag.Parse()
3136

@@ -41,14 +46,17 @@ func main() {
4146
}
4247
klog.Infof("Successfully obtain MSIEndpoint: %s\n", msiEndpoint)
4348

49+
ctx, ctxCancel := context.WithTimeout(context.Background(), contextTimeout)
50+
defer ctxCancel()
51+
4452
if *keyvaultName != "" && *keyvaultSecretName != "" {
4553
// Test if the pod identity is set up correctly
46-
if err := testUserAssignedIdentityOnPod(msiEndpoint, *identityClientID, *keyvaultName, *keyvaultSecretName, *keyvaultSecretVersion); err != nil {
54+
if err := testUserAssignedIdentityOnPod(ctx, msiEndpoint, *identityClientID, *keyvaultName, *keyvaultSecretName, *keyvaultSecretVersion); err != nil {
4755
klog.Fatalf("testUserAssignedIdentityOnPod failed, %+v", err)
4856
}
4957
} else {
5058
// Test if the cluster-wide user assigned identity is set up correctly
51-
if err := testClusterWideUserAssignedIdentity(msiEndpoint, *subscriptionID, *resourceGroup, *identityClientID); err != nil {
59+
if err := testClusterWideUserAssignedIdentity(ctx, msiEndpoint, *subscriptionID, *resourceGroup, *identityClientID); err != nil {
5260
klog.Fatalf("testClusterWideUserAssignedIdentity failed, %+v", err)
5361
}
5462
}
@@ -60,7 +68,7 @@ func main() {
6068
}
6169

6270
// testClusterWideUserAssignedIdentity will verify whether cluster-wide user assigned identity is working properly
63-
func testClusterWideUserAssignedIdentity(msiEndpoint, subscriptionID, resourceGroup, identityClientID string) error {
71+
func testClusterWideUserAssignedIdentity(ctx context.Context, msiEndpoint, subscriptionID, resourceGroup, identityClientID string) error {
6472
os.Setenv("AZURE_CLIENT_ID", identityClientID)
6573
defer os.Unsetenv("AZURE_CLIENT_ID")
6674
token, err := adal.NewServicePrincipalTokenFromMSIWithUserAssignedID(msiEndpoint, azure.PublicCloud.ResourceManagerEndpoint, identityClientID)
@@ -70,7 +78,7 @@ func testClusterWideUserAssignedIdentity(msiEndpoint, subscriptionID, resourceGr
7078

7179
vmClient := compute.NewVirtualMachinesClient(subscriptionID)
7280
vmClient.Authorizer = autorest.NewBearerAuthorizer(token)
73-
vmlist, err := vmClient.List(context.Background(), resourceGroup)
81+
vmlist, err := vmClient.List(ctx, resourceGroup)
7482
if err != nil {
7583
return errors.Wrapf(err, "Failed to verify cluster-wide user assigned identity")
7684
}
@@ -80,7 +88,7 @@ func testClusterWideUserAssignedIdentity(msiEndpoint, subscriptionID, resourceGr
8088
}
8189

8290
// testUserAssignedIdentityOnPod will verify whether a pod identity is working properly
83-
func testUserAssignedIdentityOnPod(msiEndpoint, identityClientID, keyvaultName, keyvaultSecretName, keyvaultSecretVersion string) error {
91+
func testUserAssignedIdentityOnPod(ctx context.Context, msiEndpoint, identityClientID, keyvaultName, keyvaultSecretName, keyvaultSecretVersion string) error {
8492
// When new authorizer is created, azure-sdk-for-go tries to create dataplane authorizer using MSI. It checks the AZURE_CLIENT_ID to get the client id
8593
// for the user assigned identity. If client id not found, then NewServicePrincipalTokenFromMSI is invoked instead of using the actual
8694
// user assigned identity. Setting this env var ensures we validate GetSecret using the desired user assigned identity.
@@ -94,7 +102,7 @@ func testUserAssignedIdentityOnPod(msiEndpoint, identityClientID, keyvaultName,
94102
}
95103

96104
klog.Infof("%s %s %s\n", keyvaultName, keyvaultSecretName, keyvaultSecretVersion)
97-
secret, err := keyClient.GetSecret(context.Background(), fmt.Sprintf("https://%s.vault.azure.net", keyvaultName), keyvaultSecretName, keyvaultSecretVersion)
105+
secret, err := keyClient.GetSecret(ctx, fmt.Sprintf("https://%s.vault.azure.net", keyvaultName), keyvaultSecretName, keyvaultSecretVersion)
98106
if err != nil || *secret.Value == "" {
99107
return errors.Wrapf(err, "Failed to verify user assigned identity on pod")
100108
}

0 commit comments

Comments
 (0)