Revert "Allowing ubuntu element use local image"

This reverts commit 1f4fb1d7a5.

This unfortunately wasn't actually tested.  Because the image-based
tests run sequentially, a prior failure in the centos-8 job meant the
ubuntu job never ran.

This is failing with

 10-cache-ubuntu-tarball: line 28: DIB_LOCAL_IMAGE: unbound variable

There is also a seemingly unused variable DIB_IMAGE_LOCAL_FILE; I'm
not sure what this is doing.

For now revert, and it can be re-proposed with appropriate testing.

Change-Id: I0f3897c90dc863ee04c3295b9cb094f02d8658e3
This commit is contained in:
Ian Wienand 2021-10-15 16:40:46 +11:00
parent 2d5981d673
commit d5fa64325f
3 changed files with 23 additions and 43 deletions

View File

@ -21,11 +21,5 @@ Overrides:
``(universe|multiverse)`` ``(universe|multiverse)``
* Setting ``DIB_DISTRIBUTION_MIRROR_UBUNTU_INSECURE`` updates apt * Setting ``DIB_DISTRIBUTION_MIRROR_UBUNTU_INSECURE`` updates apt
settings to allow insecure/unuthenticated repositories. 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:: .. element_deps::

View File

@ -2,4 +2,3 @@
# allowing the Ec2 data source from being queried on first boot, unless # allowing the Ec2 data source from being queried on first boot, unless
# specified otherwise. # specified otherwise.
export DIB_CLOUD_INIT_DATASOURCES=${DIB_CLOUD_INIT_DATASOURCES:-"Ec2"} export DIB_CLOUD_INIT_DATASOURCES=${DIB_CLOUD_INIT_DATASOURCES:-"Ec2"}
export DIB_IMAGE_LOCAL_FILE=${DIB_IMAGE_LOCAL_FILE:-}

View File

@ -25,49 +25,36 @@ CACHED_FILE_LOCK=$DIB_LOCKFILES/$BASE_IMAGE_FILE.lock
CACHED_SUMS=$DIB_IMAGE_CACHE/SHA256SUMS.ubuntu.$DIB_RELEASE.$ARCH CACHED_SUMS=$DIB_IMAGE_CACHE/SHA256SUMS.ubuntu.$DIB_RELEASE.$ARCH
function get_ubuntu_tarball() { function get_ubuntu_tarball() {
if [ -n "$DIB_OFFLINE" -a -z "$DIB_LOCAL_IMAGE" ] ; then if [ -n "$DIB_OFFLINE" -a -f "$CACHED_FILE" ] ; then
if [ -f "$CACHED_FILE" ] ; then echo "Not checking freshness of cached $CACHED_FILE."
echo "Not checking freshness of cached $CACHED_FILE." else
else echo "Fetching Base Image"
echo "Fetching Base Image" $TMP_HOOKS_PATH/bin/cache-url $SHA256SUMS $CACHED_SUMS
$TMP_HOOKS_PATH/bin/cache-url $SHA256SUMS $CACHED_SUMS $TMP_HOOKS_PATH/bin/cache-url \
$TMP_HOOKS_PATH/bin/cache-url \ $DIB_CLOUD_IMAGES/$BASE_IMAGE_FILE $CACHED_FILE
$DIB_CLOUD_IMAGES/$BASE_IMAGE_FILE $CACHED_FILE pushd $DIB_IMAGE_CACHE
pushd $DIB_IMAGE_CACHE if ! grep "$BASE_IMAGE_FILE" $CACHED_SUMS | sha256sum --check - ; then
# It is likely that an upstream http(s) proxy has given us a skewed
# result - either a cached SHA file or a cached image. Use cache-busting
# to get (as long as caches are compliant...) fresh files.
# Try the sha256sum first, just in case that is the stale one (avoiding
# downloading the larger image), and then if the sums still fail retry
# the image.
$TMP_HOOKS_PATH/bin/cache-url -f $SHA256SUMS $CACHED_SUMS
if ! grep "$BASE_IMAGE_FILE" $CACHED_SUMS | sha256sum --check - ; then if ! grep "$BASE_IMAGE_FILE" $CACHED_SUMS | sha256sum --check - ; then
# It is likely that an upstream http(s) proxy has given us a skewed $TMP_HOOKS_PATH/bin/cache-url -f \
# result - either a cached SHA file or a cached image. Use cache-busting $DIB_CLOUD_IMAGES/$BASE_IMAGE_FILE $CACHED_FILE
# to get (as long as caches are compliant...) fresh files. grep "$BASE_IMAGE_FILE" $CACHED_SUMS | sha256sum --check -
# Try the sha256sum first, just in case that is the stale one (avoiding
# downloading the larger image), and then if the sums still fail retry
# the image.
$TMP_HOOKS_PATH/bin/cache-url -f $SHA256SUMS $CACHED_SUMS
if ! grep "$BASE_IMAGE_FILE" $CACHED_SUMS | sha256sum --check - ; then
$TMP_HOOKS_PATH/bin/cache-url -f \
$DIB_CLOUD_IMAGES/$BASE_IMAGE_FILE $CACHED_FILE
grep "$BASE_IMAGE_FILE" $CACHED_SUMS | sha256sum --check -
fi
fi fi
popd
fi fi
elif [ ! -f "$DIB_LOCAL_IMAGE" ] ; then popd
echo "Unable to find image $DIB_LOCAL_IMAGE locally! Check path and file name to source image"
exit 1
fi fi
# Extract the base image (use --numeric-owner to avoid UID/GID mismatch between # 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) # 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
sudo unsquashfs -f -d $TARGET_ROOT $DIB_IMAGE_CACHE/$BASE_IMAGE_FILE
else
sudo unsquashfs -f -d $TARGET_ROOT $DIB_LOCAL_IMAGE
fi
else else
if [ -n "$DIB_LOCAL_IMAGE"] ; then sudo tar -C $TARGET_ROOT --numeric-owner -xzf $DIB_IMAGE_CACHE/$BASE_IMAGE_FILE
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 fi
} }