From 78e763c61b39c3d4da81d58c47ccdeef34a7a4f4 Mon Sep 17 00:00:00 2001 From: Dmitry Tantsur Date: Tue, 24 Sep 2019 14:57:58 +0200 Subject: [PATCH] Add a CI job with a DIB-built ramdisk Also updates the devstack plugin to support pre-built DIB images and removes the explicit mention of dhcp-all-interfaces element, which is already a dependency of ironic-python-agent-ramdisk. Change-Id: I564016528e80c738d6004c47f8df502a7748b311 --- devstack/lib/ironic | 19 ++++++++++--------- zuul.d/ironic-jobs.yaml | 23 +++++++++++++++++++++++ zuul.d/project.yaml | 2 ++ 3 files changed, 35 insertions(+), 9 deletions(-) diff --git a/devstack/lib/ironic b/devstack/lib/ironic index 981d04cfb8..946eba13a8 100644 --- a/devstack/lib/ironic +++ b/devstack/lib/ironic @@ -258,6 +258,9 @@ IRONIC_EFIBOOT=${IRONIC_EFIBOOT:-$TOP_DIR/files/ir-deploy-$IRONIC_DEPLOY_DRIVER. IPA_DOWNLOAD_BRANCH=${IPA_DOWNLOAD_BRANCH:-master} IPA_DOWNLOAD_BRANCH=$(echo $IPA_DOWNLOAD_BRANCH | tr / -) +# OS for using with DIB images +IRONIC_DIB_RAMDISK_OS=centos7 + # Configure URLs required to download ramdisk if we're not building it, and # IRONIC_DEPLOY_RAMDISK/KERNEL or the RAMDISK/KERNEL_URLs have not been # preconfigured. @@ -266,23 +269,21 @@ if [[ "$IRONIC_BUILD_DEPLOY_RAMDISK" == "False" && \ (-z "$IRONIC_AGENT_KERNEL_URL" || -z "$IRONIC_AGENT_RAMDISK_URL") ]]; then case $IRONIC_RAMDISK_TYPE in tinyipa) - IRONIC_AGENT_KERNEL_URL=${IRONIC_AGENT_KERNEL_URL:-https://tarballs.openstack.org/ironic-python-agent/tinyipa/files/tinyipa-${IPA_DOWNLOAD_BRANCH}.vmlinuz} - IRONIC_AGENT_RAMDISK_URL=${IRONIC_AGENT_RAMDISK_URL:-https://tarballs.openstack.org/ironic-python-agent/tinyipa/files/tinyipa-${IPA_DOWNLOAD_BRANCH}.gz} + IRONIC_AGENT_KERNEL_FILE=tinyipa-${IPA_DOWNLOAD_BRANCH}.vmlinuz + IRONIC_AGENT_RAMDISK_FILE=tinyipa-${IPA_DOWNLOAD_BRANCH}.gz ;; dib) - die "IRONIC_RAMDISK_TYPE 'dib' has no official pre-built "\ - "images. To fix this select a different ramdisk type, set "\ - "IRONIC_BUILD_DEPLOY_RAMDISK=True, or manually configure "\ - "IRONIC_DEPLOY_RAMDISK(_URL) and IRONIC_DEPLOY_KERNEL(_URL) "\ - "to use your own pre-built ramdisk." + IRONIC_AGENT_KERNEL_FILE=ipa-${IRONIC_DIB_RAMDISK_OS}-${IPA_DOWNLOAD_BRANCH}.kernel + IRONIC_AGENT_RAMDISK_FILE=ipa-${IRONIC_DIB_RAMDISK_OS}-${IPA_DOWNLOAD_BRANCH}.initramfs ;; esac + IRONIC_AGENT_KERNEL_URL=https://tarballs.openstack.org/ironic-python-agent/${IRONIC_RAMDISK_TYPE}/files/${IRONIC_AGENT_KERNEL_FILE} + IRONIC_AGENT_RAMDISK_URL=https://tarballs.openstack.org/ironic-python-agent/${IRONIC_RAMDISK_TYPE}/files/${IRONIC_AGENT_RAMDISK_FILE} fi # This refers the options for disk-image-create and the platform on which # to build the dib based ironic-python-agent ramdisk. -# "centos7 dhcp-all-interfaces" is set since the default value "ubuntu" has some network issue. -IRONIC_DIB_RAMDISK_OPTIONS=${IRONIC_DIB_RAMDISK_OPTIONS:-'centos7 dhcp-all-interfaces'} +IRONIC_DIB_RAMDISK_OPTIONS=${IRONIC_DIB_RAMDISK_OPTIONS:-"$IRONIC_DIB_RAMDISK_OS"} # DHCP timeout for the dhcp-all-interfaces element. IRONIC_DIB_DHCP_TIMEOUT=${IRONIC_DIB_DHCP_TIMEOUT:-60} diff --git a/zuul.d/ironic-jobs.yaml b/zuul.d/ironic-jobs.yaml index 8c4bb8b75d..508c0bdb87 100644 --- a/zuul.d/ironic-jobs.yaml +++ b/zuul.d/ironic-jobs.yaml @@ -545,3 +545,26 @@ - ^setup.cfg$ - ^tools/(?!bandit\.yml).*$ - ^tox.ini$ + +- job: + name: ironic-tempest-ipa-wholedisk-bios-ipmi-direct-dib-centos7 + parent: ironic-base + timeout: 9600 + vars: + tempest_test_timeout: 2400 + devstack_services: + s-account: True + s-container: True + s-object: True + s-proxy: True + devstack_localrc: + IRONIC_DEFAULT_DEPLOY_INTERFACE: direct + IRONIC_RAMDISK_TYPE: dib + IRONIC_DIB_RAMDISK_OS: centos7 + IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True + IRONIC_TEMPEST_BUILD_TIMEOUT: 900 + IRONIC_VM_EPHEMERAL_DISK: 0 + IRONIC_VM_INTERFACE_COUNT: 1 + IRONIC_VM_SPECS_RAM: 3072 + SWIFT_ENABLE_TEMPURLS: True + SWIFT_TEMPURL_KEY: secretkey diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index 2919929f86..3819f86890 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -36,6 +36,8 @@ voting: false - ironic-inspector-tempest: voting: false + - ironic-tempest-ipa-wholedisk-bios-ipmi-direct-dib-centos7: + voting: false - bifrost-integration-tinyipa-ubuntu-xenial: voting: false - metalsmith-integration-glance-localboot-centos7: