blob: 6732787f8b32f63d148d5cba128f2b5e265fbe82 [file] [log] [blame]
Jiri Broulik4ea221c2018-04-10 13:48:06 +02001#!/bin/bash
2
3# pre-requirments:
4# apt-get install cloud-localds
azvyagintsevffa75b42018-06-06 20:38:54 +03005# Cloudimg: wget https://cloud-images.ubuntu.com/xenial/XXXX/xenial-server-cloudimg-amd64-disk1.img
Jiri Broulik4ea221c2018-04-10 13:48:06 +02006# Packer: https://releases.hashicorp.com/packer/1.1.3/packer_1.1.3_linux_amd64.zip
7
8# Those script - only example for variables, which should be passed to packer and
9# overwrite variables under /scripts/ directory
10
11# External script sources:
12# http/bootstrap.saltstack.com.sh https://github.com/saltstack/salt-bootstrap
13#
azvyagintsev0adfe682018-06-13 16:29:40 +030014export IMAGE_NAME="cfg01"
azvyagintsevffa75b42018-06-06 20:38:54 +030015#
Ivan Berezovskiy23035a22018-11-14 13:25:51 +040016export CLUSTER_MODEL="http://gerrit.mcp.mirantis.com/mcp/mcp-drivetrain-model"
17export CLUSTER_MODEL_REF="master"
azvyagintsevffa75b42018-06-06 20:38:54 +030018export MCP_VERSION=proposed
19export SCRIPTS_REF=master
20export CLUSTER_NAME=mcp-day01
21export FORMULA_VERSION=proposed
azvyagintsevffa75b42018-06-06 20:38:54 +030022export UBUNTU_BASEURL="http://mirror.mirantis.com/proposed/ubuntu/"
azvyagintsev0f697cf2018-06-22 11:44:13 +030023export SALTSTACK_REPO="http://mirror.mirantis.com/proposed/saltstack-2017.7/xenial xenial main"
Jiri Broulik4ea221c2018-04-10 13:48:06 +020024export APT_MIRANTIS_GPG="http://apt.mirantis.com/public.gpg"
azvyagintsev0f697cf2018-06-22 11:44:13 +030025export SALTSTACK_GPG="https://repo.saltstack.com/apt/ubuntu/16.04/amd64/2017.7/SALTSTACK-GPG-KEY.pub"
azvyagintsevffa75b42018-06-06 20:38:54 +030026export APT_MIRANTIS_SALT_REPO="http://apt.mirantis.com/xenial/ proposed salt"
Ivan Berezovskiy23035a22018-11-14 13:25:51 +040027export GIT_SALT_FORMULAS_SCRIPTS="https://gerrit.mcp.mirantis.com/salt-formulas/salt-formulas-scripts"
azvyagintsevffa75b42018-06-06 20:38:54 +030028export APT_REPOSITORY="deb [arch=amd64] http://apt.mirantis.com/xenial/ proposed salt"
29export APT_REPOSITORY_GPG=http://apt.mirantis.com/public.gpg
30###
azvyagintsev0f697cf2018-06-22 11:44:13 +030031# Hard-coded folder in template
32export PACKER_IMAGES_CACHE="${HOME}/packer_images_cache/"
33mkdir -p "${PACKER_IMAGES_CACHE}"
Jiri Broulik4ea221c2018-04-10 13:48:06 +020034
35export PACKER_LOG=1
Ivan Berezovskiy23035a22018-11-14 13:25:51 +040036pushd config-drive
37 [ -d model ] && rm -rf model
38 git clone ${CLUSTER_MODEL} model/
39 pushd model
40 git fetch ${CLUSTER_MODEL} ${CLUSTER_MODEL_REF} && git checkout FETCH_HEAD
41 pushd classes/system
42 git submodule init
43 git submodule update
44 popd
45 popd
46 [ -d salt_scripts ] && rm -rf salt_scripts
47 git clone ${GIT_SALT_FORMULAS_SCRIPTS} salt_scripts/
48 pushd salt_scripts
49 git fetch ${GIT_SALT_FORMULAS_SCRIPTS} ${SCRIPTS_REF} && git checkout FETCH_HEAD
50 popd
51popd
52
53[ -f config-drive/cloudata.iso ] && rm -v config-drive/cloudata.iso
54mkisofs -o config-drive/cloudata.iso -V cidata -r -J --quiet config-drive
55
Jiri Broulik4ea221c2018-04-10 13:48:06 +020056# For qemu test-build:
azvyagintsevffa75b42018-06-06 20:38:54 +030057packer build -only=qemu -parallel=false -on-error=ask template.json
58#rm -rf ~/.packer.d/