Merge "Native zuulv3 grenade job for ironic"
This commit is contained in:
commit
82c2663564
@ -24,7 +24,7 @@ The description of each jobs that runs in the CI when you submit a patch for
|
|||||||
* - ironic-tempest-functional-python3
|
* - ironic-tempest-functional-python3
|
||||||
- Deploys Ironic in standalone mode and runs tempest functional tests
|
- Deploys Ironic in standalone mode and runs tempest functional tests
|
||||||
that matches the regex `ironic_tempest_plugin.tests.api` under Python3
|
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.
|
- Deploys Ironic in a DevStack and runs upgrade for all enabled services.
|
||||||
* - ironic-grenade-dsvm-multinode-multitenant
|
* - ironic-grenade-dsvm-multinode-multitenant
|
||||||
- Deploys Ironic in a multinode DevStack and runs upgrade for all enabled
|
- Deploys Ironic in a multinode DevStack and runs upgrade for all enabled
|
||||||
|
@ -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 }}'
|
|
@ -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
|
|
@ -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 }}'
|
|
@ -647,3 +647,78 @@
|
|||||||
s-container: True
|
s-container: True
|
||||||
s-object: True
|
s-object: True
|
||||||
s-proxy: 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
|
||||||
|
@ -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
|
# 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
|
# 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.
|
# 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
|
pre-run: playbooks/legacy/ironic-dsvm-base-multinode/pre.yaml
|
||||||
post-run: playbooks/legacy/ironic-dsvm-base-multinode/post.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:
|
- job:
|
||||||
name: ironic-grenade-dsvm-multinode-multitenant
|
name: ironic-grenade-dsvm-multinode-multitenant
|
||||||
@ -88,4 +44,3 @@
|
|||||||
- openstack/networking-generic-switch
|
- openstack/networking-generic-switch
|
||||||
- openstack/python-ironicclient
|
- openstack/python-ironicclient
|
||||||
- openstack/virtualbmc
|
- openstack/virtualbmc
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
- ironic-tox-unit-with-driver-libs
|
- ironic-tox-unit-with-driver-libs
|
||||||
- ironic-standalone
|
- ironic-standalone
|
||||||
- ironic-tempest-functional-python3
|
- ironic-tempest-functional-python3
|
||||||
- ironic-grenade-dsvm
|
- ironic-grenade
|
||||||
# Temporary disable voting because of end of cycle CI instability.
|
# Temporary disable voting because of end of cycle CI instability.
|
||||||
- ironic-grenade-dsvm-multinode-multitenant:
|
- ironic-grenade-dsvm-multinode-multitenant:
|
||||||
voting: false
|
voting: false
|
||||||
@ -50,7 +50,7 @@
|
|||||||
- ironic-tox-unit-with-driver-libs
|
- ironic-tox-unit-with-driver-libs
|
||||||
- ironic-standalone
|
- ironic-standalone
|
||||||
- ironic-tempest-functional-python3
|
- ironic-tempest-functional-python3
|
||||||
- ironic-grenade-dsvm
|
- ironic-grenade
|
||||||
# removing from voting due to end of cycle gate instability.
|
# removing from voting due to end of cycle gate instability.
|
||||||
# - ironic-grenade-dsvm-multinode-multitenant
|
# - ironic-grenade-dsvm-multinode-multitenant
|
||||||
- ironic-tempest-partition-bios-redfish-pxe
|
- ironic-tempest-partition-bios-redfish-pxe
|
||||||
|
Loading…
Reference in New Issue
Block a user