summaryrefslogtreecommitdiff
path: root/zuul.d/ironic-python-agent-jobs.yaml
blob: db5c259765d558b8b50fbf0409c9299cc5b5a1b9 (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
# disabling dstat because of
# https://bugs.launchpad.net/ubuntu/+source/dstat/+bug/1866619
- job:
    name: ironic-ipa-base
    parent: ironic-base
    irrelevant-files:
      - ^examples/.*$
      - ^test-requirements.txt$
      - ^.*\.rst$
      - ^doc/.*$
      - ^ironic_python_agent/tests/.*$
      - ^releasenotes/.*$
      - ^setup.cfg$
      - ^tools/.*$
      - ^tox.ini$
    required-projects:
      - name: openstack/devstack
        override-checkout: stable/yoga
      - name: openstack/requirements
        override-checkout: stable/yoga
      - name: openstack/ironic
        override-checkout: bugfix/19.0
      - name: openstack/ironic-lib
        override-checkout: stable/yoga
    vars:
      # The default is 1GB, we need a little more to prevent OOMs killing the jobs
      configure_swap_size: 8192
      devstack_localrc:
        IRONIC_BUILD_DEPLOY_RAMDISK: True
        IRONIC_VM_COUNT: 2
        IRONIC_VM_SPECS_RAM: 2750
      devstack_services:
        dstat: false

# used by diskimage-builder and IPA-builder
- job:
    name: ipa-tempest-bios-ipmi-direct-src
    parent: ironic-ipa-base
    vars:
      devstack_services:
        s-account: True
        s-container: True
        s-object: True
        s-proxy: True
      devstack_localrc:
        IRONIC_BOOT_MODE: bios
        IRONIC_DEFAULT_BOOT_OPTION: netboot
        IRONIC_DEFAULT_DEPLOY_INTERFACE: direct
        SWIFT_ENABLE_TEMPURLS: True
        SWIFT_TEMPURL_KEY: secretkey

- job:
    name: ipa-tempest-uefi-redfish-vmedia-src
    parent: ironic-ipa-base
    required-projects:
      - opendev.org/openstack/sushy-tools
    vars:
      devstack_services:
        s-account: True
        s-container: True
        s-object: True
        s-proxy: True
      devstack_localrc:
        IRONIC_BOOT_MODE: uefi
        IRONIC_DEPLOY_DRIVER: redfish
        IRONIC_ENABLED_BOOT_INTERFACES: redfish-virtual-media
        IRONIC_ENABLED_HARDWARE_TYPES: redfish
        IRONIC_ENABLED_POWER_INTERFACES: redfish
        IRONIC_ENABLED_MANAGEMENT_INTERFACES: redfish
        IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True
        IRONIC_VM_EPHEMERAL_DISK: 0
        # Ironic has to master a new image, and this CAN take longer as a
        # result and makes this job VERY sensitive to heavy disk IO of the
        # underlying hypervisor/cloud.
        IRONIC_CALLBACK_TIMEOUT: 800
        SWIFT_ENABLE_TEMPURLS: True
        SWIFT_TEMPURL_KEY: secretkey

# used by ironic-python-agent-builder
- job:
    name: ipa-tempest-ironic-inspector-src
    parent: ironic-ipa-base
    required-projects:
      # These are in addition to what is in ironic-ipa-base
      - name: openstack/ironic-inspector
        override-checkout: bugfix/10.9
      - openstack/python-ironic-inspector-client
    vars:
      devstack_localrc:
        DEVSTACK_GATE_TEMPEST_REGEX: InspectorBasicTest
        DEVSTACK_GATE_IRONIC_INSPECTOR: 1
        IRONIC_VM_EPHEMERAL_DISK: 0
        IRONIC_TEMPEST_WHOLE_DISK_IMAGE: True
        IRONIC_INSPECTOR_BUILD_RAMDISK: True
        SWIFT_ENABLE_TEMPURLS: True
        SWIFT_TEMPURL_KEY: secretkey
      devstack_plugins:
        ironic-inspector: https://opendev.org/openstack/ironic-inspector

- job:
    # Security testing for known issues
    name: ipa-tox-bandit
    parent: openstack-tox
    nodeset: ubuntu-focal
    timeout: 2400
    vars:
      tox_envlist: bandit
    irrelevant-files:
      - ^examples/.*$
      - ^test-requirements.txt$
      - ^.*\.rst$
      - ^doc/.*$
      - ^ironic_python_agent/tests/.*$
      - ^releasenotes/.*$
      - ^setup.cfg$
      - ^tools/(?!bandit.yml).*$
      - ^tox.ini$

- job:
    name: ipa-tox-examples
    parent: openstack-tox
    nodeset: ubuntu-focal
    timeout: 600
    vars:
      tox_envlist: examples
    irrelevant-files:
      - ^test-requirements.txt$
      - ^.*\.rst$
      - ^doc/.*$
      - ^ironic_python_agent/tests/.*$
      - ^releasenotes/.*$
      - ^setup.cfg$
      - ^tools/(?!bandit.yml).*$
      - ^tox.ini$

# used by ironic-python-agent-builder
- job:
    name: ironic-standalone-ipa-src
    parent: ironic-standalone
    description: Test ironic standalone with IPA from source
    required-projects:
      - name: openstack/devstack
        override-checkout: stable/yoga
      - name: openstack/requirements
        override-checkout: stable/yoga
      - name: openstack/ironic
        override-checkout: bugfix/19.0
      - name: openstack/ironic-lib
        override-checkout: stable/yoga
    vars:
      devstack_localrc:
        IRONIC_BUILD_DEPLOY_RAMDISK: True
        # NOTE(dtantsur): the ansible deploy doesn't depend on IPA code,
        # excluding it from the enabled list to save gate time.
        IRONIC_ENABLED_DEPLOY_INTERFACES: "direct"

# This job will superceed the above centos7 metalsmith integration job
- job:
    name: metalsmith-integration-ipa-src-uefi
    parent: metalsmith-integration-glance-localboot-centos8-uefi
    required-projects:
      - name: openstack/devstack
        override-checkout: stable/yoga
      - name: openstack/requirements
        override-checkout: stable/yoga
      - name: openstack/ironic
        override-checkout: bugfix/19.0
      - name: openstack/metalsmith
        override-checkout: stable/yoga
      - openstack/ironic-python-agent
      - name: openstack/ironic-python-agent-builder
        override-checkout: stable/yoga
      - name: openstack/neutron
        override-checkout: stable/yoga
      - openstack/ironic-lib
    vars:
      devstack_localrc:
        # Don't waste time on cleaning, it's checked everywhere else
        IRONIC_AUTOMATED_CLEAN_ENABLED: False
        IRONIC_BUILD_DEPLOY_RAMDISK: True

# used by ironic-python-agent-builder
- job:
    name: ipa-tempest-bios-ipmi-direct-tinyipa-src
    parent: ipa-tempest-bios-ipmi-direct-src
    vars:
      devstack_localrc:
        IRONIC_RAMDISK_TYPE: tinyipa
        IRONIC_VM_SPECS_RAM: 1024

- project-template:
    name: openstack-python3-yoga-jobs-ironic-bugfix
    description: |
      Runs unit tests for an OpenStack Python project under the CPython
      version 3 releases designated for testing in the Yoga release.
    check:
      jobs:
        - openstack-tox-pep8:
            nodeset: ubuntu-focal
            required-projects:
                - name: openstack/requirements
                  override-checkout: stable/yoga
        - openstack-tox-py36:
            nodeset: ubuntu-bionic
            required-projects:
                - name: openstack/requirements
                  override-checkout: stable/yoga
        - openstack-tox-py39:
            nodeset: ubuntu-focal
            required-projects:
                - name: openstack/requirements
                  override-checkout: stable/yoga
    gate:
      jobs:
        - openstack-tox-pep8:
            nodeset: ubuntu-focal
            required-projects:
                - name: openstack/requirements
                  override-checkout: stable/yoga
        - openstack-tox-py36:
            nodeset: ubuntu-bionic
            required-projects:
                - name: openstack/requirements
                  override-checkout: stable/yoga
        - openstack-tox-py39:
            nodeset: ubuntu-focal
            required-projects:
                - name: openstack/requirements
                  override-checkout: stable/yoga
    post:
      jobs:
        - publish-openstack-python-branch-tarball