diff options
author | Ruby Loo <ruby.loo@intel.com> | 2017-10-31 15:25:57 -0400 |
---|---|---|
committer | Vladyslav Drok <vdrok@mirantis.com> | 2017-11-07 17:29:04 +0000 |
commit | 9e4d0dee78729c621e693619b7e6d1a245032ad3 (patch) | |
tree | 187d0cb276c61451dabeaea2aa75bb4591781c27 | |
parent | bfafe2279196f2bf14ec27cde59e2877775498aa (diff) | |
download | python-ironicclient-9e4d0dee78729c621e693619b7e6d1a245032ad3.tar.gz |
Move legacy ironicclient jobs in-tree
This moves the legacy python-ironicclient CI jobs into the
python-ironicclient tree, instead of storing them in
openstack-infra/openstack-zuul-jobs.
This also changes the ironicclient-tempest-dsvm-src job to
inherit from legacy-ironic-dsvm-base instead of legacy-dsvm-base,
since the required projects are the same.
This will give us control as we migrate the legacy jobs to the
new ansible roles.
Change-Id: If0c072e357fbeccc3dee8cc06b96e1bfa42299a7
(cherry picked from commit 9232ebd6d9dda0f6ddec71fe3353abf9a08f31d0)
-rw-r--r-- | playbooks/legacy/ironicclient-dsvm-functional/post.yaml | 15 | ||||
-rw-r--r-- | playbooks/legacy/ironicclient-dsvm-functional/run.yaml | 68 | ||||
-rw-r--r-- | playbooks/legacy/ironicclient-tempest-dsvm-src/post.yaml | 15 | ||||
-rw-r--r-- | playbooks/legacy/ironicclient-tempest-dsvm-src/run.yaml | 166 | ||||
-rw-r--r-- | zuul.d/legacy-ironicclient-jobs.yaml | 17 | ||||
-rw-r--r-- | zuul.d/project.yaml | 30 |
6 files changed, 311 insertions, 0 deletions
diff --git a/playbooks/legacy/ironicclient-dsvm-functional/post.yaml b/playbooks/legacy/ironicclient-dsvm-functional/post.yaml new file mode 100644 index 0000000..e07f551 --- /dev/null +++ b/playbooks/legacy/ironicclient-dsvm-functional/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/ironicclient-dsvm-functional/run.yaml b/playbooks/legacy/ironicclient-dsvm-functional/run.yaml new file mode 100644 index 0000000..2fcd628 --- /dev/null +++ b/playbooks/legacy/ironicclient-dsvm-functional/run.yaml @@ -0,0 +1,68 @@ +- hosts: all + name: Autoconverted job legacy-ironicclient-dsvm-functional from old job gate-ironicclient-dsvm-functional-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: | + set -e + set -x + cat << 'EOF' >>"/tmp/dg-local.conf" + [[local|localrc]] + enable_plugin ironic git://git.openstack.org/openstack/ironic + IRONIC_DEPLOY_DRIVER=fake + # neutron is not enabled here + IRONIC_ENABLED_NETWORK_INTERFACES=noop + IRONIC_DHCP_PROVIDER=none + + EOF + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + set -e + set -x + export PYTHONUNBUFFERED=true + export DEVSTACK_GATE_TEMPEST=0 + export DEVSTACK_PROJECT_FROM_GIT=python-ironicclient + export OVERRIDE_ENABLED_SERVICES=key,mysql,rabbit,ir-api,ir-cond + export BRANCH_OVERRIDE=default + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + export PROJECTS="openstack/ironic $PROJECTS" + + function post_test_hook { + # Configure and run functional tests + $BASE/new/python-ironicclient/ironicclient/tests/functional/hooks/post_test_hook.sh + } + + export -f post_test_hook + + 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/ironicclient-tempest-dsvm-src/post.yaml b/playbooks/legacy/ironicclient-tempest-dsvm-src/post.yaml new file mode 100644 index 0000000..e07f551 --- /dev/null +++ b/playbooks/legacy/ironicclient-tempest-dsvm-src/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/ironicclient-tempest-dsvm-src/run.yaml b/playbooks/legacy/ironicclient-tempest-dsvm-src/run.yaml new file mode 100644 index 0000000..84a66b8 --- /dev/null +++ b/playbooks/legacy/ironicclient-tempest-dsvm-src/run.yaml @@ -0,0 +1,166 @@ +- hosts: all + name: Autoconverted job legacy-tempest-dsvm-python-ironicclient-src from old job + gate-tempest-dsvm-python-ironicclient-src-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="ironic" + + EOF + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' + + - shell: + cmd: | + cat << 'EOF' >> ironic-extra-vars + export DEVSTACK_PROJECT_FROM_GIT="python-ironicclient,$DEVSTACK_PROJECT_FROM_GIT" + + 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=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=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/legacy-ironicclient-jobs.yaml b/zuul.d/legacy-ironicclient-jobs.yaml new file mode 100644 index 0000000..0d9cc2f --- /dev/null +++ b/zuul.d/legacy-ironicclient-jobs.yaml @@ -0,0 +1,17 @@ +- job: + name: ironicclient-dsvm-functional + parent: legacy-dsvm-base + run: playbooks/legacy/ironicclient-dsvm-functional/run.yaml + post-run: playbooks/legacy/ironicclient-dsvm-functional/post.yaml + timeout: 4800 + required-projects: + - openstack-infra/devstack-gate + - openstack/ironic + - openstack/python-ironicclient + +- job: + name: ironicclient-tempest-dsvm-src + parent: legacy-ironic-dsvm-base + run: playbooks/legacy/ironicclient-tempest-dsvm-src/run.yaml + post-run: playbooks/legacy/ironicclient-tempest-dsvm-src/post.yaml + timeout: 10800 diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml new file mode 100644 index 0000000..3ad01da --- /dev/null +++ b/zuul.d/project.yaml @@ -0,0 +1,30 @@ +- project: + name: openstack/python-ironicclient + check: + jobs: + - ironicclient-tempest-dsvm-src: + irrelevant-files: + - ^(test-|)requirements.txt$ + - ^.*\.rst$ + - ^doc/.*$ + - ^releasenotes/.*$ + - ^setup.cfg$ + - ironicclient-dsvm-functional: + irrelevant-files: + - ^.*\.rst$ + - ^doc/.*$ + - ^releasenotes/.*$ + gate: + jobs: + - ironicclient-tempest-dsvm-src: + irrelevant-files: + - ^(test-|)requirements.txt$ + - ^.*\.rst$ + - ^doc/.*$ + - ^releasenotes/.*$ + - ^setup.cfg$ + - ironicclient-dsvm-functional: + irrelevant-files: + - ^.*\.rst$ + - ^doc/.*$ + - ^releasenotes/.*$ |