From 843ca2258b86d81f1d2dd6362b6589fa0446aa09 Mon Sep 17 00:00:00 2001 From: Pavlo Shchelokovskyy Date: Thu, 19 Oct 2017 10:35:28 +0300 Subject: [PATCH] Add zuul3 jobs in-tree copied all over from general config repos, renamed to better match how ironic now names jobs. Change-Id: If8195b909dba152e978aac33241424ecfd0777dd --- .../ironic-inspector-grenade-dsvm/post.yaml | 15 ++ .../ironic-inspector-grenade-dsvm/run.yaml | 219 ++++++++++++++++++ .../post.yaml | 15 ++ .../run.yaml | 196 ++++++++++++++++ .../ironic-inspector-tox-func/post.yaml | 67 ++++++ .../legacy/ironic-inspector-tox-func/run.yaml | 86 +++++++ .../ironic-inspector-tox-func3/post.yaml | 67 ++++++ .../ironic-inspector-tox-func3/run.yaml | 86 +++++++ zuul.d/legacy-ironic-inspector-jobs.yaml | 53 +++++ zuul.d/project.yaml | 78 +++++++ 10 files changed, 882 insertions(+) create mode 100644 playbooks/legacy/ironic-inspector-grenade-dsvm/post.yaml create mode 100644 playbooks/legacy/ironic-inspector-grenade-dsvm/run.yaml create mode 100644 playbooks/legacy/ironic-inspector-tempest-dsvm-discovery/post.yaml create mode 100644 playbooks/legacy/ironic-inspector-tempest-dsvm-discovery/run.yaml create mode 100644 playbooks/legacy/ironic-inspector-tox-func/post.yaml create mode 100644 playbooks/legacy/ironic-inspector-tox-func/run.yaml create mode 100644 playbooks/legacy/ironic-inspector-tox-func3/post.yaml create mode 100644 playbooks/legacy/ironic-inspector-tox-func3/run.yaml create mode 100644 zuul.d/legacy-ironic-inspector-jobs.yaml create mode 100644 zuul.d/project.yaml diff --git a/playbooks/legacy/ironic-inspector-grenade-dsvm/post.yaml b/playbooks/legacy/ironic-inspector-grenade-dsvm/post.yaml new file mode 100644 index 000000000..e07f5510a --- /dev/null +++ b/playbooks/legacy/ironic-inspector-grenade-dsvm/post.yaml @@ -0,0 +1,15 @@ +- 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-inspector-grenade-dsvm/run.yaml b/playbooks/legacy/ironic-inspector-grenade-dsvm/run.yaml new file mode 100644 index 000000000..5b47c2972 --- /dev/null +++ b/playbooks/legacy/ironic-inspector-grenade-dsvm/run.yaml @@ -0,0 +1,219 @@ +- hosts: all + name: Autoconverted job legacy-grenade-dsvm-ironic-inspector from old job gate-grenade-dsvm-ironic-inspector-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-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://git.openstack.org/openstack/ironic" + + EOF + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + cat << 'EOF' >> ironic-extra-vars + export PROJECTS="openstack-dev/grenade $PROJECTS" + export DEVSTACK_GATE_GRENADE=pullup + export DEVSTACK_GATE_OS_TEST_TIMEOUT=2400 + export DEVSTACK_GATE_TEMPEST_BAREMETAL_BUILD_TIMEOUT=1200 + export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_BUILD_DEPLOY_RAMDISK=False" + export DEVSTACK_GATE_TLSPROXY=0 + + EOF + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + cat << 'EOF' >> ironic-extra-vars + export GRENADE_PLUGINRC+=$'\n'"enable_grenade_plugin ironic-inspector https://git.openstack.org/openstack/ironic-inspector" + + EOF + 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-vars-early + # use tempest plugin + if [[ "$ZUUL_BRANCH" != "master" ]] ; then + # NOTE(jroll) if this is not a patch against master, then + # fetch master to install the plugin + export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' git+git://git.openstack.org/openstack/ironic'" + else + # on master, use the local change, so we can pick up any changes to the plugin + export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic'" + fi + export TEMPEST_CONCURRENCY=1 + + 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" + + # use tempest plugin + if [[ "$ZUUL_BRANCH" != "master" ]] ; then + # NOTE(jroll) if this is not a patch against master, then + # fetch master to install the plugin + export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' git+git://git.openstack.org/openstack/ironic-inspector'" + else + # on master, use the local change, so we can pick up any changes to the plugin + export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic-inspector'" + fi + + export IRONIC_INSPECTOR_AUTO_DISCOVERY={inspector-auto-discovery} + 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_MANAGE_FIREWALL=True" + + 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/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=pxe_ipmitool + export BRANCH_OVERRIDE=default + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + + if [[ ! "stable/newton stable/ocata stable/pike" =~ $ZUUL_BRANCH ]] ; then + export DEVSTACK_GATE_TLSPROXY=1 + fi + + if [ "pxe_ipmitool" == "pxe_snmp" ] ; then + # explicitly enable pxe_snmp driver + export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_DRIVERS=fake,pxe_snmp" + fi + + if [ "pxe_ipmitool" == "redfish" ] ; then + # When deploying with redfish we need to enable the "redfish" + # hardware type + export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_HARDWARE_TYPES=redfish" + fi + + if [ "partition" == "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=7" + + # 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 }}' diff --git a/playbooks/legacy/ironic-inspector-tempest-dsvm-discovery/post.yaml b/playbooks/legacy/ironic-inspector-tempest-dsvm-discovery/post.yaml new file mode 100644 index 000000000..e07f5510a --- /dev/null +++ b/playbooks/legacy/ironic-inspector-tempest-dsvm-discovery/post.yaml @@ -0,0 +1,15 @@ +- 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-inspector-tempest-dsvm-discovery/run.yaml b/playbooks/legacy/ironic-inspector-tempest-dsvm-discovery/run.yaml new file mode 100644 index 000000000..a5860eac9 --- /dev/null +++ b/playbooks/legacy/ironic-inspector-tempest-dsvm-discovery/run.yaml @@ -0,0 +1,196 @@ +- 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" + + # use tempest plugin + if [[ "$ZUUL_BRANCH" != "master" ]] ; then + # NOTE(jroll) if this is not a patch against master, then + # fetch master to install the plugin + export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' git+git://git.openstack.org/openstack/ironic-inspector'" + else + # on master, use the local change, so we can pick up any changes to the plugin + export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic-inspector'" + fi + + 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_MANAGE_FIREWALL=True" + + EOF + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + cat << 'EOF' >> ironic-vars-early + # use tempest plugin + if [[ "$ZUUL_BRANCH" != "master" ]] ; then + # NOTE(jroll) if this is not a patch against master, then + # fetch master to install the plugin + export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' git+git://git.openstack.org/openstack/ironic'" + else + # on master, use the local change, so we can pick up any changes to the plugin + export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/ironic'" + fi + 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/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=agent_ipmitool + export BRANCH_OVERRIDE=default + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + + if [[ ! "stable/newton stable/ocata stable/pike" =~ $ZUUL_BRANCH ]] ; then + export DEVSTACK_GATE_TLSPROXY=1 + fi + + if [ "agent_ipmitool" == "pxe_snmp" ] ; then + # explicitly enable pxe_snmp driver + export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_DRIVERS=fake,pxe_snmp" + fi + + if [ "agent_ipmitool" == "redfish" ] ; then + # When deploying with redfish we need to enable the "redfish" + # hardware type + export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_ENABLED_HARDWARE_TYPES=redfish" + fi + + 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 }}' diff --git a/playbooks/legacy/ironic-inspector-tox-func/post.yaml b/playbooks/legacy/ironic-inspector-tox-func/post.yaml new file mode 100644 index 000000000..68fbdf81b --- /dev/null +++ b/playbooks/legacy/ironic-inspector-tox-func/post.yaml @@ -0,0 +1,67 @@ +- 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=**/*nose_results.html + - --include=*/ + - --exclude=* + - --prune-empty-dirs + + - 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=**/*testr_results.html.gz + - --include=*/ + - --exclude=* + - --prune-empty-dirs + + - 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=/.testrepository/tmp* + - --include=*/ + - --exclude=* + - --prune-empty-dirs + + - 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=**/*testrepository.subunit.gz + - --include=*/ + - --exclude=* + - --prune-empty-dirs + + - name: Copy files from {{ ansible_user_dir }}/workspace/ on node + synchronize: + src: '{{ ansible_user_dir }}/workspace/' + dest: '{{ zuul.executor.log_root }}/tox' + mode: pull + copy_links: true + verify_host: true + rsync_opts: + - --include=/.tox/*/log/* + - --include=*/ + - --exclude=* + - --prune-empty-dirs diff --git a/playbooks/legacy/ironic-inspector-tox-func/run.yaml b/playbooks/legacy/ironic-inspector-tox-func/run.yaml new file mode 100644 index 000000000..22bb0c714 --- /dev/null +++ b/playbooks/legacy/ironic-inspector-tox-func/run.yaml @@ -0,0 +1,86 @@ +- hosts: all + name: Autoconverted job legacy-ironic-inspector-tox-func from old job gate-ironic-inspector-tox-func-ubuntu-xenial + tasks: + + - name: Ensure legacy workspace directory + file: + path: '{{ ansible_user_dir }}/workspace' + state: directory + + - shell: + cmd: | + set -e + set -x + CLONEMAP=`mktemp` + REQS_DIR=`mktemp -d` + function cleanup { + mkdir -p $WORKSPACE + rm -rf $CLONEMAP $REQS_DIR + } + trap cleanup EXIT + cat > $CLONEMAP << EOF + clonemap: + - name: $ZUUL_PROJECT + dest: . + EOF + # zuul cloner works poorly if there are 2 names that are the + # same in here. + if [[ "$ZUUL_PROJECT" != "openstack/requirements" ]]; then + cat >> $CLONEMAP << EOF + - name: openstack/requirements + dest: $REQS_DIR + EOF + fi + /usr/zuul-env/bin/zuul-cloner -m $CLONEMAP --cache-dir /opt/git \ + git://git.openstack.org $ZUUL_PROJECT openstack/requirements + # REQS_DIR is not set for openstack/requirements and there is also + # no need to copy in this case. + if [[ "$ZUUL_PROJECT" != "openstack/requirements" ]]; then + cp $REQS_DIR/upper-constraints.txt ./ + fi + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: /usr/local/jenkins/slave_scripts/install-distro-packages.sh + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + if [ -x tools/test-setup.sh ] ; then + tools/test-setup.sh + fi + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + set -x + sudo rm -f /etc/sudoers.d/zuul + # Prove that general sudo access is actually revoked + ! sudo -n true + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: /usr/local/jenkins/slave_scripts/run-tox.sh func + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + OUT=`git ls-files --other --exclude-standard --directory` + if [ -z "$OUT" ]; then + echo "No extra files created during test." + exit 0 + else + echo "The following un-ignored files were created during the test:" + echo "$OUT" + exit 0 # TODO: change to 1 to fail tests. + fi + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' diff --git a/playbooks/legacy/ironic-inspector-tox-func3/post.yaml b/playbooks/legacy/ironic-inspector-tox-func3/post.yaml new file mode 100644 index 000000000..68fbdf81b --- /dev/null +++ b/playbooks/legacy/ironic-inspector-tox-func3/post.yaml @@ -0,0 +1,67 @@ +- 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=**/*nose_results.html + - --include=*/ + - --exclude=* + - --prune-empty-dirs + + - 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=**/*testr_results.html.gz + - --include=*/ + - --exclude=* + - --prune-empty-dirs + + - 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=/.testrepository/tmp* + - --include=*/ + - --exclude=* + - --prune-empty-dirs + + - 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=**/*testrepository.subunit.gz + - --include=*/ + - --exclude=* + - --prune-empty-dirs + + - name: Copy files from {{ ansible_user_dir }}/workspace/ on node + synchronize: + src: '{{ ansible_user_dir }}/workspace/' + dest: '{{ zuul.executor.log_root }}/tox' + mode: pull + copy_links: true + verify_host: true + rsync_opts: + - --include=/.tox/*/log/* + - --include=*/ + - --exclude=* + - --prune-empty-dirs diff --git a/playbooks/legacy/ironic-inspector-tox-func3/run.yaml b/playbooks/legacy/ironic-inspector-tox-func3/run.yaml new file mode 100644 index 000000000..9a4493206 --- /dev/null +++ b/playbooks/legacy/ironic-inspector-tox-func3/run.yaml @@ -0,0 +1,86 @@ +- hosts: all + name: Autoconverted job legacy-ironic-inspector-tox-func3 from old job gate-ironic-inspector-tox-func3-ubuntu-xenial + tasks: + + - name: Ensure legacy workspace directory + file: + path: '{{ ansible_user_dir }}/workspace' + state: directory + + - shell: + cmd: | + set -e + set -x + CLONEMAP=`mktemp` + REQS_DIR=`mktemp -d` + function cleanup { + mkdir -p $WORKSPACE + rm -rf $CLONEMAP $REQS_DIR + } + trap cleanup EXIT + cat > $CLONEMAP << EOF + clonemap: + - name: $ZUUL_PROJECT + dest: . + EOF + # zuul cloner works poorly if there are 2 names that are the + # same in here. + if [[ "$ZUUL_PROJECT" != "openstack/requirements" ]]; then + cat >> $CLONEMAP << EOF + - name: openstack/requirements + dest: $REQS_DIR + EOF + fi + /usr/zuul-env/bin/zuul-cloner -m $CLONEMAP --cache-dir /opt/git \ + git://git.openstack.org $ZUUL_PROJECT openstack/requirements + # REQS_DIR is not set for openstack/requirements and there is also + # no need to copy in this case. + if [[ "$ZUUL_PROJECT" != "openstack/requirements" ]]; then + cp $REQS_DIR/upper-constraints.txt ./ + fi + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: /usr/local/jenkins/slave_scripts/install-distro-packages.sh + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + if [ -x tools/test-setup.sh ] ; then + tools/test-setup.sh + fi + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + set -x + sudo rm -f /etc/sudoers.d/zuul + # Prove that general sudo access is actually revoked + ! sudo -n true + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: /usr/local/jenkins/slave_scripts/run-tox.sh func3 + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + OUT=`git ls-files --other --exclude-standard --directory` + if [ -z "$OUT" ]; then + echo "No extra files created during test." + exit 0 + else + echo "The following un-ignored files were created during the test:" + echo "$OUT" + exit 0 # TODO: change to 1 to fail tests. + fi + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' diff --git a/zuul.d/legacy-ironic-inspector-jobs.yaml b/zuul.d/legacy-ironic-inspector-jobs.yaml new file mode 100644 index 000000000..bea5bd587 --- /dev/null +++ b/zuul.d/legacy-ironic-inspector-jobs.yaml @@ -0,0 +1,53 @@ +- job: + name: ironic-inspector-tox-func + parent: legacy-base + run: playbooks/legacy/ironic-inspector-tox-func/run + post-run: playbooks/legacy/ironic-inspector-tox-func/post + timeout: 2400 + required-projects: + - openstack/requirements + +- job: + name: ironic-inspector-tox-func3 + parent: legacy-base + run: playbooks/legacy/ironic-inspector-tox-func3/run + post-run: playbooks/legacy/ironic-inspector-tox-func3/post + timeout: 2400 + required-projects: + - openstack/requirements + +- job: + name: ironic-inspector-grenade-dsvm + parent: legacy-dsvm-base + run: playbooks/legacy/ironic-inspector-grenade-dsvm/run + post-run: playbooks/legacy/ironic-inspector-grenade-dsvm/post + timeout: 10800 + required-projects: + - openstack-dev/grenade + - openstack-infra/devstack-gate + - openstack/ironic + - openstack/ironic-inspector + - openstack/ironic-lib + - openstack/ironic-python-agent + - openstack/pyghmi + - openstack/python-ironic-inspector-client + - openstack/python-ironicclient + - openstack/virtualbmc + +- job: + name: ironic-inspector-tempest-dsvm-discovery + parent: legacy-dsvm-base + run: playbooks/legacy/ironic-inspector-tempest-dsvm-discovery/run + post-run: playbooks/legacy/ironic-inspector-tempest-dsvm-discovery/post + timeout: 10800 + required-projects: + - openstack-infra/devstack-gate + - openstack/ironic + - openstack/ironic-inspector + - openstack/ironic-lib + - openstack/ironic-python-agent + - openstack/pyghmi + - openstack/python-ironic-inspector-client + - openstack/python-ironicclient + - openstack/tempest + - openstack/virtualbmc diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml new file mode 100644 index 000000000..b7fc2c6a0 --- /dev/null +++ b/zuul.d/project.yaml @@ -0,0 +1,78 @@ +- project: + name: openstack/ironic-inspector + check: + jobs: + - ironic-inspector-tox-func: + irrelevant-files: + - ^.*\.rst$ + - ^doc/.*$ + - ironic-inspector-tox-func3: + irrelevant-files: + - ^.*\.rst$ + - ^doc/.*$ + - ironic-inspector-grenade-dsvm: + branches: ^(?!stable/newton).*$ + irrelevant-files: + - ^(test-|)requirements.txt$ + - ^.*\.rst$ + - ^doc/.*$ + - ^ironic_inspector/test/(?!.*tempest).*$ + - ^releasenotes/.*$ + - ^setup.cfg$ + - ^tox.ini$ + - ironic-inspector-tempest-dsvm-discovery: + irrelevant-files: + - ^(test-|)requirements.txt$ + - ^.*\.rst$ + - ^doc/.*$ + - ^ironic_inspector/test/(?!.*tempest).*$ + - ^releasenotes/.*$ + - ^setup.cfg$ + - ^tox.ini$ + - ironic-tempest-dsvm-ironic-inspector: + irrelevant-files: + - ^(test-|)requirements.txt$ + - ^.*\.rst$ + - ^doc/.*$ + - ^ironic_inspector/test/(?!.*tempest).*$ + - ^releasenotes/.*$ + - ^setup.cfg$ + - ^tox.ini$ + gate: + jobs: + - ironic-inspector-tox-func: + irrelevant-files: + - ^.*\.rst$ + - ^doc/.*$ + - ironic-inspector-tox-func3: + irrelevant-files: + - ^.*\.rst$ + - ^doc/.*$ + - ironic-inspector-grenade-dsvm: + branches: ^(?!stable/newton).*$ + irrelevant-files: + - ^(test-|)requirements.txt$ + - ^.*\.rst$ + - ^doc/.*$ + - ^ironic_inspector/test/(?!.*tempest).*$ + - ^releasenotes/.*$ + - ^setup.cfg$ + - ^tox.ini$ + - ironic-inspector-tempest-dsvm-discovery: + irrelevant-files: + - ^(test-|)requirements.txt$ + - ^.*\.rst$ + - ^doc/.*$ + - ^ironic_inspector/test/(?!.*tempest).*$ + - ^releasenotes/.*$ + - ^setup.cfg$ + - ^tox.ini$ + - ironic-tempest-dsvm-ironic-inspector: + irrelevant-files: + - ^(test-|)requirements.txt$ + - ^.*\.rst$ + - ^doc/.*$ + - ^ironic_inspector/test/(?!.*tempest).*$ + - ^releasenotes/.*$ + - ^setup.cfg$ + - ^tox.ini$