summaryrefslogtreecommitdiff
path: root/playbooks/devstack/functional/run.yaml
blob: bd2e0c937c9ae92e3e95d176e01fdb533ac95219 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
- hosts: all
  name: Job for functional tests
  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'

    - shell:
        cmd: |
          set -e
          set -x
          export PYTHONUNBUFFERED=true
          services=rabbit,tempest,mysql,dstat,key
          services+=,n-api,n-api-meta,n-cpu,n-cond,n-sch,n-crt
          services+=,placement-api,placement-client
          services+=,g-api,g-reg
          services+=,c-sch,c-api,c-vol,c-bak
          services+=,neutron-api,neutron-dhcp,neutron-metadata-agent,neutron-agent,neutron-l3,neutron-trunk

          if [ "{{ use_python3 }}" -eq 1 ] ; then
             export DEVSTACK_GATE_USE_PYTHON3=True
             # Swift does not work so skip s-* for python3x for now
          else
             export DEVSTACK_GATE_USE_PYTHON3=False
             services+=,s-proxy,s-object,s-container,s-account
          fi

          export DEVSTACK_GATE_NEUTRON=1
          export DEVSTACK_GATE_TEMPEST=1
          export DEVSTACK_GATE_TEMPEST_NOTESTS=1
          export DEVSTACK_GATE_EXERCISES=0
          export DEVSTACK_GATE_INSTALL_TESTONLY=1
          export DEVSTACK_PROJECT_FROM_GIT=python-heatclient
          export KEEP_LOCALRC=1
          export PROJECTS="openstack/ceilometer $PROJECTS"
          export PROJECTS="openstack/aodh $PROJECTS"
          export PROJECTS="openstack/zaqar $PROJECTS"
          export PROJECTS="openstack/heat-agents $PROJECTS"
          export PROJECTS="openstack/python-zaqarclient $PROJECTS"
          export PROJECTS="openstack/neutron $PROJECTS"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ceilometer git://git.openstack.org/openstack/ceilometer"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin aodh git://git.openstack.org/openstack/aodh"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin zaqar git://git.openstack.org/openstack/zaqar"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin neutron git://git.openstack.org/openstack/neutron"

          export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin heat git://git.openstack.org/openstack/heat"

          # Enable octavia plugin and services
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin octavia https://git.openstack.org/openstack/octavia"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"OCTAVIA_AMP_IMAGE_FILE=/tmp/test-only-amphora-x64-haproxy-ubuntu-xenial.qcow2"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"OCTAVIA_AMP_IMAGE_SIZE=3"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"OCTAVIA_AMP_IMAGE_NAME=test-only-amphora-x64-haproxy-ubuntu-xenial"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"OCTAVIA_AMPHORA_DRIVER=amphora_noop_driver"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"OCTAVIA_COMPUTE_DRIVER=compute_noop_driver"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"OCTAVIA_NETWORK_DRIVER=network_noop_driver"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"DISABLE_AMP_IMAGE_BUILD=True"
          services+=,octavia,o-cw,o-hk,o-hm,o-api
          export PROJECTS="openstack/octavia $PROJECTS"
          export PROJECTS="openstack/barbican $PROJECTS"
          export PROJECTS="openstack/python-barbicanclient $PROJECTS"
          export PROJECTS="openstack/barbican-tempest-plugin $PROJECTS"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin barbican https://git.openstack.org/openstack/barbican"

          # use heat-tempest-plugin
          export PROJECTS="openstack/heat-tempest-plugin $PROJECTS"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"TEMPEST_PLUGINS+=' /opt/stack/new/heat-tempest-plugin'"

          export OVERRIDE_ENABLED_SERVICES=$services

          if [ "{{ branch_override }}" != "default" ] ; then
              export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
          fi
          if [ "{{ use_apache  }}" -eq 0 ] ; then
              export DEVSTACK_LOCAL_CONFIG+=$'\n'"HEAT_USE_MOD_WSGI=False"
          fi
          if [ "{{ use_amqp1 }}" -eq 1 ] ; then
              export PROJECTS="openstack/devstack-plugin-amqp1 $PROJECTS"
              export DEVSTACK_LOCAL_CONFIG+=$'\n'"export AMQP1_SERVICE=qpid-hybrid"
              export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin devstack-plugin-amqp1 git://git.openstack.org/openstack/devstack-plugin-amqp1"
              export DEVSTACK_LOCAL_CONFIG+=$'\n'"export CELLSV2_SETUP=singleconductor"
              export DEVSTACK_PROJECT_FROM_GIT="oslo.messaging,$DEVSTACK_PROJECT_FROM_GIT"
          fi
          export DISABLE_CONVERGENCE="{{ disable_convergence }}"
          function pre_test_hook {
              cd /opt/stack/new/heat/heat_integrationtests
              source ./pre_test_hook.sh
          }
          export -f pre_test_hook

          function post_test_hook {
              cd /opt/stack/new/heat/heat_integrationtests
              source ./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 }}'