Add support for aarch64 images

Jonathan Rosser <jonathan.rosser@rd.bbc.co.uk>:

This patch introduces a map which allows tempest images to be specified
per CPU architecture. Appropriate images will be uploaded for x86_64 and
aarch64, alternatively tempest_images can be overridden by the deployer.

This change is primarily designed to enable tempest testing via AIO/CI
on architectures other than x86_64.

For aarch64 we must use a cirros 0.4.0 image, as there is no earlier
version available for this architecture.

==

Paul Martin <paul.martin@codethink.co.uk>:

Replace cirros image with one with many updates, including kernel and
grub-uefi.

The Cirros 0.4.0 image contains a combination of kernel and grub-uefi
that doesn't parse the QEMU/KVM device tree information correctly,
leading to an image that fails to have a serial console or an interrupt
controller, so crashes silently at kernel initialization.

Depends-On: https://review.openstack.org/620018
Change-Id: Ic34103e0438c537fd0a6edd142ec2ad9ae29da1f
This commit is contained in:
Jonathan Rosser 2018-11-26 12:23:24 +00:00 committed by Paul Martin
parent d429b800e4
commit 0ad0c29d7a
2 changed files with 41 additions and 14 deletions

View File

@ -241,20 +241,17 @@ tempest_pip_packages:
- testscenarios
- os-testr
# The list of images for tempest to download.
# url: where to download from (required)
# checksum: the checksum of the downloaded file to validate against, format: <algorithm>:<checksum> (optional)
# format: format to use when uploading to glance (required)
# name: name to use when uploading to glance - default is to use the downloaded file's name (optional)
tempest_images:
- url: "http://download.cirros-cloud.net/0.3.6/cirros-0.3.6-x86_64-disk.img"
checksum: "sha256:72d301384d45cf396c82fd767ff4bf948c94335bbbee46b94946e85c422fa1bd"
format: "qcow2"
name: "cirros"
- url: "http://download.cirros-cloud.net/0.3.6/cirros-0.3.6-x86_64-disk.img"
checksum: "sha256:72d301384d45cf396c82fd767ff4bf948c94335bbbee46b94946e85c422fa1bd"
format: "qcow2"
name: "cirros"
# The list of images for tempest to download for the current architecture, as defined
# in this role vars/main.yml file
# To override this list, use a list of the form
# tempest_images:
# - url: ... where to download from (required)
# checksum: ... checksum to validate downloaded file, format: <algorithm>:<checksum> (optional)
# format: ... format to use when uploading to glance (required)
# name: ... name to use when uploading to glance (optional)
# properties: a dict of custom properties to attach to the image in glance (optional)
# <property>: <value>
tempest_images: "{{ tempest_images_map[ansible_architecture] }}"
# The location where images are downloaded to
tempest_image_dir: "{{ lookup('env', 'HOME') }}/tempest-images"

View File

@ -13,6 +13,36 @@
# See the License for the specific language governing permissions and
# limitations under the License.
# The list of images for tempest to download for different architectures
# url: where to download from (required)
# checksum: the checksum of the downloaded file to validate against, format: <algorithm>:<checksum> (optional)
# format: format to use when uploading to glance (required)
# name: name to use when uploading to glance - default is to use the downloaded file's name (optional)
# properties: a dict of custom properties to attach to the image in glance
tempest_images_map:
x86_64:
- url: "http://download.cirros-cloud.net/0.3.6/cirros-0.3.6-x86_64-disk.img"
checksum: "sha256:72d301384d45cf396c82fd767ff4bf948c94335bbbee46b94946e85c422fa1bd"
format: "qcow2"
name: "cirros"
- url: "http://download.cirros-cloud.net/0.3.6/cirros-0.3.6-x86_64-disk.img"
checksum: "sha256:72d301384d45cf396c82fd767ff4bf948c94335bbbee46b94946e85c422fa1bd"
format: "qcow2"
name: "cirros"
aarch64:
- url: "http://download.cirros-cloud.net/contrib/nowster/20190515/cirros-d190515-aarch64-disk.img"
checksum: "sha256:65439061ca6e4e4a411bba8963e34c38f1f124564db72b0b26ffb2556016305e"
format: "qcow2"
name: "cirros"
properties:
hw_firmware_type: uefi
- url: "http://download.cirros-cloud.net/contrib/nowster/20190515/cirros-d190515-aarch64-disk.img"
checksum: "sha256:65439061ca6e4e4a411bba8963e34c38f1f124564db72b0b26ffb2556016305e"
format: "qcow2"
name: "cirros"
properties:
hw_firmware_type: uefi
# Each tempest plugin could take the following arguments:
# - name:
# repo: # when installing from a repo