Skip to content

Commit 5af8292

Browse files
committed
Add tags to the volume, support running the script using external arguments
1 parent ea3d5a0 commit 5af8292

File tree

2 files changed

+140
-77
lines changed

2 files changed

+140
-77
lines changed

Management-Utilities/ec2-user-data-iscsi-create-and-mount/linux_userData.sh

100644100755
Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,27 @@
11
#!/bin/bash
22

33
# user data
4-
# Set the secret name and region
5-
SECRET_NAME=[Secret name has it been saved in AWS secret manager]
6-
AWS_REGION=[AWS region]
7-
8-
FSXN_ADMIN_IP=[Fsx admin ip, e.g. 172.25.45.32]
9-
# Volume name
10-
VOLUME_NAME=[Fsx volume name, e.g. iscsiVol]
11-
# Volume size in GB
12-
VOLUME_SIZE=[volume size in GB, e.g 100]
4+
# Secret name has it been saved in AWS secret manager
5+
SECRET_NAME=
6+
AWS_REGION=
7+
# Fsx admin ip, e.g. 172.25.45.32
8+
FSXN_ADMIN_IP=
9+
# FSxN Volume name , e.g. iscsiVol
10+
VOLUME_NAME=
11+
# Volume size in GB e.g 100
12+
VOLUME_SIZE=
1313
# Default value is fsx, but you can change it to any other value according to yours FSx for ONTAP SVM name
1414
SVM_NAME=fsx
1515
# Default value is fsxadmin, but you can change it to any other value according to yours FSx for ONTAP admin user name
1616
ONTAP_USER=fsxadmin
1717
# end - user data
1818

19+
SECRET_NAME="${SECRET_NAME:=$1}"
20+
AWS_REGION="${AWS_REGION:=$2}"
21+
FSXN_ADMIN_IP="${FSXN_ADMIN_IP:=$3}"
22+
VOLUME_NAME="${VOLUME_NAME:=$4}"
23+
VOLUME_SIZE="${VOLUME_SIZE:=$5}"
24+
1925
min=100
2026
max=999
2127
LUN_NAME=${VOLUME_NAME}_$(($RANDOM%($max-$min+1)+$min))
@@ -154,6 +160,8 @@ else
154160
logMessage "Initiator ${initiatorName} with group ${groupName} already exists, skipping creation."
155161
fi
156162

163+
instance_id=$(ec2-metadata -i | awk '{print $2}')
164+
157165
logMessage "Create volume for vserver: ${SVM_NAME} volume name: ${VOLUME_NAME} and size: ${VOLUME_SIZE}g"
158166
createVolumeResult=$(curl -m $TIMEOUT -X POST -u "$ONTAP_USER":"$FSXN_PASSWORD" -k "https://$FSXN_ADMIN_IP/api/storage/volumes" -d '{
159167
"name": "'$VOLUME_NAME'",
@@ -164,9 +172,14 @@ createVolumeResult=$(curl -m $TIMEOUT -X POST -u "$ONTAP_USER":"$FSXN_PASSWORD"
164172
},
165173
"aggregates": [{
166174
"name": "aggr1"
167-
}]
175+
}],
176+
"_tags": [
177+
"instanceId:'$instance_id'",
178+
"hostName:'$(hostname)'",
179+
"mountPoint:'$VOLUME_NAME'"
180+
]
168181
}')
169-
sleep 5
182+
sleep 10
170183
jobId=$(echo "${createVolumeResult}" | jq -r '.job.uuid')
171184
jobStatus=$(curl -X GET -u "$ONTAP_USER":"$FSXN_PASSWORD" -k "https://$FSXN_ADMIN_IP/api/cluster/jobs/$jobId")
172185
jobState=$(echo "$jobStatus" | jq -r '.state')

0 commit comments

Comments
 (0)