Zuul migration

This patch migrates legacy dsvm-discovery and dsvm-python3 jobs
to zuulv3.

Change-Id: I0f6000247a970ea2ccaff4757f7677de2dcd1593
This commit is contained in:
Kaifeng Wang 2018-10-26 11:36:36 +08:00
parent 054f300290
commit 3247cb51e6
6 changed files with 135 additions and 336 deletions

View File

@ -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

View File

@ -1,174 +0,0 @@
- hosts: all
name: Autoconverted job legacy-tempest-dsvm-ironic-inspector-discovery from old
job gate-tempest-dsvm-ironic-inspector-discovery-ubuntu-xenial
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-infra/devstack-gate
dest: devstack-gate
EOF
/usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \
git://git.openstack.org \
openstack-infra/devstack-gate
executable: /bin/bash
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'
- shell:
cmd: |
cat << 'EOF' >> ironic-extra-vars
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEPLOY_DRIVER_ISCSI_WITH_IPA=True"
# Standardize VM size for each supported ramdisk
case "tinyipa" in
'tinyipa')
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=384"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
;;
'tinyipa256')
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=256"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa"
;;
'coreos')
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=1280"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=coreos"
;;
# if using a ramdisk without a known good value, use the devstack
# default by not exporting any value for IRONIC_VM_SPECS_RAM
esac
EOF
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'
- shell:
cmd: |
cat << 'EOF' >> ironic-extra-vars
export DEVSTACK_GATE_TEMPEST_REGEX="InspectorDiscoveryTest"
EOF
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'
- shell:
cmd: |
cat << 'EOF' >> ironic-extra-vars
export PROJECTS="openstack/ironic-inspector $PROJECTS"
export PROJECTS="openstack/python-ironic-inspector-client $PROJECTS"
export DEVSTACK_GATE_IRONIC_INSPECTOR=1
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic-inspector git://git.openstack.org/openstack/ironic-inspector"
export IRONIC_INSPECTOR_AUTO_DISCOVERY=1
if [ "$IRONIC_INSPECTOR_AUTO_DISCOVERY" == "1" ]; then
# discovery test requires sudo for iptables and virsh
export DEVSTACK_GATE_REMOVE_STACK_SUDO=0
# enable enroll hook
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_NODE_NOT_FOUND_HOOK=enroll"
# we are deleting node from ironic for simulate node discovery,
# so inspector has to sync cache asap
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_CLEAN_UP_PERIOD=5"
fi
# Make IPXE configuration consistent between Mitaka and Master
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_IPXE_ENABLED=True"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_RAMDISK_ELEMENT=ironic-agent"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_DHCP_FILTER=dnsmasq"
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-tempest-plugin $PROJECTS"
export PROJECTS="openstack/python-ironicclient $PROJECTS"
export PROJECTS="openstack/pyghmi $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 DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEFAULT_DEPLOY_INTERFACE=direct"
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
# direct deploy requires Swift temporary URLs
export DEVSTACK_LOCAL_CONFIG+=$'\n'"SWIFT_ENABLE_TEMPURLS=True"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"SWIFT_TEMPURL_KEY=secretkey"
if [ "wholedisk" == "wholedisk" ] ; then
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=True"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=0"
else
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_TEMPEST_WHOLE_DISK_IMAGE=False"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=1"
fi
if [ -n "" ] ; then
export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=1
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=True"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"USE_SUBNETPOOL=False"
else
export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=0
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=False"
fi
if [ "bios" == "uefi" ] ; then
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_BOOT_MODE=uefi"
fi
export DEVSTACK_PROJECT_FROM_GIT=""
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_COUNT=1"
# 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 git://git.openstack.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 }}'

View File

@ -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

View File

