fix import script
This commit is contained in:
parent
4204f63228
commit
af7983c5cf
@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
VERSION="$1"
|
VERSION="$1"
|
||||||
EPOCH=0
|
EPOCH=${EPOCH:-0}
|
||||||
|
|
||||||
RLVER=$VERSION
|
RLVER=$VERSION
|
||||||
|
|
||||||
@ -77,17 +77,18 @@ begin-job() {
|
|||||||
import_task_id="$(aws ec2 import-snapshot --disk-container "file://$PWD/$json" --query 'ImportTaskId')"
|
import_task_id="$(aws ec2 import-snapshot --disk-container "file://$PWD/$json" --query 'ImportTaskId')"
|
||||||
if [[ -z $import_task_id ]]; then
|
if [[ -z $import_task_id ]]; then
|
||||||
echo "Failed to import $json"
|
echo "Failed to import $json"
|
||||||
exit 5
|
return 1
|
||||||
fi
|
fi
|
||||||
echo $import_task_id
|
echo $import_task_id
|
||||||
return
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
is-snapshot-imported() {
|
is-snapshot-imported() {
|
||||||
snapshot_id=$(aws ec2 describe-import-snapshot-tasks --query 'ImportSnapshotTasks[].SnapshotTaskDetail.SnapshotId[]' --import-task-ids $1)
|
snapshot_id=$(aws ec2 describe-import-snapshot-tasks --query 'ImportSnapshotTasks[].SnapshotTaskDetail.SnapshotId[]' --import-task-ids $1)
|
||||||
if [[ -z "$snapshot_id" ]]; then
|
if [[ -z "$snapshot_id" ]]; then
|
||||||
return 0
|
return 1
|
||||||
fi
|
fi
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
register-image() {
|
register-image() {
|
||||||
@ -107,6 +108,7 @@ register-image() {
|
|||||||
if [[ -z "$ami_id" ]]; then
|
if [[ -z "$ami_id" ]]; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
tag-resources() {
|
tag-resources() {
|
||||||
@ -152,11 +154,11 @@ declare -A import_jobs
|
|||||||
declare -A snapshot_ids
|
declare -A snapshot_ids
|
||||||
declare -A ami_ids
|
declare -A ami_ids
|
||||||
|
|
||||||
ARCHES=(x86_64 aarch64)
|
TARGET_ARCHES=(x86_64 aarch64)
|
||||||
VARIANTS=(Base LVM)
|
TARGET_VARIANTS=(Base LVM)
|
||||||
|
|
||||||
for variant in "${VARIANTS[@]}"; do
|
for variant in "${TARGET_VARIANTS[@]}"; do
|
||||||
for arch in "${ARCHES[@]}"; do
|
for arch in "${TARGET_ARCHES[@]}"; do
|
||||||
latest=$(printf "Rocky-%s-EC2-%s.latest.%s" "$VERSION" $variant $arch)
|
latest=$(printf "Rocky-%s-EC2-%s.latest.%s" "$VERSION" $variant $arch)
|
||||||
name=$(printf "Rocky-%s-EC2-%s-%s-%s.%s.%s" "$VERSION" $variant $REVISION $DATE $EPOCH $arch)
|
name=$(printf "Rocky-%s-EC2-%s-%s-%s.%s.%s" "$VERSION" $variant $REVISION $DATE $EPOCH $arch)
|
||||||
qcow=${latest}.qcow2
|
qcow=${latest}.qcow2
|
||||||
@ -195,12 +197,16 @@ while ! $finished; do
|
|||||||
for name in "${!import_jobs[@]}"; do
|
for name in "${!import_jobs[@]}"; do
|
||||||
import_task_id="${import_jobs[${name}]}"
|
import_task_id="${import_jobs[${name}]}"
|
||||||
if ! is-snapshot-imported $import_task_id; then
|
if ! is-snapshot-imported $import_task_id; then
|
||||||
|
echo "Snapshot for $import_task_id ($name) is not yet finished"
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# await finalization
|
||||||
|
sleep 2
|
||||||
|
|
||||||
if [[ -z $snapshot_id ]]; then
|
if [[ -z $snapshot_id ]]; then
|
||||||
echo "Snapshot ID is null.. continuing"
|
echo "Snapshot ID is null.. exiting"
|
||||||
continue
|
exit 2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Tagging snapshot with name"
|
echo "Tagging snapshot with name"
|
||||||
@ -211,6 +217,7 @@ while ! $finished; do
|
|||||||
done
|
done
|
||||||
# Check if we're done, if so, great!
|
# Check if we're done, if so, great!
|
||||||
if [[ ${#import_jobs[@]} -gt 0 ]]; then
|
if [[ ${#import_jobs[@]} -gt 0 ]]; then
|
||||||
|
echo "Sleeping for 1m"
|
||||||
sleep 1m
|
sleep 1m
|
||||||
continue
|
continue
|
||||||
else
|
else
|
||||||
@ -225,7 +232,7 @@ while ! $finished; do
|
|||||||
# If the snapshot is imported, turn it into an AMI
|
# If the snapshot is imported, turn it into an AMI
|
||||||
snapshot_id="${snapshot_ids[${name}]}"
|
snapshot_id="${snapshot_ids[${name}]}"
|
||||||
|
|
||||||
echo "Creating AMI from snapshot."
|
echo "Creating AMI from snapshot $snapshot_id ($name)"
|
||||||
if ! register-image $name $snapshot_id; then
|
if ! register-image $name $snapshot_id; then
|
||||||
echo "ERROR: Failed to create image for $name with snapshot id $snapshot_id"
|
echo "ERROR: Failed to create image for $name with snapshot id $snapshot_id"
|
||||||
continue
|
continue
|
||||||
|
Loading…
Reference in New Issue
Block a user