summaryrefslogtreecommitdiff
path: root/.zuul.yaml
blob: c04f3446d56a15c3670cec2fb87bcee2d5347d35 (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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
- job:
    name: osc-tox-unit-tips
    parent: openstack-tox
    description: |
      Run unit tests for OpenStackClient with master branch of important libs.

      Takes advantage of the base tox job's install-siblings feature.
    required-projects:
      - openstack/cliff
      - openstack/keystoneauth
      - openstack/openstacksdk
      - openstack/osc-lib
      - openstack/python-openstackclient
    vars:
      # Set work dir to openstackclient so that if it's triggered by one of the
      # other repos the tests will run in the same place
      zuul_work_dir: src/opendev.org/openstack/python-openstackclient

- job:
    name: osc-tox-py36-tips
    parent: openstack-tox-py36
    description: |
      Run unit tests for OpenStackClient with master branch of important libs.

      Takes advantage of the base tox job's install-siblings feature.
    # The job only tests the latest and shouldn't be run on the stable branches
    branches: ^(?!stable)
    required-projects:
      - openstack/cliff
      - openstack/keystoneauth
      - openstack/openstacksdk
      - openstack/osc-lib
      - openstack/python-openstackclient
    vars:
      # Set work dir to openstackclient so that if it's triggered by one of the
      # other repos the tests will run in the same place
      zuul_work_dir: src/opendev.org/openstack/python-openstackclient

- job:
    name: osc-functional-devstack-base
    parent: devstack-tox-functional
    description: |
      Base job for devstack-based functional tests
    timeout: 9000
    irrelevant-files:
      - ^.*\.rst$
      - ^doc/.*$
      - ^releasenotes/.*$
    required-projects:
      - openstack/python-openstackclient
    vars:
      devstack_localrc:
        LIBS_FROM_GIT: python-openstackclient
        # NOTE(dtroyer): Functional tests need a bit more volume headroom
        VOLUME_BACKING_FILE_SIZE: 20G
      devstack_local_conf:
        post-config:
          $CINDER_CONF:
            DEFAULT:
              # NOTE(dtroyer): OSC needs to support Volume v1 for a while yet so re-enable
              enable_v1_api: true
      devstack_services:
        ceilometer-acentral: false
        ceilometer-acompute: false
        ceilometer-alarm-evaluator: false
        ceilometer-alarm-notifier: false
        ceilometer-anotification: false
        ceilometer-api: false
        ceilometer-collector: false
        s-account: true
        s-container: true
        s-object: true
        s-proxy: true
      osc_environment:
        PYTHONUNBUFFERED: 'true'
        OS_CLOUD: devstack-admin
      zuul_work_dir: src/opendev.org/openstack/python-openstackclient

# The Neutron bits are here rather than in osc-functional-devstack-base to
# simplify removing Neutron in the osc-functional-devstack-n-net job.
- job:
    name: osc-functional-devstack
    parent: osc-functional-devstack-base
    timeout: 7800
    vars:
      devstack_plugins:
        # NOTE(amotoki): Some neutron features are enabled by devstack plugin
        neutron: https://opendev.org/openstack/neutron
      devstack_services:
        neutron-network-segment-range: true
        neutron-segments: true
        q-metering: true
        q-qos: true
        neutron-tag-ports-during-bulk-creation: true
      tox_envlist: functional

- job:
    name: osc-functional-devstack-n-net
    parent: osc-functional-devstack-base
    timeout: 7800
    vars:
      devstack_localrc:
        FLAT_INTERFACE: br_flat
        PUBLIC_INTERFACE: br_pub
      devstack_services:
        n-cell: true
        n-net: true
        neutron: false
        neutron-segments: false
        q-agt: false
        q-dhcp: false
        q-l3: false
        q-meta: false
        q-metering: false
        q-qos: false
        q-svc: false
      tox_envlist: functional

- job:
    name: osc-functional-devstack-tips
    parent: osc-functional-devstack
    timeout: 7800
    required-projects:
      - openstack/cliff
      - openstack/keystoneauth
      - openstack/openstacksdk
      - openstack/osc-lib
      - openstack/python-openstackclient
    vars:
      devstack_localrc:
        LIBS_FROM_GIT: python-openstackclient,openstacksdk,osc-lib,cliff
        # This is insufficient, but leaving it here as a reminder of what may
        # someday be all we need to make this work
        # disable_python3_package swift
        DISABLED_PYTHON3_PACKAGES: swift
      devstack_services:
        # Swift is not ready for python3 yet: At a minimum keystonemiddleware needs
        # to be installed in the py2 env, there are probably other things too...
        s-account: false
        s-container: false
        s-object: false
        s-proxy: false
        # As swift is not available for this job, c-bak service won't be functional.
        # The backup related tests can be handled by other jobs having swift enabled.
        # The backup service along with swift services can be enabled once swift is
        # compatible with py3
        c-bak: false
      tox_envlist: functional
      tox_install_siblings: true

- secret:
    name: osc-dockerhub
    data:
      username: osclientzuul
      password: !encrypted/pkcs1-oaep
        - LbIZjJiVstRVXMpoLQ3+/JcNB6lKVUWJXXo5+Outf+PKAaO7mNnv8XLiFMKnJ6ftopLyu
          hWbX9rA+NddvplLQkf1xxkh7QBBU8PToLr58quI2SENUclt4tpjxbZfZu451kFSNJvNvR
          E58cHHpfJZpyRnS2htXmN/Qy24gbV2w7CQxSZD2YhlcrerD8uQ8rWEnlY1wcJEaEGomtS
          ZTGxsdK2TsZC2cd4b7TG7+xbl2i+hjADzwSQAgUzlLlwuG71667+IWk4SOZ7OycJTv9NN
          ZTak8+CGfiMKdmsxZ1Z8uD7DC+RIklDjMWyly6zuhWzfhOmsmU0CesR50moodRUvbK79p
          NZM8u0hBex5cl2EpUEwJL/FSPJXUhDMPoMoTZT/SAuXf25R9eZ9JGrKsIAlmVhpl8ifoE
          8TpPyvIHGS3YelTQjhqOX0wGb9T4ZauQCcI5Ajzy9NuCTyD9xxme9OX1zz7gMACRnVHvz
          q7U7Ue90MnmGH6E2SgKjIZhyzy9Efwb7JUvH1Zb3hlrjCjEhwi9MV5FnABTEeXyYwE10s
          3o/KZg2zvdWkVG6x0dEkjpoQaNuaB7T2Na7Sm421n/z3LCzhiQGuTUjENnL6cMEtuA6Pp
          BfI5+Qlg7HMwkBXNB73EPfWHzbCR3VNrzGYTy9FvhGud0/cXsuBXgps4WH63ic=

- job:
    name: osc-build-image
    parent: opendev-build-docker-image
    description: Build Docker images.
    allowed-projects: openstack/python-openstackclient
    requires:
      - python-builder-3.7-container-image
      - python-base-3.7-container-image
    provides: osc-container-image
    vars: &osc_image_vars
      docker_images:
        - context: .
          repository: osclient/python-openstackclient

- job:
    name: osc-upload-image
    parent: opendev-upload-docker-image
    description: Build Docker images and upload to Docker Hub.
    allowed-projects: openstack/python-openstackclient
    requires:
      - python-builder-3.7-container-image
      - python-base-3.7-container-image
    provides: osc-container-image
    secrets:
      - name: docker_credentials
        secret: osc-dockerhub
        pass-to-parent: true
    vars: *osc_image_vars

- job:
    name: osc-promote-image
    parent: opendev-promote-docker-image
    allowed-projects: openstack/python-openstackclient
    description: Promote previously uploaded Docker images.
    secrets:
      - name: docker_credentials
        secret: osc-dockerhub
        pass-to-parent: true
    nodeset:
      nodes: []
    vars: *osc_image_vars

- project-template:
    name: osc-tox-unit-tips
    check:
      jobs:
        - osc-tox-py36-tips
    gate:
      jobs:
        - osc-tox-py36-tips

- project:
    templates:
      - openstackclient-plugin-jobs
      - osc-tox-unit-tips
      - openstack-cover-jobs
      - openstack-lower-constraints-jobs
      - openstack-python3-victoria-jobs
      - publish-openstack-docs-pti
      - check-requirements
      - release-notes-jobs-python3
      - lib-forward-testing-python3
    check:
      jobs:
        - osc-build-image
        - osc-functional-devstack
        # - osc-functional-devstack-n-net:
        #     voting: false
        #     # The job testing nova-network no longer works before Pike, and
        #     # should be disabled until the New Way of testing against old clouds
        #     # is ready and backported
        #     branches: ^(?!stable/(newton|ocata)).*$
        - osc-functional-devstack-tips:
            # The functional-tips job only tests the latest and shouldn't be run
            # on the stable branches
            branches: ^(?!stable)
    gate:
      jobs:
        - osc-upload-image
        - osc-functional-devstack
    promote:
      jobs:
        - osc-promote-image