Skip to content

Commit 6a400c1

Browse files
committed
Adds Nova boot example with a certificate in metadata
1 parent 39c63f7 commit 6a400c1

File tree

2 files changed

+38
-0
lines changed

2 files changed

+38
-0
lines changed

delete-rdo.sh

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/bin/bash
2+
set -e
3+
4+
if [ $# -lt 5 ]; then
5+
echo "Usage: $0 <esxi_user> <esxi_host> <scripts_datastore> <datastore> <rdo_name> [<esxi_public_switch>]"
6+
exit 1
7+
fi
8+
9+
ESXI_USER=$1
10+
ESXI_HOST=$2
11+
SCRIPTS_DATASTORE=$3
12+
DATASTORE=$4
13+
RDO_NAME=$5
14+
ESXI_SWITCH=${6:-vSwitch0}
15+
16+
ESXI_SCRIPTS_DIR=/vmfs/volumes/$SCRIPTS_DATASTORE/unattended-scripts/
17+
18+
ssh $ESXI_USER@$ESXI_HOST "$ESXI_SCRIPTS_DIR/delete-rdo.sh" "$DATASTORE" "$RDO_NAME" "$ESXI_SWITCH"
19+

nova_boot_cert_auth.sh

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/bin/sh
2+
set -e
3+
4+
PEM_FILE=winrm_client_cert.pem
5+
IMAGE_NAME="your windows image"
6+
KEY=key1
7+
INSTANCE_NAME=vm1
8+
FLAVOR=2
9+
10+
# Split the base64 encoded certificate in chunks of 255 chars
11+
# to overcome Nova's custom metadata length limit
12+
declare -a CERT=(`openssl x509 -inform pem -in "$PEM_FILE" -outform der | base64 -w 0 |sed -r 's/(.{255})/\1\n/g'`)
13+
14+
nova boot --flavor $FLAVOR --image "$IMAGE_NAME" --key-name $KEY1 $INSTANCE_NAME \
15+
--meta admin_cert0="${CERT[0]}" \
16+
--meta admin_cert1="${CERT[1]}" \
17+
--meta admin_cert2="${CERT[2]}" \
18+
--meta admin_cert3="${CERT[3]}" \
19+
--meta admin_cert4="${CERT[4]}"

0 commit comments

Comments
 (0)