Skip to content

Commit 6d03c5a

Browse files
committed
kubetest2-kops: use ephemeral discovery store for AWS
Signed-off-by: Marko Mudrinić <[email protected]>
1 parent df49b68 commit 6d03c5a

File tree

4 files changed

+24
-4
lines changed

4 files changed

+24
-4
lines changed

tests/e2e/kubetest2-kops/aws/s3.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,13 @@ type Client struct {
4343
stsClient *sts.Client
4444
}
4545

46+
type BucketType string
47+
48+
const (
49+
BucketTypeStateStore BucketType = "state"
50+
BucketTypeDiscoveryStore BucketType = "discovery"
51+
)
52+
4653
// NewAWSClient returns a new instance of awsClient configured to work in the default region (us-east-2).
4754
func NewClient(ctx context.Context) (*Client, error) {
4855
cfg, err := awsconfig.LoadDefaultConfig(ctx,
@@ -58,7 +65,7 @@ func NewClient(ctx context.Context) (*Client, error) {
5865
}
5966

6067
// BucketName constructs an unique bucket name using the AWS account ID in the default region (us-east-2).
61-
func (c Client) BucketName(ctx context.Context) (string, error) {
68+
func (c Client) BucketName(ctx context.Context, bucketType BucketType) (string, error) {
6269
// Construct the bucket name based on the ProwJob ID (if running in Prow) or AWS account ID (if running outside
6370
// Prow) and the current timestamp
6471
var identifier string
@@ -72,7 +79,7 @@ func (c Client) BucketName(ctx context.Context) (string, error) {
7279
identifier = *callerIdentity.Account
7380
}
7481
timestamp := time.Now().Format("20060102150405")
75-
bucket := fmt.Sprintf("k8s-infra-kops-%s-%s", identifier, timestamp)
82+
bucket := fmt.Sprintf("k8s-infra-kops-%s-%s-%s", bucketType, identifier, timestamp)
7683

7784
bucket = strings.ToLower(bucket)
7885
// Only allow lowercase letters, numbers, and hyphens

tests/e2e/kubetest2-kops/deployer/common.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,7 @@ func (d *deployer) stateStore() string {
359359
switch d.CloudProvider {
360360
case "aws":
361361
ctx := context.Background()
362-
bucketName, err := d.aws.BucketName(ctx)
362+
bucketName, err := d.aws.BucketName(ctx, aws.BucketTypeStateStore)
363363
if err != nil {
364364
klog.Fatalf("Failed to generate bucket name: %v", err)
365365
return ""
@@ -390,7 +390,14 @@ func (d *deployer) discoveryStore() string {
390390
if discovery == "" {
391391
switch d.CloudProvider {
392392
case "aws":
393-
discovery = "s3://k8s-kops-ci-prow"
393+
ctx := context.Background()
394+
bucketName, err := d.aws.BucketName(ctx, aws.BucketTypeDiscoveryStore)
395+
if err != nil {
396+
klog.Fatalf("Failed to generate bucket name: %v", err)
397+
return ""
398+
}
399+
d.createBucket = true
400+
discovery = "s3://" + bucketName
394401
}
395402
}
396403
d.discoveryStoreName = discovery

tests/e2e/kubetest2-kops/deployer/down.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,9 @@ func (d *deployer) Down() error {
8080
if err := d.aws.DeleteS3Bucket(ctx, d.stateStore()); err != nil {
8181
return err
8282
}
83+
if err := d.aws.DeleteS3Bucket(ctx, d.discoveryStore()); err != nil {
84+
return err
85+
}
8386
case "gce":
8487
gce.DeleteGCSBucket(d.stateStore(), d.GCPProject)
8588
gce.DeleteGCSBucket(d.stagingStore(), d.GCPProject)

tests/e2e/kubetest2-kops/deployer/up.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,9 @@ func (d *deployer) Up() error {
7070
if err := d.aws.EnsureS3Bucket(ctx, d.stateStore(), false); err != nil {
7171
return err
7272
}
73+
if err := d.aws.EnsureS3Bucket(ctx, d.discoveryStore(), true); err != nil {
74+
return err
75+
}
7376
case "gce":
7477
if err := gce.EnsureGCSBucket(d.stateStore(), d.GCPProject, false); err != nil {
7578
return err

0 commit comments

Comments
 (0)