@ -1,116 +0,0 @@
- hosts: all
name: ironic-inspector-tempest-dsvm-python3
tasks:
- name: Ensure workspace directory
file:
path: '{{ ansible_user_dir }}/workspace'
state: directory
- shell:
cmd: |
set -e
set -x
cat > clonemap.yaml << EOF
clonemap:
- name: openstack-infra/devstack-gate
dest: devstack-gate
EOF
/usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \
git://git.openstack.org \
openstack-infra/devstack-gate
executable: /bin/bash
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'
- shell:
cmd: |
cat << 'EOF' >> ironic-extra-vars
export DEVSTACK_GATE_USE_PYTHON3=True
EOF
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'
- shell:
cmd: |
cat << 'EOF' >> ironic-extra-vars
export DEVSTACK_GATE_TEMPEST_REGEX="Inspector"
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: |
cat << 'EOF' >> ironic-extra-vars
export IRONIC_INSPECTOR_AUTO_DISCOVERY=1
if [ "$IRONIC_INSPECTOR_AUTO_DISCOVERY" == "1" ]; then
# discovery test requires sudo for iptables and virsh
export DEVSTACK_GATE_REMOVE_STACK_SUDO=0
# enable enroll hook
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_NODE_NOT_FOUND_HOOK=enroll"
# we are deleting node from ironic for simulate node discovery,
# so inspector has to sync cache asap
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_CLEAN_UP_PERIOD=5"
fi
# PXE Filter Driver
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_DHCP_FILTER=iptables"
EOF
chdir: '{{ ansible_user_dir }}/workspace'
environment: '{{ zuul | zuul_legacy_vars }}'
- shell:
cmd: |
set -e
set -x
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_IRONIC=1
export DEVSTACK_GATE_IRONIC_INSPECTOR=1
export DEVSTACK_GATE_IRONIC_DRIVER=ipmi
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_VIRT_DRIVER=ironic
export DEVSTACK_GATE_CONFIGDRIVE=1
export BRANCH_OVERRIDE="{{ zuul.override_checkout | default('default') }}"
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export PROJECTS="openstack/ironic openstack/ironic-inspector $PROJECTS"
export PROJECTS="openstack/ironic-tempest-plugin $PROJECTS"
export DEVSTACK_LOCAL_CONFIG="enable_plugin ironic git://git.openstack.org/openstack/ironic"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic-inspector https://git.openstack.org/openstack/ironic-inspector"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_AUTOMATED_CLEAN_ENABLED=False"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_BUILD_DEPLOY_RAMDISK=False"
# IPA requires at least 1 GiB of RAM
export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_SPECS_RAM=1024"$'\n'"IRONIC_VM_COUNT=1"
# 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
# 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 }}'

View File

