From a86586a998e91d933eec30d44c18e88244b9f0bb Mon Sep 17 00:00:00 2001 From: Ian Wienand Date: Fri, 26 Sep 2014 13:32:27 +1000 Subject: [PATCH] Port build-image.sh from old config repo Port the build-image.sh script, build-dib-in-docker.sh, mount-image.sh and umount-image.sh into the new repo, adjusting the paths for the new layout Change-Id: I087a2396581bf4415c9676f70b4c739a62c84b23 --- tools/build-dib-in-docker.sh | 16 ++++++++++++++++ tools/build-image.sh | 28 ++++++++++++++++++++++++++++ tools/mount-image.sh | 25 +++++++++++++++++++++++++ tools/umount-image.sh | 19 +++++++++++++++++++ 4 files changed, 88 insertions(+) create mode 100644 tools/build-dib-in-docker.sh create mode 100755 tools/build-image.sh create mode 100644 tools/mount-image.sh create mode 100644 tools/umount-image.sh diff --git a/tools/build-dib-in-docker.sh b/tools/build-dib-in-docker.sh new file mode 100644 index 0000000000..7cfd0a2b81 --- /dev/null +++ b/tools/build-dib-in-docker.sh @@ -0,0 +1,16 @@ +# Copyright (c) 2014 Hewlett-Packard Development Company, L.P. +# +# 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 +# limitations under the License. + +docker.io run --privileged=true -v ~/.cache:/.cache -v $(git rev-parse --show-toplevel):/opt/config -w /opt/config -i -t openstack_infra/ubuntu /bin/bash tools/build-image.sh diff --git a/tools/build-image.sh b/tools/build-image.sh new file mode 100755 index 0000000000..8adf0aab0c --- /dev/null +++ b/tools/build-image.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# Copyright (c) 2014 Hewlett-Packard Development Company, L.P. +# +# 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 +# limitations under the License. + +set -e + +export ELEMENTS_PATH=${ELEMENTS_PATH:-nodepool/elements} +export DISTRO=${DISTRO:-ubuntu} +export DIB_RELEASE=${DIB_RELEASE:-trusty} +export DIB_IMAGE_NAME=${DIB_IMAGE_NAME:-${DISTRO}_${DIB_RELEASE}} +export DIB_IMAGE_FILENAME=${DIB_IMAGE_FILENAME:-${DIB_IMAGE_NAME}.qcow} +export NODEPOOL_SCRIPTDIR=${NODEPOOL_SCRIPTDIR:-nodepool/scripts} +export CONFIG_SOURCE=${CONFIG_SOURCE:-https://git.openstack.org/openstack-infra/config} +export CONFIG_REF=${CONFIG_REF:-master} + +disk-image-create -x --no-tmpfs -o devstack-gate-$DIB_RELEASE $DISTRO vm openstack-repos puppet nodepool-base node-devstack diff --git a/tools/mount-image.sh b/tools/mount-image.sh new file mode 100644 index 0000000000..4e9e51f9a7 --- /dev/null +++ b/tools/mount-image.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# Copyright (c) 2014 Hewlett-Packard Development Company, L.P. +# +# 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 +# limitations under the License. + +set -e + +IMAGE=$1 + +rm -rf /tmp/newimage +mkdir -p /tmp/newimage + +qemu-nbd -c /dev/nbd1 $1 +mount /dev/nbd1 /tmp/newimage diff --git a/tools/umount-image.sh b/tools/umount-image.sh new file mode 100644 index 0000000000..16ce2769cc --- /dev/null +++ b/tools/umount-image.sh @@ -0,0 +1,19 @@ +# Copyright (c) 2014 Hewlett-Packard Development Company, L.P. +# +# 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 +# limitations under the License. + +set -e + +umount /tmp/newimage +qemu-nbd -d /dev/nbd1