Move to cirros version 0.5.1 by default

We are still using old 0.3.5 version, let's move to the most recent one.

This patch also removes usage of UEC cirros image for tempesa. This was
introduced long time ago [1] because of hitting issue reported in [2].
This should be fixed in newer cirros versions so let's make it simple
and do not use extra image only for tempest.

[1] https://review.opendev.org/#/c/322139/
[2] https://bugs.launchpad.net/cirros/+bug/1312199

Change-Id: I1bc286f6264538f4be920e5bf2b5d113c0b57280
This commit is contained in:
Alfredo Moralejo 2020-10-02 13:13:31 +02:00
parent 7ef539bc37
commit 92fba26e82
9 changed files with 15 additions and 153 deletions

View File

@ -32,24 +32,11 @@ PLUGIN_NAME_COLORED = utils.color_text(PLUGIN_NAME, 'blue')
DEMO_IMAGE_NAME = 'cirros' DEMO_IMAGE_NAME = 'cirros'
DEMO_IMAGE_URL = ( DEMO_IMAGE_URL = (
'https://download.cirros-cloud.net/0.3.5/cirros-0.3.5-%s-disk.img' 'https://download.cirros-cloud.net/0.5.1/cirros-0.5.1-%s-disk.img'
% (arch.cirros_arch()) % (arch.cirros_arch())
) )
DEMO_IMAGE_SSH_USER = 'cirros' DEMO_IMAGE_SSH_USER = 'cirros'
DEMO_IMAGE_FORMAT = 'qcow2' DEMO_IMAGE_FORMAT = 'qcow2'
UEC_IMAGE_NAME = 'cirros-uec'
UEC_IMAGE_KERNEL_URL = (
'https://download.cirros-cloud.net/0.3.5/cirros-0.3.5-%s-kernel'
% (arch.cirros_arch())
)
UEC_IMAGE_RAMDISK_URL = (
'https://download.cirros-cloud.net/0.3.5/cirros-0.3.5-%s-initramfs'
% (arch.cirros_arch())
)
UEC_IMAGE_DISK_URL = (
'https://download.cirros-cloud.net/0.3.5/cirros-0.3.5-%s-disk.img'
% (arch.cirros_arch())
)
def initConfig(controller): def initConfig(controller):
@ -179,57 +166,6 @@ def initConfig(controller):
"USE_DEFAULT": False, "USE_DEFAULT": False,
"NEED_CONFIRM": False, "NEED_CONFIRM": False,
"CONDITION": False}, "CONDITION": False},
{"CMD_OPTION": "provision-uec-image-name",
"PROMPT": "Enter the name to be assigned to the uec image used for tempest",
"OPTION_LIST": False,
"VALIDATORS": [validators.validate_not_empty],
"DEFAULT_VALUE": UEC_IMAGE_NAME,
"MASK_INPUT": False,
"LOOSE_VALIDATION": True,
"CONF_NAME": "CONFIG_PROVISION_UEC_IMAGE_NAME",
"USE_DEFAULT": False,
"NEED_CONFIRM": False,
"CONDITION": False},
{"CMD_OPTION": "provision-uec-kernel-url",
"PROMPT": ("Enter the location of a uec kernel to be loaded "
"into Glance"),
"OPTION_LIST": False,
"VALIDATORS": [validators.validate_not_empty],
"DEFAULT_VALUE": UEC_IMAGE_KERNEL_URL,
"MASK_INPUT": False,
"LOOSE_VALIDATION": True,
"CONF_NAME": "CONFIG_PROVISION_UEC_IMAGE_KERNEL_URL",
"USE_DEFAULT": False,
"NEED_CONFIRM": False,
"CONDITION": False},
{"CMD_OPTION": "provision-uec-ramdisk-url",
"PROMPT": ("Enter the location of a uec ramdisk to be loaded "
"into Glance"),
"OPTION_LIST": False,
"VALIDATORS": [validators.validate_not_empty],
"DEFAULT_VALUE": UEC_IMAGE_RAMDISK_URL,
"MASK_INPUT": False,
"LOOSE_VALIDATION": True,
"CONF_NAME": "CONFIG_PROVISION_UEC_IMAGE_RAMDISK_URL",
"USE_DEFAULT": False,
"NEED_CONFIRM": False,
"CONDITION": False},
{"CMD_OPTION": "provision-uec-disk-url",
"PROMPT": ("Enter the location of a uec disk image to be loaded "
"into Glance"),
"OPTION_LIST": False,
"VALIDATORS": [validators.validate_not_empty],
"DEFAULT_VALUE": UEC_IMAGE_DISK_URL,
"MASK_INPUT": False,
"LOOSE_VALIDATION": True,
"CONF_NAME": "CONFIG_PROVISION_UEC_IMAGE_DISK_URL",
"USE_DEFAULT": False,
"NEED_CONFIRM": False,
"CONDITION": False},
], ],
"PROVISION_TEMPEST": [ "PROVISION_TEMPEST": [

View File

@ -4,10 +4,6 @@ class packstack::provision::glance ()
$image_source = hiera('CONFIG_PROVISION_IMAGE_URL') $image_source = hiera('CONFIG_PROVISION_IMAGE_URL')
$image_format = hiera('CONFIG_PROVISION_IMAGE_FORMAT') $image_format = hiera('CONFIG_PROVISION_IMAGE_FORMAT')
$image_properties = hiera('CONFIG_PROVISION_IMAGE_PROPERTIES') $image_properties = hiera('CONFIG_PROVISION_IMAGE_PROPERTIES')
$uec_image_name = hiera('CONFIG_PROVISION_UEC_IMAGE_NAME')
$uec_image_source_kernel = hiera('CONFIG_PROVISION_UEC_IMAGE_KERNEL_URL')
$uec_image_source_ramdisk = hiera('CONFIG_PROVISION_UEC_IMAGE_RAMDISK_URL')
$uec_image_source_disk = hiera('CONFIG_PROVISION_UEC_IMAGE_DISK_URL')
glance_image { $image_name: glance_image { $image_name:
ensure => present, ensure => present,
@ -17,60 +13,4 @@ class packstack::provision::glance ()
source => $image_source, source => $image_source,
properties => $image_properties properties => $image_properties
} }
if str2bool(hiera('CONFIG_PROVISION_TEMPEST')) {
$image_name_alt = "${uec_image_name}_alt"
glance_image{"${uec_image_name}-kernel":
ensure => present,
is_public => 'yes',
container_format => 'aki',
disk_format => 'aki',
source => $uec_image_source_kernel,
id => '146d4a6b-ad1e-4d9f-8b08-98eae3c3dab4'
}
glance_image{"${uec_image_name}-ramdisk":
ensure => present,
is_public => 'yes',
container_format => 'ari',
disk_format => 'ari',
source => $uec_image_source_ramdisk,
id => '0b50e2e5-1440-4654-b568-4e120ddf28c1'
}
$uec_properties = { 'kernel_id' => '146d4a6b-ad1e-4d9f-8b08-98eae3c3dab4',
'ramdisk_id' => '0b50e2e5-1440-4654-b568-4e120ddf28c1' }
# Same properties we require for QCOW2 image, we need for UEC image too
if $image_format == 'qcow2' {
$image_properties_hash = $image_properties.split(',').map |$tok| { $tok.split('=') }.flatten.hash
$uec_properties_all = $uec_properties.merge($image_properties_hash)
} else {
$uec_properties_all = $uec_properties
}
glance_image{$uec_image_name:
ensure => present,
is_public => 'yes',
container_format => 'ami',
disk_format => 'qcow2',
source => $uec_image_source_disk,
properties => $uec_properties_all,
require => [ Glance_image["${uec_image_name}-kernel"], Glance_image["${uec_image_name}-ramdisk"] ]
}
glance_image{$image_name_alt:
ensure => present,
is_public => 'yes',
container_format => 'ami',
# FIXME(jpena): ami used to be an acceptable disk format, but we are
# failing to boot from volume since https://review.openstack.org/453341
# because qemu-img convert does not recognize is as a valid format.
# See https://bugs.launchpad.net/cinder/+bug/1693926
disk_format => 'qcow2',
source => $uec_image_source_disk,
properties => $uec_properties_all,
require => [ Glance_image["${uec_image_name}-kernel"], Glance_image["${uec_image_name}-ramdisk"] ]
}
}
} }

