aboutsummaryrefslogtreecommitdiffstats
path: root/resources/tools/disk-image-builder/ubuntu/build-listmaker.sh
diff options
context:
space:
mode:
authorCarsten Koester <ckoester@cisco.com>2016-05-25 05:58:29 -0400
committerDave Wallace <dwallacelf@gmail.com>2016-06-02 00:18:28 +0000
commit9d378548cc86028c55baf17260d32d0055603b78 (patch)
tree1cc67da7195459abcaca5f12f0f4b74bc399b60e /resources/tools/disk-image-builder/ubuntu/build-listmaker.sh
parent036f36181c177e4c77f22cdbdcb87fb2f94df3bf (diff)
CSIT-111: Add Packer based framework to auto-generate disk images
Change-Id: Ia18ea34a6288aec0f12f176f4cc264d0f215d1fd Signed-off-by: Carsten Koester <ckoester@cisco.com>
Diffstat (limited to 'resources/tools/disk-image-builder/ubuntu/build-listmaker.sh')
-rwxr-xr-xresources/tools/disk-image-builder/ubuntu/build-listmaker.sh65
1 files changed, 65 insertions, 0 deletions
diff --git a/resources/tools/disk-image-builder/ubuntu/build-listmaker.sh b/resources/tools/disk-image-builder/ubuntu/build-listmaker.sh
new file mode 100755
index 0000000000..59b44e5a19
--- /dev/null
+++ b/resources/tools/disk-image-builder/ubuntu/build-listmaker.sh
@@ -0,0 +1,65 @@
+#!/bin/sh
+
+# Copyright (c) 2016 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+
+# This builds the "listmaker" image. This is essentially a one-time
+# action and most likely applicable to CSIT test lab only.
+
+cd $(dirname $0)
+BUILD_DIR="$(pwd)/build"
+PACKER_DIR="${BUILD_DIR}/packer"
+OUT_DIR="${BUILD_DIR}/output/listmaker"
+
+RELEASE_NAME="csit-ubuntu-14.04.4-listmaker"
+PACKER_TEMPLATE="listmaker/ubuntu-14.04.4.json"
+
+VIRL_IMAGE_SUBTYPE=server
+VIRL_IMAGE_NAME="${RELEASE_NAME}"
+VIRL_IMAGE_FILE="${OUT_DIR}/packer-${RELEASE_NAME}"
+
+# export PACKER_LOG="1"
+
+# This script requires that the following two environment variables be defined-
+#
+# $VIRL_USER
+# $VIRL_PASSWORD
+
+if [ "$VIRL_USER" = "" ] || [ "$VIRL_PASSWORD" = "" ]
+then
+ echo '$VIRL_USER and $VIRL_PASSWORD environment variables must be defined'
+ exit 1
+fi
+
+###
+### Download and extract packer, if not already installed
+###
+os=$(uname -s)
+if [ "$os" = "Darwin" ]
+then
+ packer_url="https://releases.hashicorp.com/packer/0.10.1/packer_0.10.1_darwin_amd64.zip"
+elif [ "$os" = "Linux" ]
+then
+ packer_url="https://releases.hashicorp.com/packer/0.10.1/packer_0.10.1_linux_amd64.zip"
+fi
+
+mkdir -p $BUILD_DIR
+wget -P ${PACKER_DIR} -N ${packer_url}
+
+unzip -n ${PACKER_DIR}/packer*zip -d ${PACKER_DIR}
+
+###
+### Build the actual image as per packer script. Packer post-processor will
+### upload it to VIRL.
+###
+${BUILD_DIR}/packer/packer build -var "release=${RELEASE_NAME}" \
+ -var "outputdir=${OUT_DIR}" -force -machine-readable ${PACKER_TEMPLATE}