Skip to content

Commit cfddc49

Browse files
Merge pull request #364 from huali9/upd75396
OCPQE-27644: upd75396
2 parents 141106f + 809e882 commit cfddc49

File tree

2 files changed

+34
-13
lines changed

2 files changed

+34
-13
lines changed

pkg/capi/aws.go

+9-13
Original file line numberDiff line numberDiff line change
@@ -116,20 +116,16 @@ var _ = Describe("Cluster API AWS MachineSet", framework.LabelCAPI, framework.La
116116
//huliu-OCP-75396 - [CAPI] Creating machines using KMS keys from AWS.
117117
It("should be able to run a machine using KMS keys", framework.LabelQEOnly, func() {
118118
awsMachineTemplate = newAWSMachineTemplate(mapiDefaultProviderSpec)
119-
region := mapiDefaultProviderSpec.Placement.Region
120-
if region != "us-east-1" && region != "us-east-2" {
121-
Skip("Region is " + region + ", skip this test scenario because we only created kms key in us-east-1/us-east-2 region")
122-
}
123-
var key string
124-
switch region {
125-
case "us-east-1":
126-
key = "arn:aws:kms:us-east-1:301721915996:key/c471ec83-cfaf-41a2-9241-d9e99c4da344"
127-
case "us-east-2":
128-
key = "arn:aws:kms:us-east-2:301721915996:key/c228ef83-df2c-4151-84c4-d9f39f39a972"
129-
}
130119
awskmsClient := framework.NewAwsKmsClient(framework.GetCredentialsFromCluster(oc))
131-
_, err = awskmsClient.DescribeKeyByID(key)
132-
Expect(err).ToNot(HaveOccurred(), "Failed to get the key")
120+
key, err := awskmsClient.CreateKey(infrastructureName + " key 75396")
121+
if err != nil {
122+
Skip("Create key failed, skip the cases!!")
123+
}
124+
defer func() {
125+
err := awskmsClient.DeleteKey(key)
126+
Expect(err).ToNot(HaveOccurred(), "Failed to delete the key")
127+
}()
128+
133129
encryptBool := true
134130
awsMachineTemplate.Spec.Template.Spec.NonRootVolumes = []awsv1.Volume{
135131
{

pkg/framework/aws_client.go

+25
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,31 @@ func (akms *AwsKmsClient) DescribeKeyByID(kmsKeyID string) (string, error) {
146146
return result.String(), nil
147147
}
148148

149+
// CreateKey create a key.
150+
func (akms *AwsKmsClient) CreateKey(description string) (string, error) {
151+
createRes, err := akms.kmssvc.CreateKey(&kms.CreateKeyInput{
152+
Description: aws.String(description),
153+
})
154+
if err != nil {
155+
klog.Infof("Error creating key %s", err.Error())
156+
return "", err
157+
}
158+
159+
klog.Infof("key created: %s", *createRes.KeyMetadata.Arn)
160+
161+
return *createRes.KeyMetadata.Arn, nil
162+
}
163+
164+
// DeleteKey delete a key.
165+
func (akms *AwsKmsClient) DeleteKey(key string) error {
166+
_, err := akms.kmssvc.ScheduleKeyDeletion(&kms.ScheduleKeyDeletionInput{
167+
KeyId: aws.String(key),
168+
PendingWindowInDays: aws.Int64(7),
169+
})
170+
171+
return err
172+
}
173+
149174
func timePtr(t time.Time) *time.Time {
150175
return &t
151176
}

0 commit comments

Comments
 (0)