summaryrefslogtreecommitdiff
path: root/playbooks/legacy/nova-next/run.yaml
blob: f4547c55983e39ff842fd7e8dbd1f310d73df4e8 (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
- hosts: all
  name: nova-next
  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/devstack-gate
              dest: devstack-gate
          EOF
          /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \
              https://opendev.org \
              openstack/devstack-gate
        executable: /bin/bash
        chdir: '{{ ansible_user_dir }}/workspace'
      environment: '{{ zuul | zuul_legacy_vars }}'

    - shell:
        # Enable TLS between the noVNC proxy & compute nodes; this requires
        # the tls-proxy service to be enabled.

        # Switch off the provider association refresh, which should reduce the
        # number of placement calls in steady state.
        # TODO(efried): Due to bug #1802143, nova-cpu.conf gets overwritten
        # after post-config|$NOVA_CPU_CONF gets effected, so use $NOVA_CONF
        # instead for now.
        cmd: |
          set -e
          set -x
          cat << 'EOF' >>"/tmp/dg-local.conf"
          [[local|localrc]]
          NOVA_USE_SERVICE_TOKEN=True
          NOVA_CONSOLE_PROXY_COMPUTE_TLS=True
          USE_PYTHON3=True
          ENABLE_VOLUME_MULTIATTACH=True

          [[post-config|$NOVA_CONF]]
          [compute]
          resource_provider_association_refresh = 0

          EOF
        executable: /bin/bash
        chdir: '{{ ansible_user_dir }}/workspace'
      environment: '{{ zuul | zuul_legacy_vars }}'

    - shell:
        cmd: |
          set -e
          set -x
          export ENABLED_SERVICES=tls-proxy
          export PYTHONUNBUFFERED=true
          # Yes we want to run Tempest.
          export DEVSTACK_GATE_TEMPEST=1
          # Run all compute API tests and most scenario tests at the default
          # concurrency (nproc/2 which is normally 4 in the gate).
          # The tempest.scenario.test_network* tests are skipped because they
          # (1) take a long time and (2) are already covered in the
          # tempest-slow* job.
          export DEVSTACK_GATE_TEMPEST_REGEX="^tempest\.((scenario(?!\.test_network))|(api\.compute))"
          # The post_test_hook runs some post-test CLIs for things that
          # Tempest does not test, like archiving deleted records.
          function post_test_hook {
              if [ -f $BASE/new/nova/gate/post_test_hook.sh ]; then
                  $BASE/new/nova/gate/post_test_hook.sh
              fi
          }
          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 }}'