@ -0,0 +1,133 @@
- job:
name: ironic-inspector-dsvm-base
description: Base job for devstack/tempest based ironic-inspector jobs.
parent: devstack-tempest
timeout: 10800
required-projects:
- openstack/ironic
- openstack/ironic-inspector
- openstack/ironic-lib
- openstack/ironic-python-agent
- openstack/ironic-tempest-plugin
- openstack/pyghmi
- openstack/python-ironic-inspector-client
- openstack/python-ironicclient
- openstack/virtualbmc
irrelevant-files:
- ^test-requirements.txt$
- ^.*\.rst$
- ^api-ref/.*$
- ^doc/.*$
- ^ironic_inspector/test/(?!.*tempest).*$
- ^ironic_inspector/locale/.*$
- ^releasenotes/.*$
- ^setup.cfg$
- ^tools/.*$
- ^tox.ini$
vars:
tox_envlist: all
tempest_test_regex: Inspector
tempest_concurrency: 1
devstack_localrc:
DEFAULT_INSTANCE_TYPE: baremetal
FORCE_CONFIG_DRIVE: True
INSTALL_TEMPEST: False # Don't install a tempest package globaly
OVERRIDE_PUBLIC_BRIDGE_MTU: 1400
TEMPEST_PLUGINS: "'{{ ansible_user_dir }}/src/git.openstack.org/openstack/ironic-tempest-plugin'"
VIRT_DRIVER: ironic
BUILD_TIMEOUT: 600
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_BUILD_TIMEOUT: 600
IRONIC_TEMPEST_WHOLE_DISK_IMAGE: False
IRONIC_VM_COUNT: 1
IRONIC_VM_EPHEMERAL_DISK: 0
IRONIC_VM_LOG_DIR: '{{ devstack_base_dir }}/ironic-bm-logs'
IRONIC_VM_SPECS_RAM: 384
IRONIC_AUTOMATED_CLEAN_ENABLED: False
IRONIC_INSPECTOR_NODE_NOT_FOUND_HOOK: enroll
IRONIC_INSPECTOR_CLEAN_UP_PERIOD: 5
IRONIC_INSPECTOR_DHCP_FILTER: iptables
Q_AGENT: openvswitch
Q_ML2_TENANT_NETWORK_TYPE: vxlan
SWIFT_ENABLE_TEMPURLS: True
SWIFT_TEMPURL_KEY: secretkey
USE_PYTHON3: False
devstack_plugins:
ironic: git://git.openstack.org/openstack/ironic
ironic-inspector: git://git.openstack.org/openstack/ironic-inspector
zuul_copy_output:
'{{ devstack_base_dir }}/ironic-bm-logs': 'logs'
devstack_services:
c-api: False
c-bak: False
c-sch: False
c-vol: False
cinder: False
s-account: True
s-container: True
s-object: True
s-proxy: True
dstat: True
g-api: True
g-reg: True
key: True
mysql: True
n-api: True
n-api-meta: True
n-cauth: True
n-cond: True
n-cpu: True
n-novnc: True
n-obj: True
n-sch: True
placement-api: True
q-agt: False
q-dhcp: False
q-l3: False
q-meta: False
q-metering: False
q-svc: False
neutron-api: True
neutron-agent: True
neutron-dhcp: True
neutron-l3: True
neutron-metadata-agent: True
neutron-metering: True
rabbit: True
ir-api: True
ir-cond: True
ironic-inspector: True
ironic-inspector-dhcp: True
- job:
name: ironic-inspector-tempest-dsvm-python3
description: ironic-inspector-tempest-dsvm-python3
parent: ironic-inspector-dsvm-base
vars:
devstack_localrc:
USE_PYTHON3: True
- job:
name: ironic-inspector-tempest-dsvm-discovery
description: ironic-inspector-tempest-dsvm-discovery
parent: ironic-inspector-dsvm-base
vars:
tempest_test_regex: InspectorDiscoveryTest
devstack_localrc:
IRONIC_DEPLOY_DRIVER_ISCSI_WITH_IPA: True
IRONIC_DEFAULT_DEPLOY_INTERFACE: direct
IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True
IRONIC_IPXE_ENABLED: True
IRONIC_INSPECTOR_RAMDISK_ELEMENT: ironic-agent
IRONIC_INSPECTOR_DHCP_FILTER: dnsmasq
IRONIC_INSPECTOR_BUILD_RAMDISK: False

View File

@ -1,6 +1,6 @@
# DSVM jobs
- job:
name: ironic-inspector-dsvm-base
name: legacy-ironic-inspector-dsvm-base
parent: legacy-dsvm-base
required-projects:
- openstack/ironic
@ -26,23 +26,9 @@
- job:
name: ironic-inspector-grenade-dsvm
parent: ironic-inspector-dsvm-base
parent: legacy-ironic-inspector-dsvm-base
run: playbooks/legacy/ironic-inspector-grenade-dsvm/run.yaml
post-run: playbooks/legacy/ironic-inspector-grenade-dsvm/post.yaml
timeout: 10800
required-projects:
- openstack-dev/grenade
- job:
name: ironic-inspector-tempest-dsvm-discovery
parent: ironic-inspector-dsvm-base
run: playbooks/legacy/ironic-inspector-tempest-dsvm-discovery/run.yaml
post-run: playbooks/legacy/ironic-inspector-tempest-dsvm-discovery/post.yaml
timeout: 10800
- job:
name: ironic-inspector-tempest-dsvm-python3
parent: ironic-inspector-dsvm-base
run: playbooks/legacy/ironic-inspector-tempest-dsvm-python3/run.yaml
post-run: playbooks/legacy/ironic-inspector-tempest-dsvm-python3/post.yaml
timeout: 10800