summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2020-05-04 16:37:49 +0000
committerGerrit Code Review <review@openstack.org>2020-05-04 16:37:49 +0000
commit82c26635648ac2e8fa7e0ae4c802a66ba4436637 (patch)
treea805f4584087bca0a1477a698074df7924343f62
parent8e065c869a6c8bcd4a528e865f73297c204858ab (diff)
parent90777c1277325b5c2a7e370e3f9156f64597a2b3 (diff)
downloadironic-82c26635648ac2e8fa7e0ae4c802a66ba4436637.tar.gz
Merge "Native zuulv3 grenade job for ironic"
-rw-r--r--doc/source/contributor/jobs-description.rst2
-rw-r--r--playbooks/legacy/grenade-dsvm-ironic/run.yaml121
-rw-r--r--playbooks/legacy/ironic-dsvm-base/post.yaml15
-rw-r--r--playbooks/legacy/ironic-dsvm-base/pre.yaml22
-rw-r--r--zuul.d/ironic-jobs.yaml75
-rw-r--r--zuul.d/legacy-ironic-jobs.yaml45
-rw-r--r--zuul.d/project.yaml4
7 files changed, 78 insertions, 206 deletions
diff --git a/doc/source/contributor/jobs-description.rst b/doc/source/contributor/jobs-description.rst
index 24b4fa217..a2ca0fe78 100644
--- a/doc/source/contributor/jobs-description.rst
+++ b/doc/source/contributor/jobs-description.rst
@@ -24,7 +24,7 @@ The description of each jobs that runs in the CI when you submit a patch for
* - ironic-tempest-functional-python3
- Deploys Ironic in standalone mode and runs tempest functional tests
that matches the regex `ironic_tempest_plugin.tests.api` under Python3
- * - ironic-grenade-dsvm
+ * - ironic-grenade
- Deploys Ironic in a DevStack and runs upgrade for all enabled services.
* - ironic-grenade-dsvm-multinode-multitenant
- Deploys Ironic in a multinode DevStack and runs upgrade for all enabled
diff --git a/playbooks/legacy/grenade-dsvm-ironic/run.yaml b/playbooks/legacy/grenade-dsvm-ironic/run.yaml
deleted file mode 100644
index 080287a12..000000000
--- a/playbooks/legacy/grenade-dsvm-ironic/run.yaml
+++ /dev/null
@@ -1,121 +0,0 @@
-# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-# NOTE(sambetts) DO NOT UPDATE this job when you update the other jobs with
-# changes related to the current branch. The devstack local config defined in
-# this job is run against the last (old) version of the devstack plugin in the
-# grenade steps.
-# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
-- hosts: all
- name: Autoconverted job legacy-grenade-dsvm-ironic from old job gate-grenade-dsvm-ironic-ubuntu-xenial-nv
- tasks:
-
- - name: Show the environment
- shell:
- cmd: |
- env
- executable: /bin/bash
- chdir: '{{ ansible_user_dir }}/workspace'
- environment: '{{ zuul | zuul_legacy_vars }}'
-
- - shell:
- cmd: |
- cat << 'EOF' >> ironic-vars-early
- # Set this early so that we do not have to be as careful with builder ordering in jobs.
- export GRENADE_PLUGINRC="enable_grenade_plugin ironic https://opendev.org/openstack/ironic"
-
- EOF
- chdir: '{{ ansible_user_dir }}/workspace'
- environment: '{{ zuul | zuul_legacy_vars }}'
-
- - shell:
- cmd: |
- cat << 'EOF' >> ironic-extra-vars
- export PROJECTS="openstack/grenade $PROJECTS"
- export DEVSTACK_GATE_GRENADE=pullup
- export DEVSTACK_GATE_OS_TEST_TIMEOUT=2600
- export DEVSTACK_GATE_TEMPEST_BAREMETAL_BUILD_TIMEOUT=1200
- export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_BUILD_DEPLOY_RAMDISK=False"
- export DEVSTACK_GATE_TLSPROXY=0
- export DEVSTACK_GATE_USE_PYTHON3=True
- export BUILD_TIMEOUT
-
- # Standardize VM size for each supported ramdisk
- export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=384"
- export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
-
- EOF
- chdir: '{{ ansible_user_dir }}/workspace'
- environment: '{{ zuul | zuul_legacy_vars }}'
-
- - shell:
- cmd: |
- cat << 'EOF' >> ironic-vars-early
- # use tempest plugin
- export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic-tempest-plugin'"
- export TEMPEST_CONCURRENCY=1
- EOF
- chdir: '{{ ansible_user_dir }}/workspace'
- environment: '{{ zuul | zuul_legacy_vars }}'
-
- - shell:
- cmd: |
- set -e
- set -x
- export PROJECTS="openstack/ironic $PROJECTS"
- export PROJECTS="openstack/ironic-lib $PROJECTS"
- export PROJECTS="openstack/ironic-python-agent $PROJECTS"
- export PROJECTS="openstack/ironic-python-agent-builder $PROJECTS"
- export PROJECTS="openstack/ironic-tempest-plugin $PROJECTS"
- export PROJECTS="openstack/python-ironicclient $PROJECTS"
- export PROJECTS="openstack/virtualbmc $PROJECTS"
- export PYTHONUNBUFFERED=true
- export DEVSTACK_GATE_TEMPEST=1
- export DEVSTACK_GATE_IRONIC=1
- export DEVSTACK_GATE_NEUTRON=1
- export DEVSTACK_GATE_VIRT_DRIVER=ironic
- export DEVSTACK_GATE_CONFIGDRIVE=1
- export DEVSTACK_GATE_IRONIC_DRIVER=ipmi
- export BRANCH_OVERRIDE="{{ zuul.override_checkout | default('default') }}"
- if [ "$BRANCH_OVERRIDE" != "default" ] ; then
- export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
- fi
-
- if [[ "$ZUUL_BRANCH" != "stable/ocata" && "$BRANCH_OVERRIDE" != "stable/ocata" ]]; then
- export DEVSTACK_GATE_TLSPROXY=1
- fi
-
- export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=False"
- export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=1"
-
- export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=0
- export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=False"
-
- # NOTE(TheJulia): Keep the runtime down by disabling cleaning
- # the nodes and focus on the server related tests as opposed
- # to network scenario testing
- export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_AUTOMATED_CLEAN_ENABLED=False"
- export DEVSTACK_GATE_TEMPEST_REGEX=test_server_basic_ops
-
- export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_COUNT=7"
-
- export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_REQUIRE_AGENT_TOKEN=False"
-
- export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEFAULT_BOOT_OPTION=netboot"
-
- # Ensure the ironic-vars-EARLY file exists
- touch ironic-vars-early
- # Pull in the EARLY variables injected by the optional builders
- source ironic-vars-early
-
- export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic https://opendev.org/openstack/ironic"
-
- # Ensure the ironic-EXTRA-vars file exists
- touch ironic-extra-vars
- # Pull in the EXTRA variables injected by the optional builders
- source ironic-extra-vars
-
- cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
- ./safe-devstack-vm-gate-wrap.sh
- executable: /bin/bash
- chdir: '{{ ansible_user_dir }}/workspace'
- environment: '{{ zuul | zuul_legacy_vars }}'
diff --git a/playbooks/legacy/ironic-dsvm-base/post.yaml b/playbooks/legacy/ironic-dsvm-base/post.yaml
deleted file mode 100644
index e07f5510a..000000000
--- a/playbooks/legacy/ironic-dsvm-base/post.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-- hosts: primary
- tasks:
-
- - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
- synchronize:
- src: '{{ ansible_user_dir }}/workspace/'
- dest: '{{ zuul.executor.log_root }}'
- mode: pull
- copy_links: true
- verify_host: true
- rsync_opts:
- - --include=/logs/**
- - --include=*/
- - --exclude=*
- - --prune-empty-dirs
diff --git a/playbooks/legacy/ironic-dsvm-base/pre.yaml b/playbooks/legacy/ironic-dsvm-base/pre.yaml
deleted file mode 100644
index c2530b2bf..000000000
--- a/playbooks/legacy/ironic-dsvm-base/pre.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
-- hosts: primary
- name: Clone devstack-gate to /opt/git
- tasks:
- - name: Ensure legacy workspace directory
- file:
- path: '{{ ansible_user_dir }}/workspace'
- state: directory
- - shell:
- cmd: |
- set -e
- set -x
- cat > clonemap.yaml << EOF
- clonemap:
- - name: openstack/devstack-gate
- dest: devstack-gate
- EOF
- /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \
- https://opendev.org \
- openstack/devstack-gate
- executable: /bin/bash
- chdir: '{{ ansible_user_dir }}/workspace'
- environment: '{{ zuul | zuul_legacy_vars }}'
diff --git a/zuul.d/ironic-jobs.yaml b/zuul.d/ironic-jobs.yaml
index b381a1282..54403e382 100644
--- a/zuul.d/ironic-jobs.yaml
+++ b/zuul.d/ironic-jobs.yaml
@@ -647,3 +647,78 @@
s-container: True
s-object: True
s-proxy: True
+
+- job:
+ name: ironic-grenade
+ parent: grenade
+ timeout: 10800
+ irrelevant-files:
+ - ^driver-requirements.txt$
+ - ^.*\.rst$
+ - ^api-ref/.*$
+ - ^doc/.*$
+ - ^install-guide/.*$
+ - ^ironic/locale/.*$
+ - ^ironic/tests/.*$
+ - ^releasenotes/.*$
+ - ^setup.cfg$
+ - ^tools/.*$
+ - ^tox.ini$
+ required-projects:
+ - openstack/grenade
+ - openstack/ironic
+ - openstack/ironic-python-agent
+ - openstack/ironic-python-agent-builder
+ - openstack/ironic-tempest-plugin
+ - openstack/virtualbmc
+ vars:
+ grenade_devstack_localrc:
+ shared:
+ DEFAULT_INSTANCE_TYPE: baremetal
+ FORCE_CONFIG_DRIVE: True
+ INSTALL_TEMPEST: False
+ VIRT_DRIVER: ironic
+ BUILD_TIMEOUT: 1200
+ IRONIC_BAREMETAL_BASIC_OPS: True
+ IRONIC_BUILD_DEPLOY_RAMDISK: False
+ IRONIC_CALLBACK_TIMEOUT: 600
+ IRONIC_DEPLOY_DRIVER: ipmi
+ IRONIC_INSPECTOR_BUILD_RAMDISK: False
+ IRONIC_RAMDISK_TYPE: tinyipa
+ IRONIC_TEMPEST_WHOLE_DISK_IMAGE: False
+ IRONIC_VM_COUNT: 6
+ IRONIC_VM_EPHEMERAL_DISK: 1
+ IRONIC_VM_SPECS_RAM: 384
+ IRONIC_DEFAULT_BOOT_OPTION: netboot
+ IRONIC_AUTOMATED_CLEAN_ENABLED: False
+ IRONIC_REQUIRE_AGENT_TOKEN: False
+ Q_AGENT: openvswitch
+ Q_ML2_TENANT_NETWORK_TYPE: vxlan
+ EBTABLES_RACE_FIX: True
+ old:
+ IRONIC_VM_LOG_DIR: '{{ devstack_bases.old }}/ironic-bm-logs'
+ grenade_tempest_concurrency: 1
+ grenade_test_timeout: 2600
+ devstack_plugins:
+ ironic: https://opendev.org/openstack/ironic
+ devstack_services:
+ c-api: False
+ c-bak: False
+ c-sch: False
+ c-vol: False
+ cinder: False
+ ir-api: True
+ ir-cond: True
+ tempest_plugins:
+ - ironic-tempest-plugin
+ tempest_test_regex: 'test_server_basic_ops'
+ tox_envlist: all
+ tempest_concurrency: 1
+ zuul_copy_output:
+ '{{ devstack_bases.old }}/ironic-bm-logs': logs
+
+# Keeping till we can rename the job on grenade
+- job:
+ name: ironic-grenade-dsvm
+ parent: ironic-grenade
+ timeout: 10800
diff --git a/zuul.d/legacy-ironic-jobs.yaml b/zuul.d/legacy-ironic-jobs.yaml
index 1ae8342b4..cfc2ca267 100644
--- a/zuul.d/legacy-ironic-jobs.yaml
+++ b/zuul.d/legacy-ironic-jobs.yaml
@@ -1,31 +1,3 @@
-- job:
- name: legacy-ironic-dsvm-base
- parent: legacy-dsvm-base
- irrelevant-files:
- - ^driver-requirements.txt$
- - ^.*\.rst$
- - ^api-ref/.*$
- - ^doc/.*$
- - ^install-guide/.*$
- - ^ironic/locale/.*$
- - ^ironic/tests/.*$
- - ^releasenotes/.*$
- - ^setup.cfg$
- - ^tools/.*$
- - ^tox.ini$
- # NOTE: When adding to 'required-projects' also need to add a corresponding
- # "export PROJECTS=..." line in all the playbooks/legacy/*/run.yaml files
- required-projects:
- - openstack/ironic
- - openstack/ironic-lib
- - openstack/ironic-python-agent
- - openstack/ironic-python-agent-builder
- - openstack/ironic-tempest-plugin
- - openstack/python-ironicclient
- - openstack/virtualbmc
- pre-run: playbooks/legacy/ironic-dsvm-base/pre.yaml
- post-run: playbooks/legacy/ironic-dsvm-base/post.yaml
-
# TODO(TheJulia): When we migrate to a non-legacy job, we will need to set the BUILD_TIMEOUT
# and the DEVSTACK_GATE_TEMPEST_BAREMETAL_BUILD_TIMEOUT to 1200 seconds to prevent
# needless CI job timeouts as the scale of the job is greater than a normal test jobs.
@@ -57,22 +29,6 @@
pre-run: playbooks/legacy/ironic-dsvm-base-multinode/pre.yaml
post-run: playbooks/legacy/ironic-dsvm-base-multinode/post.yaml
-# TODO(TheJulia): When we migrate to a non-legacy job, we will need to set the BUILD_TIMEOUT
-# and the DEVSTACK_GATE_TEMPEST_BAREMETAL_BUILD_TIMEOUT to 1200 seconds to prevent
-# needless CI job timeouts as the scale of the job is greater than a normal test jobs.
-- job:
- name: ironic-grenade-dsvm
- parent: legacy-ironic-dsvm-base
- run: playbooks/legacy/grenade-dsvm-ironic/run.yaml
- timeout: 10800
- required-projects:
- - openstack/grenade
- - openstack/devstack-gate
- - openstack/ironic
- - openstack/ironic-lib
- - openstack/ironic-python-agent
- - openstack/python-ironicclient
- - openstack/virtualbmc
- job:
name: ironic-grenade-dsvm-multinode-multitenant
@@ -88,4 +44,3 @@
- openstack/networking-generic-switch
- openstack/python-ironicclient
- openstack/virtualbmc
-
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
index d63bd36a3..379e0c3d1 100644
--- a/zuul.d/project.yaml
+++ b/zuul.d/project.yaml
@@ -12,7 +12,7 @@
- ironic-tox-unit-with-driver-libs
- ironic-standalone
- ironic-tempest-functional-python3
- - ironic-grenade-dsvm
+ - ironic-grenade
# Temporary disable voting because of end of cycle CI instability.
- ironic-grenade-dsvm-multinode-multitenant:
voting: false
@@ -50,7 +50,7 @@
- ironic-tox-unit-with-driver-libs
- ironic-standalone
- ironic-tempest-functional-python3
- - ironic-grenade-dsvm
+ - ironic-grenade
# removing from voting due to end of cycle gate instability.
# - ironic-grenade-dsvm-multinode-multitenant
- ironic-tempest-partition-bios-redfish-pxe