@@ -123,6 +123,24 @@ function wait_for_namespace {
123
123
exit 1
124
124
}
125
125
126
+ function get_osp_resources() {
127
+ local resource_path=$1
128
+
129
+ # Check if SHARED_DIR is set
130
+ if [ -z " $SHARED_DIR " ]; then
131
+ echo " Variable 'SHARED_DIR' not set."
132
+ exit 1
133
+ fi
134
+
135
+ # Check if the file exists
136
+ if [ ! -f " $1 " ]; then
137
+ echo " Error: Resource file '$1 ' not found."
138
+ exit 1
139
+ fi
140
+
141
+ cat " $1 "
142
+ }
143
+
126
144
function save_hive_logs() {
127
145
tmpf=$( mktemp)
128
146
for x in " deploy hive-controllers ${HIVE_NS} " \
@@ -241,6 +259,23 @@ case "${CLOUD}" in
241
259
--vsphere-network=$NETWORK_NAME \
242
260
--vsphere-vcenter=$VCENTER "
243
261
;;
262
+ " openstack" )
263
+ CREDS_FILE_ARG=" --creds-file=${SHARED_DIR} /clouds.yaml"
264
+ USE_MANAGED_DNS=false
265
+ BASE_DOMAIN=" ${BASE_DOMAIN:- shiftstack.devcluster.openshift.com } "
266
+ API_FLOATING_IP=$( get_osp_resources " ${SHARED_DIR} /HIVE_FIP_API" )
267
+ INGRESS_FLOATING_IP=$( get_osp_resources " ${SHARED_DIR} /HIVE_FIP_INGRESS" )
268
+ EXTERNAL_NETWORK=$( get_osp_resources " ${SHARED_DIR} /OPENSTACK_EXTERNAL_NETWORK" )
269
+ COMPUTE_FLAVOR=$( get_osp_resources " ${SHARED_DIR} /OPENSTACK_COMPUTE_FLAVOR" )
270
+ CONTROLPLANE_FLAVOR=$( get_osp_resources " ${SHARED_DIR} /OPENSTACK_CONTROLPLANE_FLAVOR" )
271
+ EXTRA_CREATE_CLUSTER_ARGS=" --openstack-api-floating-ip=$API_FLOATING_IP \
272
+ --openstack-ingress-floating-ip=$INGRESS_FLOATING_IP \
273
+ --machine-network=" 10.0.0.0/16" \
274
+ --openstack-cloud=" openstack" \
275
+ --openstack-external-network=$EXTERNAL_NETWORK \
276
+ --openstack-compute-flavor=$COMPUTE_FLAVOR \
277
+ --openstack-master-flavor=$CONTROLPLANE_FLAVOR "
278
+ ;;
244
279
* )
245
280
echo " unknown cloud: ${CLOUD} "
246
281
exit 1
0 commit comments