/tests/basic/2.upload_image.sh

https://github.com/ntt-pf-lab/openstack-rhel · Shell · 106 lines · 83 code · 15 blank · 8 comment · 16 complexity · 55f91dc2d5c3374dc51eaa5c9874ec0a MD5 · raw file

  1. #!/bin/sh
  2. export LC_ALL=C
  3. KERNEL="vmlinuz-2.6.18-238.el5"
  4. INITRD="initrd-2.6.18-238.el5-virtio.img"
  5. ROOTFS="rootfs.qcow2"
  6. BUCKET="rhel56"
  7. CONFDIR="../rhelimg"
  8. DIR=`mktemp -d`
  9. CONFIG=".cnf"
  10. source "$CONFDIR/novarc"
  11. #for ami in $(cat $CONFIG); do
  12. # n=$(euca-describe-images $ami | wc -l)
  13. # if [ "$n" -gt 0 ]; then
  14. # echo "deregistering $ami"
  15. # euca-deregister $ami
  16. # fi
  17. #done
  18. euca-bundle-image -i $KERNEL -d $DIR -p kernel --kernel true
  19. if [ "$?" != "0" ]; then
  20. echo "FAILED: euca-bundle-image -i $KERNEL -d $DIR -p kernel --kernel true"
  21. exit -1
  22. fi
  23. euca-bundle-image -i $INITRD -d $DIR -p ramdisk --ramdisk true
  24. if [ "$?" != "0" ]; then
  25. echo "FAILED: euca-bundle-image -i $INITRD -d $DIR -p ramdisk --ramdisk true"
  26. exit -1
  27. fi
  28. euca-upload-bundle -m $DIR/kernel.manifest.xml -b $BUCKET
  29. if [ "$?" != "0" ]; then
  30. echo "FAILED: euca-upload-bundle -m $DIR/kernel.manifest.xml -b $BUCKET"
  31. exit -1
  32. fi
  33. euca-upload-bundle -m $DIR/ramdisk.manifest.xml -b $BUCKET
  34. if [ "$?" != "0" ]; then
  35. echo "FAILED: euca-upload-bundle -m $DIR/ramdisk.manifest.xml -b $BUCKET"
  36. exit -1
  37. fi
  38. AMI_KERNEL=`euca-register $BUCKET/kernel.manifest.xml | tr -d "IMAGE[:blank:]"`
  39. echo "AMI_KERNEL: $AMI_KERNEL"
  40. AMI_RAMDISK=`euca-register $BUCKET/ramdisk.manifest.xml | tr -d "IMAGE[:blank:]"`
  41. echo "AMI_RAMDISK: $AMI_RAMDISK"
  42. euca-bundle-image -i $ROOTFS -p machine --kernel $AMI_KERNEL --ramdisk $AMI_RAMDISK -d $DIR
  43. euca-upload-bundle -m $DIR/machine.manifest.xml -b $BUCKET
  44. if [ "$?" != "0" ]; then
  45. echo "FAILED: euca-upload-bundle -m $DIR/machine.manifest.xml -b $BUCKET"
  46. exit -1
  47. fi
  48. AMI_MACHINE=`euca-register $BUCKET/machine.manifest.xml | tr -d "IMAGE[:blank:]"`
  49. echo "AMI_MACHINE: $AMI_MACHINE"
  50. rm -fr "$DIR"
  51. echo $AMI_MACHINE > $CONFIG
  52. echo $AMI_KERNEL >> $CONFIG
  53. echo $AMI_RAMDISK >> $CONFIG
  54. STATUS='z'
  55. OLDSTATUS=''
  56. for n in `seq 1 200`; do
  57. STATUS=$(euca-describe-images $AMI_MACHINE|cut -f5)
  58. if [ "$STATUS" == "$OLDSTATUS" ]; then
  59. echo -n "."
  60. else
  61. if [ "$STATUS" == "available" ]; then
  62. ESC="\033[1;34m"
  63. else
  64. ESC="\033[1;33m"
  65. fi
  66. echo -en "\033[100D\033[K\033[0mImage's status:$ESC $STATUS"
  67. OLDSTATUS="$STATUS"
  68. fi
  69. if [ "$STATUS" == "available" ]; then
  70. break
  71. fi
  72. done
  73. echo -e "\033[0m"
  74. if [ "$STATUS" != "available" ]; then
  75. echo "Can't get machine image status to available, it's still $STATUS"
  76. exit -1
  77. fi
  78. euca-authorize -P icmp -t -1:-1 default
  79. euca-authorize -P tcp -p 22 default
  80. echo "euca-run-instances $AMI_MACHINE --kernel $AMI_KERNEL --ramdisk $AMI_RAMDISK -k rhelkey -t m1.tiny"
  81. echo "euca-run-instances $AMI_MACHINE --kernel $AMI_KERNEL --ramdisk $AMI_RAMDISK -k rhelkey -t m1.tiny" > cmd.txt
  82. for n in `seq 1 40`; do
  83. #nohup euca-run-instances $AMI_MACHINE --kernel $AMI_KERNEL --ramdisk $AMI_RAMDISK -k rhelkey -t m1.tiny -n 10 &
  84. nohup euca-run-instances $AMI_MACHINE --kernel $AMI_KERNEL --ramdisk $AMI_RAMDISK -t m1.tiny -n 5 &
  85. done
  86. #stack --user abr --project rhelimg compute get_vnc_console instance_id=1
  87. date