openstack upload image脚本

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 20:31   2518   0
#!/bin/bash

# Simple script to download Ubuntu Oneiric 11.10 from ubuntu.com
# and publish to cloud environment for use

#ARCH=amd64
#DISTRO=ubuntu
#CODENAME=precise
#VERSION=12.04.2

ARCH=i386
DISTRO=ubuntu
CODENAME=oneiric
VERSION=11.10

TARBALL=${DISTRO}-${VERSION}-server-cloudimg-${ARCH}.tar.gz

TMPAREA=/tmp/__upload

# Process Command Line
while getopts a:p:t:C: opts
do
  case $opts in
    a)
        ADMIN=${OPTARG}
        ;;
    p)
        PASSWORD=${OPTARG}
        ;;
    t)
        TENANT=${OPTARG}
        ;;
    C)
        ENDPOINT=${OPTARG}
        ;;
    *)
        echo "Syntax: $(basename $0) -u USER -p KEYSTONE -t TENANT -C CONTROLLER_IP"
        exit 1
        ;;
  esac
done

# You must supply the API endpoint
if [[ ! $ENDPOINT ]]
then
        echo "Syntax: $(basename $0) -a admin -p PASSWORD -t TENANT -C CONTROLLER_IP"
        exit 1
fi



mkdir -p ${TMPAREA}

if [ ! -f ${TMPAREA}/${TARBALL} ]
then
 wget -O ${TMPAREA}/${TARBALL} http://uec-images.ubuntu.com/releases/${CODENAME}/release/${TARBALL}
fi

if [ -f ${TMPAREA}/${TARBALL} ]
then
 cd ${TMPAREA}
 tar zxf ${TARBALL}
 DISTRO_IMAGE=$(ls *-${ARCH}.img)
 DISTRO_KERNEL=$(ls *-${ARCH}-vmlinuz-virtual)

 KERNEL=$(glance -I ${ADMIN} -K ${PASSWORD} -T ${TENANT} -N http://${ENDPOINT}:5000/v2.0 add name="${DISTRO} ${VERSION} ${ARCH} Kernel" disk_format=aki container_format=aki distro="${DISTRO} ${VERSION}" is_public=true < ${DISTRO_KERNEL} | awk '/ ID/ { print $6 }')

 AMI=$(glance -I ${ADMIN} -K ${PASSWORD} -T ${TENANT} -N http://${ENDPOINT}:5000/v2.0 add name="${DISTRO} ${VERSION} ${ARCH} Server" disk_format=ami container_format=ami distro="${DISTRO} ${VERSION}" kernel_id=${KERNEL} is_public=true < ${DISTRO_IMAGE} | awk '/ ID/ { print $6 }')

 echo "${DISTRO} ${VERSION} ${ARCH} now available in Glance (${AMI})"

 rm -f /tmp/__upload/*{.img,-vmlinuz-virtual,loader,floppy}
else
 echo "Tarball not found!"
fi

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP