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