diff --git a/playbooks/ci-workarounds/etc-neutron.yaml b/playbooks/ci-workarounds/etc-neutron.yaml new file mode 100644 index 0000000000..b1c772162d --- /dev/null +++ b/playbooks/ci-workarounds/etc-neutron.yaml @@ -0,0 +1,9 @@ +- hosts: all + name: Create /etc/neutron for the devstack base job + tasks: + - name: Creates directory + file: + path: /etc/neutron + state: directory + mode: 0777 + become: yes diff --git a/playbooks/legacy/tempest-dsvm-ironic-functional-python2/run.yaml b/playbooks/legacy/tempest-dsvm-ironic-functional-python2/run.yaml deleted file mode 100644 index 0a7eca3751..0000000000 --- a/playbooks/legacy/tempest-dsvm-ironic-functional-python2/run.yaml +++ /dev/null @@ -1,106 +0,0 @@ -- hosts: all - name: Legacy functional (API) tests job on Python 2 - 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_VM_SPECS_RAM=384" - export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_RAMDISK_TYPE=tinyipa" - - export DEVSTACK_GATE_TEMPEST_REGEX="ironic_tempest_plugin.tests.api" - - 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 - # Only keystone is required for the functional tests - export OVERRIDE_ENABLED_SERVICES="key,mysql,rabbit,ir-api,ir-cond,tempest" - # We do not need testing nodes pre-configured - export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_BAREMETAL_BASIC_OPS=False" - # There is no neutron, so using noop networks. - export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_DEFAULT_NETWORK_INTERFACE=noop" - - 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=True" - export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_VM_EPHEMERAL_DISK=0" - - export DEVSTACK_GATE_IRONIC_BUILD_RAMDISK=0 - export DEVSTACK_LOCAL_CONFIG+=$'\n'"IRONIC_INSPECTOR_BUILD_RAMDISK=False" - - 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/zuul.d/ironic-jobs.yaml b/zuul.d/ironic-jobs.yaml index 6411a3fb87..ab2735d30f 100644 --- a/zuul.d/ironic-jobs.yaml +++ b/zuul.d/ironic-jobs.yaml @@ -266,3 +266,37 @@ devstack_localrc: IRONIC_AGENT_IMAGE_DOWNLOAD_SOURCE: http IRONIC_TEMPEST_WHOLE_DISK_IMAGE: False + +- job: + name: ironic-tempest-dsvm-functional-python2 + description: ironic-tempest-dsvm-functional-python2 + parent: ironic-base + timeout: 5400 + pre-run: playbooks/ci-workarounds/etc-neutron.yaml + vars: + tempest_test_regex: ironic_tempest_plugin.tests.api + devstack_localrc: + IRONIC_BAREMETAL_BASIC_OPS: False + IRONIC_DEFAULT_DEPLOY_INTERFACE: "" + IRONIC_DEFAULT_NETWORK_INTERFACE: noop + IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True + IRONIC_VM_EPHEMERAL_DISK: 0 + devstack_services: + g-api: False + g-reg: False + n-api: False + n-api-meta: False + n-cauth: False + n-cond: False + n-cpu: False + n-novnc: False + n-obj: False + n-sch: False + nova: False + placement-api: False + neutron-api: False + neutron-agent: False + neutron-dhcp: False + neutron-l3: False + neutron-metadata-agent: False + neutron-metering: False diff --git a/zuul.d/legacy-ironic-jobs.yaml b/zuul.d/legacy-ironic-jobs.yaml index aff811a288..e156c0efd4 100644 --- a/zuul.d/legacy-ironic-jobs.yaml +++ b/zuul.d/legacy-ironic-jobs.yaml @@ -100,12 +100,6 @@ - openstack/virtualbmc nodeset: legacy-ubuntu-xenial-2-node -- job: - name: ironic-tempest-dsvm-functional-python2 - parent: legacy-ironic-dsvm-base - run: playbooks/legacy/tempest-dsvm-ironic-functional-python2/run.yaml - timeout: 5400 - - job: name: ironic-tempest-dsvm-functional-python3 parent: legacy-ironic-dsvm-base