From 1f9bb7706a806cbf4651a27d79680e8470ce67f4 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 4 Nov 2011 01:31:18 +0000 Subject: [PATCH] * Script for building, uploading and registering NixOS AMIs in all EC2 regions (not finished yet). svn path=/nixos/trunk/; revision=30218 --- maintainers/scripts/create-amis.sh | 37 ++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100755 maintainers/scripts/create-amis.sh diff --git a/maintainers/scripts/create-amis.sh b/maintainers/scripts/create-amis.sh new file mode 100755 index 000000000000..2ea5c64d5877 --- /dev/null +++ b/maintainers/scripts/create-amis.sh @@ -0,0 +1,37 @@ +#! /bin/sh -e + +revision=$(svnversion "$NIXOS") +echo "NixOS revision is $revision" + +buildAndUploadFor() { + system="$1" + arch="$2" + + NIXOS_CONFIG=$NIXOS/modules/virtualisation/amazon-config.nix nix-build "$NIXOS" \ + -A config.system.build.amazonImage --argstr system "$system" -o ec2-ami + + ec2-bundle-image -i ./ec2-ami/nixos.img --user "$AWS_ACCOUNT" --arch "$arch" \ + -c "$EC2_CERT" -k "$EC2_PRIVATE_KEY" + + name="$(echo nixos-$arch-r$revision | tr '[A-Z]' '[a-z]')" + bucket="$name-eu" + ec2-upload-bundle -b "$bucket" -m /tmp/nixos.img.manifest.xml \ + -a "$AWS_ACCESS_KEY_ID" -s "$AWS_SECRET_ACCESS_KEY" --location EU + + region="eu-west-1" + + kernel=$(ec2-describe-images -o amazon --filter "manifest-location=*pv-grub-hd0_1.02-$arch*" --region "$region" | cut -f 2) + echo "using PV-GRUB kernel $kernel" + + ami=$(ec2-register "$bucket/nixos.img.manifest.xml" -n "$bucket" -d "NixOS $system r$revision" \ + --region "$region" --kernel "$kernel" | cut -f 1) + + echo "AMI ID is $ami" + + echo "$system" "$region" "$ami" >> amis + + ec2-modify-image-attribute "$ami" -l -a all +} + +buildAndUploadFor i686-linux i386 +#buildAndUploadFor x86_64-linux x86_64