Skip to content

Commit fc8fb06

Browse files
committed
server.sh: add AZ support
So we can monitor mecha-az0 too at some point.
1 parent 05602a4 commit fc8fb06

File tree

1 file changed

+29
-16
lines changed

1 file changed

+29
-16
lines changed

server.sh

Lines changed: 29 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ print_help() {
3535
echo -e '\t-k\tName or ID of the SSH public key to add to the server.'
3636
echo -e '\t-d\tRun the script in debug mode'
3737
echo -e '\t-p\tDo not clean up the server after creation'
38+
echo -e '\t-z\tAvailability zone where to create the server and volume'
3839
echo -e '\t\t(will print a cleanup script instead of executing it).'
3940
echo -e '\t-u\tName of the cloud user from the image (e.g. centos) [not used, except to imply -l]'
4041
echo -e '\t-l\tInstall and run a connectivity test application'
@@ -49,21 +50,23 @@ declare \
4950
server_flavor='' \
5051
server_image='' \
5152
key_name='' \
53+
availability_zone='' \
5254
external_network='external'
5355
# Note that the $OPTARG to -u is ignored because it is deprecated
54-
while getopts dtplf:u:i:e:k:h opt; do
56+
while getopts dtplf:u:i:e:k:z:h opt; do
5557
case "$opt" in
56-
d) debug='yes' ;;
57-
p) persistent='yes' ;;
58-
t) interactive='no' ;;
59-
u) liveness='yes' ;;
60-
l) liveness='yes' ;;
61-
f) server_flavor="$OPTARG" ;;
62-
i) server_image="$OPTARG" ;;
63-
e) external_network="$OPTARG" ;;
64-
k) key_name="$OPTARG" ;;
65-
h) print_help; exit 0 ;;
66-
*) exit 1 ;;
58+
d) debug='yes' ;;
59+
p) persistent='yes' ;;
60+
t) interactive='no' ;;
61+
u) liveness='yes' ;;
62+
l) liveness='yes' ;;
63+
f) server_flavor="$OPTARG" ;;
64+
i) server_image="$OPTARG" ;;
65+
e) external_network="$OPTARG" ;;
66+
k) key_name="$OPTARG" ;;
67+
z) availability_zone="$OPTARG" ;;
68+
h) print_help; exit 0 ;;
69+
*) exit 1 ;;
6770
esac
6871
done
6972

@@ -74,9 +77,10 @@ fi
7477
shift "$((OPTIND-1))"
7578
declare -r name="${1:?This script requires one positional argument: the resource name}"
7679
readonly \
77-
server_flavor \
78-
server_image \
79-
key_name \
80+
server_flavor \
81+
server_image \
82+
key_name \
83+
availability_zone \
8084
external_network
8185

8286
declare \
@@ -176,7 +180,13 @@ EOF
176180

177181
}
178182

179-
vol_id="$(openstack volume create --size 10 -f value -c id "$name")"
183+
volume_create_args=(
184+
--size 10
185+
)
186+
if [ -n "$availability_zone" ]; then
187+
volume_create_args+=(--availability-zone "$availability_zone")
188+
fi
189+
vol_id="$(openstack volume create -f value -c id "${volume_create_args[@]}" "$name")"
180190
>&2 echo "Created volume ${vol_id}"
181191

182192
sg_id="$(openstack security group create -f value -c id "$name")"
@@ -219,6 +229,9 @@ server_create_args=(
219229
if [ -n "$key_name" ]; then
220230
server_create_args+=(--key-name "$key_name")
221231
fi
232+
if [ -n "$availability_zone" ]; then
233+
server_create_args+=(--availability-zone "$availability_zone")
234+
fi
222235
if [ "$liveness" == 'yes' ]; then
223236
server_create_args+=(--user-data "${script_dir}/connectivity-test-cloud-init.yaml")
224237
fi

0 commit comments

Comments
 (0)