1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
#!/bin/sh
fail() { [ $# -eq 0 ] || echo "$@" 1>&2; exit 1; }
# very hacky at the moment
# Requires user to run instances in each region, and
# - update inst_list below with region:instance_id
# - update serial
inst_list="
us-west-1:i-af4b46ea
us-east-1:i-2d825846
eu-west-1:i-e69f3e91
"
serial="20100311"
suite="lucid"
build_name="server"
burl="http://cloud-images.ubuntu.com/${suite}/${serial}"
bucket="ebs/ubuntu-images-testing"
query_info="http://cloud-images.ubuntu.com/query/${suite}/${build_name}/daily.txt"
wget "${query_info}" -O daily.txt
PATH=~/src/ec2-publishing-scripts:$PATH
for x in ${inst_list}; do
region=${x%:*}; iid=${x#*:}
for arch in i386 amd64; do
url=${burl}/unpacked/${suite}-${build_name}-cloudimg-${arch}.img.tar.gz
name="${bucket}/ubuntu-${suite}-daily-${arch}-${build_name}-${serial}"
kern=$(awk '-F\t' '$4 == ser && $6 == arch && $7 == reg { print $9 }' \
ser=${serial} arch=${arch} reg=${region} < daily.txt) &&
[ -n "${kern}" ] || fail "failed to get kernel"
ramd=$(awk '-F\t' '$4 == ser && $6 == arch && $7 == reg { print $10 }' \
ser=${serial} arch=${arch} reg=${region} < daily.txt)
[ -n "${ramd}" ] && rdargs="--ramdisk=${ramd}" || rdargs=""
kargs="--kernel=${kern}"
echo "======= ${region} ${iid} ${arch} ${url} ${name} ========"
ec2-image2ebs --region "${region}" -vv ${kargs} ${rdargs} \
"${iid}" "${arch}" "${url}" "${name}" ||
fail "failed ec2-image2ebs ${iid} ${arch} ${url} ${name}"
done
done
|