diff --git a/tests/e2e/kubetest2-kops/aws/s3.go b/tests/e2e/kubetest2-kops/aws/s3.go index 0eeb216a6e87a..ab67b81bcf203 100644 --- a/tests/e2e/kubetest2-kops/aws/s3.go +++ b/tests/e2e/kubetest2-kops/aws/s3.go @@ -43,6 +43,13 @@ type Client struct { stsClient *sts.Client } +type BucketType string + +const ( + BucketTypeStateStore BucketType = "state" + BucketTypeDiscoveryStore BucketType = "discovery" +) + // NewAWSClient returns a new instance of awsClient configured to work in the default region (us-east-2). func NewClient(ctx context.Context) (*Client, error) { cfg, err := awsconfig.LoadDefaultConfig(ctx, @@ -58,7 +65,7 @@ func NewClient(ctx context.Context) (*Client, error) { } // BucketName constructs an unique bucket name using the AWS account ID in the default region (us-east-2). -func (c Client) BucketName(ctx context.Context) (string, error) { +func (c Client) BucketName(ctx context.Context, bucketType BucketType) (string, error) { // Construct the bucket name based on the ProwJob ID (if running in Prow) or AWS account ID (if running outside // Prow) and the current timestamp var identifier string @@ -72,7 +79,7 @@ func (c Client) BucketName(ctx context.Context) (string, error) { identifier = *callerIdentity.Account } timestamp := time.Now().Format("20060102150405") - bucket := fmt.Sprintf("k8s-infra-kops-%s-%s", identifier, timestamp) + bucket := fmt.Sprintf("k8s-infra-kops-%s-%s-%s", bucketType, identifier, timestamp) bucket = strings.ToLower(bucket) // Only allow lowercase letters, numbers, and hyphens @@ -120,6 +127,8 @@ func (c Client) EnsureS3Bucket(ctx context.Context, bucketName string, publicRea klog.Infof("Bucket %s created successfully", bucketName) if publicRead { + fmt.Println("WAITING 5 MINUTES !!! ") + time.Sleep(5 * time.Minute) err = c.setPublicReadPolicy(ctx, bucketName) if err != nil { klog.Errorf("Failed to set public read policy on bucket %s, err: %v", bucketName, err) diff --git a/tests/e2e/kubetest2-kops/deployer/common.go b/tests/e2e/kubetest2-kops/deployer/common.go index 79d0551a2954f..c46b37afbe085 100644 --- a/tests/e2e/kubetest2-kops/deployer/common.go +++ b/tests/e2e/kubetest2-kops/deployer/common.go @@ -359,7 +359,7 @@ func (d *deployer) stateStore() string { switch d.CloudProvider { case "aws": ctx := context.Background() - bucketName, err := d.aws.BucketName(ctx) + bucketName, err := d.aws.BucketName(ctx, aws.BucketTypeStateStore) if err != nil { klog.Fatalf("Failed to generate bucket name: %v", err) return "" @@ -390,7 +390,14 @@ func (d *deployer) discoveryStore() string { if discovery == "" { switch d.CloudProvider { case "aws": - discovery = "s3://k8s-kops-ci-prow" + ctx := context.Background() + bucketName, err := d.aws.BucketName(ctx, aws.BucketTypeDiscoveryStore) + if err != nil { + klog.Fatalf("Failed to generate bucket name: %v", err) + return "" + } + d.createBucket = true + discovery = "s3://" + bucketName } } d.discoveryStoreName = discovery diff --git a/tests/e2e/kubetest2-kops/deployer/down.go b/tests/e2e/kubetest2-kops/deployer/down.go index 2904a1db9e5e2..bf50a276e0473 100644 --- a/tests/e2e/kubetest2-kops/deployer/down.go +++ b/tests/e2e/kubetest2-kops/deployer/down.go @@ -80,6 +80,9 @@ func (d *deployer) Down() error { if err := d.aws.DeleteS3Bucket(ctx, d.stateStore()); err != nil { return err } + if err := d.aws.DeleteS3Bucket(ctx, d.discoveryStore()); err != nil { + return err + } case "gce": gce.DeleteGCSBucket(d.stateStore(), d.GCPProject) gce.DeleteGCSBucket(d.stagingStore(), d.GCPProject) diff --git a/tests/e2e/kubetest2-kops/deployer/up.go b/tests/e2e/kubetest2-kops/deployer/up.go index 2873d4b62f86a..ae3d4971afa10 100644 --- a/tests/e2e/kubetest2-kops/deployer/up.go +++ b/tests/e2e/kubetest2-kops/deployer/up.go @@ -70,6 +70,9 @@ func (d *deployer) Up() error { if err := d.aws.EnsureS3Bucket(ctx, d.stateStore(), false); err != nil { return err } + if err := d.aws.EnsureS3Bucket(ctx, d.discoveryStore(), true); err != nil { + return err + } case "gce": if err := gce.EnsureGCSBucket(d.stateStore(), d.GCPProject, false); err != nil { return err