Allowing ubuntu element use local image
Patch allow to set path for local image source, instead download latest or use the cached image. This permit to build image also in environment without internet access. Change-Id: I9422e21c5d0445e31d5a7258aa7310b20e39b929
This commit is contained in:
parent
3c3ef6e32b
commit
1f4fb1d7a5
@ -21,5 +21,11 @@ Overrides:
|
||||
``(universe|multiverse)``
|
||||
* Setting ``DIB_DISTRIBUTION_MIRROR_UBUNTU_INSECURE`` updates apt
|
||||
settings to allow insecure/unuthenticated repositories.
|
||||
* Setting ``DIB_OFFLINE`` will prevent to download again the source image
|
||||
if is already present in to $DIB_IMAGE_CACHE path.
|
||||
* Setting ``DIB_LOCAL_IMAGE`` in combination with ``DIB_OFFLINE`` to
|
||||
use a image from a local source (full path and file name) and not
|
||||
download image from internet. Local source for release Trusty and Xenial
|
||||
have to be tar.gz format. For other more recent release get the squashfs image.
|
||||
|
||||
.. element_deps::
|
||||
|
@ -2,3 +2,4 @@
|
||||
# allowing the Ec2 data source from being queried on first boot, unless
|
||||
# specified otherwise.
|
||||
export DIB_CLOUD_INIT_DATASOURCES=${DIB_CLOUD_INIT_DATASOURCES:-"Ec2"}
|
||||
export DIB_IMAGE_LOCAL_FILE=${DIB_IMAGE_LOCAL_FILE:-}
|
@ -25,7 +25,8 @@ CACHED_FILE_LOCK=$DIB_LOCKFILES/$BASE_IMAGE_FILE.lock
|
||||
CACHED_SUMS=$DIB_IMAGE_CACHE/SHA256SUMS.ubuntu.$DIB_RELEASE.$ARCH
|
||||
|
||||
function get_ubuntu_tarball() {
|
||||
if [ -n "$DIB_OFFLINE" -a -f "$CACHED_FILE" ] ; then
|
||||
if [ -n "$DIB_OFFLINE" -a -z "$DIB_LOCAL_IMAGE" ] ; then
|
||||
if [ -f "$CACHED_FILE" ] ; then
|
||||
echo "Not checking freshness of cached $CACHED_FILE."
|
||||
else
|
||||
echo "Fetching Base Image"
|
||||
@ -49,12 +50,24 @@ function get_ubuntu_tarball() {
|
||||
fi
|
||||
popd
|
||||
fi
|
||||
elif [ ! -f "$DIB_LOCAL_IMAGE" ] ; then
|
||||
echo "Unable to find image $DIB_LOCAL_IMAGE locally! Check path and file name to source image"
|
||||
exit 1
|
||||
fi
|
||||
# Extract the base image (use --numeric-owner to avoid UID/GID mismatch between
|
||||
# image tarball and host OS e.g. when building Ubuntu image on an openSUSE host)
|
||||
if [ $DIB_RELEASE != "trusty" ] && [ $DIB_RELEASE != "xenial" ]; then
|
||||
if [ "$DIB_RELEASE" != "trusty" ] && [ "$DIB_RELEASE" != "xenial" ] ; then
|
||||
if [ -n "$DIB_LOCAL_IMAGE"] ; then
|
||||
sudo unsquashfs -f -d $TARGET_ROOT $DIB_IMAGE_CACHE/$BASE_IMAGE_FILE
|
||||
else
|
||||
sudo unsquashfs -f -d $TARGET_ROOT $DIB_LOCAL_IMAGE
|
||||
fi
|
||||
else
|
||||
if [ -n "$DIB_LOCAL_IMAGE"] ; then
|
||||
sudo tar -C $TARGET_ROOT --numeric-owner -xzf $DIB_IMAGE_CACHE/$BASE_IMAGE_FILE
|
||||
else
|
||||
sudo tar -C $TARGET_ROOT --numeric-owner -xzf $DIB_LOCAL_IMAGE
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user