blob: 5839cb29b9b847b28df9f271b82a543e7e690642 [file] [log] [blame]
#!/bin/bash
# pre-requirments:
# apt-get install cloud-localds
# Cloudimg: wget https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
# Packer: https://releases.hashicorp.com/packer/1.1.3/packer_1.1.3_linux_amd64.zip
# Those script - only example for variables, which should be passed to packer and
# overwrite variables under /scripts/ directory
# External script sources:
# http/bootstrap.saltstack.com.sh https://github.com/saltstack/salt-bootstrap
#
export IMAGE_NAME="mcp-offline-mirror-$(date '+%Y-%m-%d-%H-%M-%S')"
export PACKER_IMAGES_CACHE="${HOME}/packer_images_cache/"
#
export CLUSTER_MODEL="https://gerrit.mcp.mirantis.com/mcp/mcp-offline-model"
export CLUSTER_MODEL_REF="master"
export CLUSTER_NAME="mcp-offline"
export MCP_VERSION="proposed"
BINARY_MCP_VERSION="proposed"
export UBUNTU_BASEURL="http://mirror.mirantis.com/${BINARY_MCP_VERSION}/ubuntu/"
export SALTSTACK_REPO="http://mirror.mirantis.com/${BINARY_MCP_VERSION}/saltstack-2017.7/xenial xenial main"
export SALTSTACK_GPG="http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2017.7/SALTSTACK-GPG-KEY.pub"
export APT_MIRANTIS_SALT_GPG="http://mirror.mirantis.com/${MCP_VERSION}/salt-formulas/xenial/archive-salt-formulas.key"
export APT_MIRANTIS_SALT_REPO="http://mirror.mirantis.com/${MCP_VERSION}/salt-formulas/xenial xenial main"
#
export GIT_SALT_FORMULAS_SCRIPTS="https://gerrit.mcp.mirantis.com/salt-formulas/salt-formulas-scripts"
export SCRIPTS_REF="master"
#
# Openstack-related variables
#export VM_FLAVOR="3c4fe514-3eb6-464d-a419-7be09d72cf1e"
#export VM_FLOATING_IP_POOL="095f43ed-65ba-48ce-8185-d4080e430a88"
#export IMAGE_NAME="mcp-offline-mirror-$(date '+%Y-%m-%d-%H-%M-%S')"
#export VM_IMAGE="9953a40d-1fa2-4f26-b146-0507dbc912dc" # ubuntu cloud img
# May be need, if cloud with keystone v3 used
#export OS_TENANT_ID=$OS_PROJECT_ID
#export OS_DOMAIN_NAME="xxxx"
#export OS_TENANT_NAME="xxxxx"
# Hard-coded folder in template
mkdir -p "${PACKER_IMAGES_CACHE}"
export PACKER_LOG=1
pushd config-drive
if [ ! -e model ]; then
git clone ${CLUSTER_MODEL} model/
pushd model
git fetch ${CLUSTER_MODEL} ${CLUSTER_MODEL_REF} && git checkout FETCH_HEAD
pushd classes/system
git submodule init
git submodule update
popd
popd
fi
if [ ! -e salt_scripts ]; then
git clone ${GIT_SALT_FORMULAS_SCRIPTS} salt_scripts/
pushd salt_scripts
git fetch ${GIT_SALT_FORMULAS_SCRIPTS} ${SCRIPTS_REF} && git checkout FETCH_HEAD
popd
fi
popd
[ -f config-drive/cloudata.iso ] && rm -v config-drive/cloudata.iso
mkisofs -o config-drive/cloudata.iso -V cidata -r -J --quiet config-drive
# For qemu test-build:
packer build -only=qemu -parallel=false -on-error=ask template.json
# rm -rf ~/.packer.d/