View File

@ -27,9 +27,8 @@ class packstack::provision::tempest ()
$configure_networks = true $configure_networks = true
# Image # Image
$uec_image_name = hiera('CONFIG_PROVISION_UEC_IMAGE_NAME')
$image_ssh_user = hiera('CONFIG_PROVISION_IMAGE_SSH_USER') $image_ssh_user = hiera('CONFIG_PROVISION_IMAGE_SSH_USER')
$image_name_alt = "${uec_image_name}_alt" $image_name = hiera('CONFIG_PROVISION_IMAGE_NAME')
$image_alt_ssh_user = hiera('CONFIG_PROVISION_IMAGE_SSH_USER') $image_alt_ssh_user = hiera('CONFIG_PROVISION_IMAGE_SSH_USER')
$image_source = hiera('CONFIG_PROVISION_IMAGE_URL') $image_source = hiera('CONFIG_PROVISION_IMAGE_URL')
$image_format = hiera('CONFIG_PROVISION_IMAGE_FORMAT') $image_format = hiera('CONFIG_PROVISION_IMAGE_FORMAT')
@ -127,8 +126,8 @@ class packstack::provision::tempest ()
identity_uri_v3 => $identity_uri_v3, identity_uri_v3 => $identity_uri_v3,
keystone_v2 => false, keystone_v2 => false,
image_alt_ssh_user => $image_alt_ssh_user, image_alt_ssh_user => $image_alt_ssh_user,
image_name_alt => $image_name_alt, image_name_alt => $image_name,
image_name => $uec_image_name, image_name => $image_name,
image_ssh_user => $image_ssh_user, image_ssh_user => $image_ssh_user,
run_ssh => true, run_ssh => true,
log_file => $log_file, log_file => $log_file,

