diff --git a/playbooks/legacy/ironic-inspector-tempest-dsvm-discovery/post.yaml b/playbooks/legacy/ironic-inspector-tempest-dsvm-discovery/post.yaml deleted file mode 100644 index e07f5510a..000000000 --- a/playbooks/legacy/ironic-inspector-tempest-dsvm-discovery/post.yaml +++ /dev/null @@ -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 diff --git a/playbooks/legacy/ironic-inspector-tempest-dsvm-discovery/run.yaml b/playbooks/legacy/ironic-inspector-tempest-dsvm-discovery/run.yaml deleted file mode 100644 index a3ec10727..000000000 --- a/playbooks/legacy/ironic-inspector-tempest-dsvm-discovery/run.yaml +++ /dev/null @@ -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 }}' diff --git a/playbooks/legacy/ironic-inspector-tempest-dsvm-python3/post.yaml b/playbooks/legacy/ironic-inspector-tempest-dsvm-python3/post.yaml deleted file mode 100644 index e07f5510a..000000000 --- a/playbooks/legacy/ironic-inspector-tempest-dsvm-python3/post.yaml +++ /dev/null @@ -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 diff --git a/playbooks/legacy/ironic-inspector-tempest-dsvm-python3/run.yaml b/playbooks/legacy/ironic-inspector-tempest-dsvm-python3/run.yaml deleted file mode 100644 index 23cd27b18..000000000 --- a/playbooks/legacy/ironic-inspector-tempest-dsvm-python3/run.yaml +++ /dev/null @@ -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 }}' diff --git a/zuul.d/ironic-inspector-jobs.yaml b/zuul.d/ironic-inspector-jobs.yaml new file mode 100644 index 000000000..1142211f8 --- /dev/null +++ b/zuul.d/ironic-inspector-jobs.yaml @@ -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 diff --git a/zuul.d/legacy-ironic-inspector-jobs.yaml b/zuul.d/legacy-ironic-inspector-jobs.yaml index 7340fa2b9..4a13d8d28 100644 --- a/zuul.d/legacy-ironic-inspector-jobs.yaml +++ b/zuul.d/legacy-ironic-inspector-jobs.yaml @@ -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