-
Notifications
You must be signed in to change notification settings - Fork 45
/
.zuul.yaml
254 lines (249 loc) · 11.4 KB
/
.zuul.yaml
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
250
251
252
253
254
---
- job:
name: nova-operator-base
description: |
This is the base job for all nova-operator tests that will deploy
openstack. the base job does not deploy openstack but it does use
the nova-operator-content-provider job to provide a registry with
built operators and installs them on a crc environment. Child jobs
should take this deployed crc and use the installed operators to
deploy openstack and then test it. This job will fetch the job
output directory so child jobs can just add additional logs to that
in there post-playbooks.
parent: cifmw-podified-multinode-edpm-base-crc
abstract: true
attempts: 1
dependencies: ["openstack-meta-content-provider"]
required-projects:
- github.com/openstack-k8s-operators/ci-framework
- github.com/openstack-k8s-operators/install_yamls
roles:
- zuul: github.com/openstack-k8s-operators/ci-framework
pre-run:
- ci/nova-operator-base/playbooks/pre-wrapper.yaml
post-run:
- ci/nova-operator-base/playbooks/collect-logs.yaml
- job:
name: nova-operator-kuttl
parent: nova-operator-base
dependencies: ["openstack-meta-content-provider"]
roles:
- zuul: github.com/openstack-k8s-operators/ci-framework
description: |
This job deploy a basic "Compute Starter Kit" topology
https://www.openstack.org/software/sample-configs#compute-starter-kit
that is the minium set of openstack services required to boot a vm.
pre-run:
- ci/nova-operator-kuttl/playbooks/deploy-deps.yaml
run:
- ci/nova-operator-kuttl/playbooks/run-kuttl.yaml
nodeset: centos-9-medium-crc-extracted-2-39-0-3xl
vars:
collection_namespace_override: "nova-kuttl-default"
zuul_log_collection: true
extra-vars:
crc_ci_bootstrap_networking:
networks:
default:
range: 192.168.122.0/24
mtu: 1500
internal-api:
vlan: 20
range: 172.17.0.0/24
storage:
vlan: 21
range: 172.18.0.0/24
tenant:
vlan: 22
range: 172.19.0.0/24
instances:
controller:
networks:
default:
ip: 192.168.122.11
crc:
networks:
default:
ip: 192.168.122.10
internal-api:
ip: 172.17.0.5
storage:
ip: 172.18.0.5
tenant:
ip: 172.19.0.5
- job:
name: nova-operator-tempest-multinode
parent: podified-multinode-edpm-deployment-crc-3comp
dependencies: ["openstack-meta-content-provider"]
nodeset: centos-9-medium-3x-centos-9-crc-extracted-2-39-0-3xl
post-run:
- ci/nova-operator-base/playbooks/collect-logs.yaml
vars:
cifmw_extras:
- "@scenarios/centos-9/multinode-ci.yml"
- "@{{ ansible_user_dir }}/{{ zuul.projects['github.com/openstack-k8s-operators/nova-operator'].src_dir }}/ci/nova-operator-tempest-multinode/ci_fw_vars.yaml"
cifmw_run_test_role: test_operator
cifmw_test_operator_concurrency: 4
cifmw_test_operator_timeout: 7200
cifmw_test_operator_tempest_network_attachments:
- ctlplane
# avoid using default test_operator exclude list
cifmw_test_operator_tempest_tests_exclude_override_scenario: false
# NOTE(gibi): identity.v3_endpoint_type override is a WA to force the
# publicURL as otherwise tempest gets configured with adminURL and that
# causes test instability.
# NOTE(efoley): swift and cinder are not disabled, we're just telling
# tempest that they're unavailable so that it'll skip the tests that
# require cinder or swift
# TODO(sean-k-mooney): we are currently using cirros 0.5.2 we should be using 0.6.2
# for now we need to use the old password cubswin:) but we should update this to gocubsgo!
# once we update the image
cifmw_tempest_tempestconf_config:
overrides: |
identity.v3_endpoint_type public
compute-feature-enabled.vnc_console true
compute-feature-enabled.stable_rescue true
compute-feature-enabled.hostname_fqdn_sanitization true
compute-feature-enabled.live_migration true
compute-feature-enabled.live_migrate_back_and_forth true
compute-feature-enabled.block_migration_for_live_migration true
compute-feature-enabled.ide_bus false
service_available.swift false
service_available.cinder false
validation.image_ssh_user cirros
validation.image_ssh_password cubswin:)
validation.image_alt_ssh_user cirros
validation.image_alt_ssh_password cubswin:)
validation.allowed_network_downtime 10
cifmw_test_operator_tempest_include_list: |
tempest.api.compute
tempest.scenario
# ide tests cannot be used with our default machine type.
# test_live_block_migration_paused is currently blocked by
# https://issues.redhat.com/browse/RHEL-33754
cifmw_test_operator_tempest_exclude_list: |
test_live_block_migration_paused
# We need to use a custom cpu model to allow live migrating between
# slightly different computes coming from the node pool
cifmw_edpm_deploy_nova_compute_extra_config: |
[libvirt]
cpu_mode = custom
cpu_models = Nehalem
- job:
name: nova-operator-tempest-multinode-ceph
parent: podified-multinode-hci-deployment-crc-3comp
dependencies: ["openstack-meta-content-provider"]
nodeset: centos-9-medium-3x-centos-9-crc-extracted-2-39-0-3xl
# Note: When inheriting from a job (or creating a variant of a job) vars are merged with previous definitions
post-run:
- ci/nova-operator-base/playbooks/collect-logs.yaml
vars:
cifmw_extras:
- "@scenarios/centos-9/multinode-ci.yml"
- "@{{ ansible_user_dir }}/{{ zuul.projects['github.com/openstack-k8s-operators/nova-operator'].src_dir }}/ci/nova-operator-tempest-multinode-ceph/ci_fw_vars.yaml"
# dedupe this later
cifmw_run_test_role: test_operator
cifmw_test_operator_concurrency: 4
cifmw_test_operator_timeout: 7200
cifmw_test_operator_tempest_network_attachments:
- ctlplane
# NOTE(gibi): identity.v3_endpoint_type override is a WA to force the
# publicURL as otherwise tempest gets configured with adminURL and that
# causes test instability.
# TODO(sean-k-mooney): we are currently using cirros 0.5.2 we should be using 0.6.2
# for now we need to use the old password cubswin:) but we should update this to gocubsgo!
# once we update the image
cifmw_tempest_tempestconf_config:
overrides: |
identity.v3_endpoint_type public
compute-feature-enabled.vnc_console true
compute-feature-enabled.stable_rescue true
compute-feature-enabled.hostname_fqdn_sanitization true
compute-feature-enabled.live_migration true
compute-feature-enabled.live_migrate_back_and_forth true
compute-feature-enabled.block_migration_for_live_migration false
compute-feature-enabled.ide_bus false
compute-feature-enabled.volume_backed_live_migration true
compute-feature-enabled.volume_multiattach true
volume.volume_type_multiattach multiattach
volume.storage_protocol ceph
service_available.swift false
service_available.cinder true
validation.image_ssh_user cirros
validation.image_ssh_password cubswin:)
validation.image_alt_ssh_user cirros
validation.image_alt_ssh_password cubswin:)
validation.allowed_network_downtime 10
cifmw_test_operator_tempest_include_list: |
tempest.api.compute
tempest.scenario
# ide tests cannot be used with our default machine type.
# test_server_detach_rules and test_old_versions_reject are blocked by the requirement
# to use service tokens to authenticate with cinder when a volume is attached to a server
# as such the tests are not valid following CVE-2023-2088
# test_encrypted_cinder_volumes_cryptsetup use encyption format plain which is either
# not supported by ceph or a volume type that supprots it is not available.
# luks support is enabled and we are testing encrypted volumes with luks.
# tempest.scenario.test_network_v6 is disabled as it is 8 slow test case
# that does not cover nova functionality. Also we keep running it in
# the non ceph job.
cifmw_test_operator_tempest_exclude_list: |
tempest.scenario.test_server_volume_attachment.TestServerVolumeAttachmentScenario.test_server_detach_rules
tempest.scenario.test_server_volume_attachment.TestServerVolumeAttachScenarioOldVersion.test_old_versions_reject
tempest.scenario.test_encrypted_cinder_volumes.TestEncryptedCinderVolumes.test_encrypted_cinder_volumes_cryptsetup
tempest.scenario.test_network_v6
# We need to use a custom cpu model to allow live migrating between
# slightly different computes coming from the node pool
# for ceph i might need to add https://github.com/openstack-k8s-operators/docs/blob/main/ceph.md#configure-nova
# but if i do i can just add that here as i dont know what the fsid will be
cifmw_edpm_deploy_nova_compute_extra_config: |
[libvirt]
cpu_mode = custom
cpu_models = Nehalem
- project:
name: openstack-k8s-operators/nova-operator
default-branch: main
github-check:
jobs:
- openstack-meta-content-provider
- nova-operator-kuttl
- nova-operator-tempest-multinode
- nova-operator-tempest-multinode-ceph
- pragma:
implied-branch-matchers: True
implied-branches:
- main
- master
##########################################################
# #
# Project Template #
# #
##########################################################
- project-template:
name: opendev-nova-edpm-pipeline
description: |
Project template to run meta content provider and
EDPM job with master opendev and github operator content in
openstack-experimental pipeline.
openstack-experimental: &experimentalJobs
jobs:
- openstack-meta-content-provider:
override-checkout: main
# when run from nova we need to ensure we list the nova-operator
# so that it will be built by the meta content provider
required-projects:
- github.com/openstack-k8s-operators/nova-operator
vars:
cifmw_bop_openstack_release: master
cifmw_bop_dlrn_baseurl: "https://trunk.rdoproject.org/centos9-master"
cifmw_repo_setup_branch: master
- nova-operator-tempest-multinode: &job_vars
override-checkout: main
# when run from nova we need to ensure we list the nova-operator
# so that it will be built by the meta content provider
required-projects:
- github.com/openstack-k8s-operators/nova-operator
vars:
cifmw_repo_setup_branch: master
- nova-operator-tempest-multinode-ceph: *job_vars
experimental: *experimentalJobs