View File

@ -0,0 +1,10 @@
---
upgrade:
- |
Default cirros image for demo project has been updated to 0.5.1. With this change
using UEC image is not longer needed so following options have been removed from
packstack parameters:
* CONFIG_PROVISION_UEC_IMAGE_NAME
* CONFIG_PROVISION_UEC_IMAGE_KERNEL_URL
* CONFIG_PROVISION_UEC_IMAGE_RAMDISK_URL
* CONFIG_PROVISION_UEC_IMAGE_DISK_URL

View File

@ -202,19 +202,8 @@ fi
rm -rf /tmp/cirros rm -rf /tmp/cirros
mkdir /tmp/cirros mkdir /tmp/cirros
# Select cirros arch and image version based on system architecture, and export them for use by the test scenarios.
# As of April 2018, Packstack on x86 has kernel panics with the 0.4.0 cirros image. However, ppc64le requires it.
# As such, for now, we set x86 boxes to use version 0.3.5, and ppc64le boxes to use 0.4.0.
export CIRROS_ARCH="$(uname -p)" export CIRROS_ARCH="$(uname -p)"
export CIRROS_VERSION="0.5.1"
case $CIRROS_ARCH in
x86_64)
export CIRROS_VERSION="0.3.5"
;;
ppc64le)
export CIRROS_VERSION="0.4.0"
;;
esac
if [ -f ~/cache/files/cirros-$CIRROS_VERSION-$CIRROS_ARCH-uec.tar.gz ]; then if [ -f ~/cache/files/cirros-$CIRROS_VERSION-$CIRROS_ARCH-uec.tar.gz ]; then
tar -xzvf ~/cache/files/cirros-$CIRROS_VERSION-$CIRROS_ARCH-uec.tar.gz -C /tmp/cirros/ tar -xzvf ~/cache/files/cirros-$CIRROS_VERSION-$CIRROS_ARCH-uec.tar.gz -C /tmp/cirros/

View File

@ -36,9 +36,6 @@ $SUDO packstack ${ADDITIONAL_ARGS} \
--amqp-enable-ssl=n \ --amqp-enable-ssl=n \
--glance-backend=file \ --glance-backend=file \
--nova-libvirt-virt-type=qemu \ --nova-libvirt-virt-type=qemu \
--provision-uec-kernel-url="/tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-vmlinuz" \
--provision-uec-ramdisk-url="/tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-initrd" \
--provision-uec-disk-url="/tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-disk.img" \
--provision-image-url="/tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-disk.img" \ --provision-image-url="/tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-disk.img" \
--provision-demo=y \ --provision-demo=y \
--provision-tempest=y \ --provision-tempest=y \

View File

@ -38,9 +38,6 @@ $SUDO packstack ${ADDITIONAL_ARGS} \
--amqp-enable-ssl=y \ --amqp-enable-ssl=y \
--glance-backend=file \ --glance-backend=file \
--nova-libvirt-virt-type=qemu \ --nova-libvirt-virt-type=qemu \
--provision-uec-kernel-url="/tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-vmlinuz" \
--provision-uec-ramdisk-url="/tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-initrd" \
--provision-uec-disk-url="/tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-disk.img" \
--provision-image-url="/tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-disk.img" \ --provision-image-url="/tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-disk.img" \
--provision-demo=y \ --provision-demo=y \
--provision-tempest=y \ --provision-tempest=y \

View File

@ -42,9 +42,6 @@ $SUDO packstack ${ADDITIONAL_ARGS} \
--os-sahara-install=y \ --os-sahara-install=y \
--os-trove-install=y \ --os-trove-install=y \
--nova-libvirt-virt-type=qemu \ --nova-libvirt-virt-type=qemu \
--provision-uec-kernel-url="/tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-vmlinuz" \
--provision-uec-ramdisk-url="/tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-initrd" \
--provision-uec-disk-url="/tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-disk.img" \
--provision-image-url="/tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-disk.img" \ --provision-image-url="/tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-disk.img" \
--provision-demo=y \ --provision-demo=y \
--provision-tempest=y \ --provision-tempest=y \

View File

@ -40,9 +40,6 @@ $SUDO packstack ${ADDITIONAL_ARGS} \
--os-magnum-install=y \ --os-magnum-install=y \
--os-panko-install=y \ --os-panko-install=y \
--nova-libvirt-virt-type=qemu \ --nova-libvirt-virt-type=qemu \
--provision-uec-kernel-url="/tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-vmlinuz" \
--provision-uec-ramdisk-url="/tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-initrd" \
--provision-uec-disk-url="/tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-disk.img" \
--provision-image-url="/tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-disk.img" \ --provision-image-url="/tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-disk.img" \
--provision-demo=y \ --provision-demo=y \
--provision-tempest=y \ --provision-tempest=y \