Skip to content

Commit b45c700

Browse files
committed
Devstack: Make boot volume optional on openstack
This makes it possible to choose if the devstack should be created with or without volumes when running on openstack. It also bumps the default image name to ubuntu-2404-lts to match the other resource types. Signed-off-by: Lennart Jern <[email protected]>
1 parent 7074d80 commit b45c700

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

hack/ci/openstack.sh

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,14 @@ set -x -o errexit -o nounset -o pipefail
2424
# SSH_PRIVATE_KEY_FILE
2525
# OPENSTACK_PUBLIC_NETWORK
2626
# OPENSTACK_PUBLIC_IP (optional, will be created on OPENSTACK_PUBLIC_NETWORK if not defined)
27+
# USE_VOLUMES (optional, default true)
2728

2829
function cloud_init {
2930
OPENSTACK_NETWORK_NAME=${OPENSTACK_NETWORK_NAME:-${CLUSTER_NAME}-network}
3031
OPENSTACK_SUBNET_NAME=${OPENSTACK_SUBNET_NAME:-${CLUSTER_NAME}-subnet}
3132
OPENSTACK_SECGROUP_NAME=${OPENSTACK_SECGROUP_NAME:-${CLUSTER_NAME}-secgroup}
3233
OPENSTACK_ROUTER_NAME=${OPENSTACK_ROUTER_NAME:-${CLUSTER_NAME}-router}
33-
OPENSTACK_IMAGE_NAME=${OPENSTACK_IMAGE_NAME:-ubuntu-2204-lts}
34+
OPENSTACK_IMAGE_NAME=${OPENSTACK_IMAGE_NAME:-ubuntu-2404-lts}
3435

3536
OPENSTACK_FLAVOR=${OPENSTACK_FLAVOR:-m1.xlarge}
3637
OPENSTACK_FLAVOR_controller=${OPENSTACK_FLAVOR_controller:-$OPENSTACK_FLAVOR}
@@ -109,24 +110,29 @@ function create_vm {
109110
secgroupid=${secgroupid:-${OPENSTACK_SECGROUP_NAME}}
110111
imageid=${imageid:-${OPENSTACK_IMAGE_NAME}}
111112

112-
local volumename="${CLUSTER_NAME}-${name}"
113-
local volumeid
114-
if ! volumeid=$(openstack volume show "$volumename" -f value -c id 2>/dev/null)
115-
then
116-
volumeid=$(openstack volume create -f value -c id --size 200 \
117-
--bootable --image "$imageid" "$volumename")
118-
while [ "$(openstack volume show "$volumename" -f value -c status 2>/dev/null)" != "available" ]; do
119-
echo "Waiting for volume to become available"
120-
sleep 5
121-
done
113+
local storage_medium_flag="--image=$imageid"
114+
115+
if [ "${USE_VOLUMES:-true}" == "true" ]; then
116+
local volumename="${CLUSTER_NAME}-${name}"
117+
local volumeid
118+
if ! volumeid=$(openstack volume show "$volumename" -f value -c id 2>/dev/null)
119+
then
120+
volumeid=$(openstack volume create -f value -c id --size 200 \
121+
--bootable --image "$imageid" "$volumename")
122+
while [ "$(openstack volume show "$volumename" -f value -c status 2>/dev/null)" != "available" ]; do
123+
echo "Waiting for volume to become available"
124+
sleep 5
125+
done
126+
fi
127+
storage_medium_flag="--volume=$volumeid"
122128
fi
123129

124130
local serverid
125131
if ! serverid=$(openstack server show "$servername" -f value -c id 2>/dev/null)
126132
then
127133
serverid=$(openstack server create -f value -c id \
128134
--os-compute-api-version 2.52 --tag "$CLUSTER_NAME" \
129-
--flavor "$flavor" --volume "$volumeid" \
135+
--flavor "$flavor" "$storage_medium_flag" \
130136
--nic net-id="$networkid",v4-fixed-ip="$ip" \
131137
--security-group "$secgroupid" \
132138
--user-data "$userdata" \

0 commit comments

Comments
 (0)