Skip to content

Commit ef581dc

Browse files
author
Max Rantil
committed
Make it able to bring your own OpenStack volume
Signed-off-by: Max Rantil <[email protected]>
1 parent 141013b commit ef581dc

File tree

2 files changed

+18
-15
lines changed

2 files changed

+18
-15
lines changed

hack/ci/cloud-init/controller.yaml.tpl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,9 @@
150150
openstack aggregate add host "$aggregateid" "$host"
151151
done
152152

153+
# Create volume types
154+
openstack volume type create "test-volume-type" --description "Test volume type" --public
155+
153156
# the flavors are created in a way that we can execute at least 2 e2e tests in parallel (overall we have 32 vCPUs)
154157
openstack flavor delete m1.tiny
155158
openstack flavor create --ram 512 --disk 1 --ephemeral 1 --vcpus 1 --public --id 1 m1.tiny --property hw_rng:allowed='True'

test/e2e/suites/e2e/e2e_test.go

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -49,16 +49,15 @@ import (
4949
utilrand "k8s.io/apimachinery/pkg/util/rand"
5050
"k8s.io/apimachinery/pkg/util/sets"
5151
"k8s.io/utils/pointer"
52+
infrav1 "sigs.k8s.io/cluster-api-provider-openstack/api/v1alpha7"
53+
capoerrors "sigs.k8s.io/cluster-api-provider-openstack/pkg/utils/errors"
54+
"sigs.k8s.io/cluster-api-provider-openstack/test/e2e/shared"
5255
clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
5356
bootstrapv1 "sigs.k8s.io/cluster-api/bootstrap/kubeadm/api/v1beta1"
5457
"sigs.k8s.io/cluster-api/controllers/noderefutil"
5558
"sigs.k8s.io/cluster-api/test/framework"
5659
"sigs.k8s.io/cluster-api/test/framework/clusterctl"
5760
crclient "sigs.k8s.io/controller-runtime/pkg/client"
58-
59-
infrav1 "sigs.k8s.io/cluster-api-provider-openstack/api/v1alpha7"
60-
capoerrors "sigs.k8s.io/cluster-api-provider-openstack/pkg/utils/errors"
61-
"sigs.k8s.io/cluster-api-provider-openstack/test/e2e/shared"
6261
)
6362

6463
const specName = "e2e"
@@ -898,16 +897,17 @@ func createTestVolumeType(e2eCtx *shared.E2EContext) {
898897
volumeClient, err := openstack.NewBlockStorageV3(providerClient, gophercloud.EndpointOpts{Region: clientOpts.RegionName})
899898
Expect(err).NotTo(HaveOccurred())
900899

901-
shared.Logf("Creating test volume type")
902-
_, err = volumetypes.Create(volumeClient, &volumetypes.CreateOpts{
903-
Name: e2eCtx.E2EConfig.GetVariable(shared.OpenStackVolumeTypeAlt),
904-
Description: "Test volume type",
905-
IsPublic: pointer.Bool(true),
906-
ExtraSpecs: map[string]string{},
907-
}).Extract()
908-
if capoerrors.IsConflict(err) {
909-
shared.Logf("Volume type already exists. This may happen in development environments, but it is not expected in CI.")
910-
return
900+
volumeTypeName := e2eCtx.E2EConfig.GetVariable(shared.OpenStackVolumeTypeAlt)
901+
902+
shared.Logf("Checking if test volume type '%s' exists", volumeTypeName)
903+
_, err = volumetypes.Get(volumeClient, volumeTypeName).Extract()
904+
905+
if err != nil {
906+
if capoerrors.IsConflict(err) {
907+
shared.Logf("Volume type already exists. This may happen in development environments, but it is not expected in CI.")
908+
return
909+
}
910+
Expect(err).NotTo(HaveOccurred())
911911
}
912-
Expect(err).NotTo(HaveOccurred())
912+
shared.Logf("Proceeding with volume type '%s'.", volumeTypeName)
913913
}

0 commit comments

Comments
 (0)