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
|
||||
- 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
|
||||
|
@ -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-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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user