~smoser/ubuntu-on-ec2/ec2-publishing-scripts.query-dl-arm-data

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