Skip to content

Commit f7d58f4

Browse files
committed
[WIP] Enable Ceph as cinder backend
Deploy an HCI configuration using cifmw and use it as backend for cinder. This is needed to test volume migrations and depending on the result we might enable it in all jobs or only in some. Depends-On: https://review.opendev.org/c/openstack/watcher-tempest-plugin/+/954625
1 parent cf65968 commit f7d58f4

File tree

3 files changed

+133
-5
lines changed

3 files changed

+133
-5
lines changed

.zuul.yaml

Lines changed: 91 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@
55
merge-mode: rebase
66
templates:
77
- opendev-master-watcher-operator-pipeline
8-
- opendev-epoxy-watcher-operator-pipeline
8+
# DNM jgilaber temporarily restrict jobs to the one that is testing the
9+
# changes to avoid wasting resources
10+
# - opendev-epoxy-watcher-operator-pipeline
911
github-check:
1012
jobs:
1113
- noop
12-
- watcher-operator-doc-preview
13-
- watcher-operator-kuttl
14+
# - watcher-operator-doc-preview
15+
# - watcher-operator-kuttl
1416

1517
- job:
1618
name: watcher-operator-base
@@ -229,8 +231,23 @@
229231
voting: false
230232
description: |
231233
A Zuul job consuming content from openstack-meta-content-provider-master
232-
and deploying EDPM with master content.
234+
and deploying EDPM with master content and ceph storage backend.
233235
vars:
236+
cifmw_extras:
237+
- "@{{ ansible_user_dir }}/{{ zuul.projects['github.com/openstack-k8s-operators/ci-framework'].
238+
src_dir }}/scenarios/centos-9/multinode-ci.yml"
239+
- "@{{ ansible_user_dir }}/{{ zuul.projects['github.com/openstack-k8s-operators/ci-framework'].
240+
src_dir }}/scenarios/centos-9/horizon.yml"
241+
- "@{{ ansible_user_dir }}/{{ zuul.projects['github.com/openstack-k8s-operators/ci-framework'].
242+
src_dir }}/scenarios/centos-9/hci_ceph_backends.yml"
243+
- "@{{ ansible_user_dir }}/{{ zuul.projects['github.com/openstack-k8s-operators/watcher-operator'].
244+
src_dir }}/ci/scenarios/edpm.yml"
245+
- "@{{ ansible_user_dir }}/{{ zuul.projects['github.com/openstack-k8s-operators/watcher-operator'].
246+
src_dir }}/ci/tests/watcher-tempest.yml"
247+
- "@{{ ansible_user_dir }}/{{ zuul.projects['github.com/openstack-k8s-operators/watcher-operator'].
248+
src_dir }}/ci/tests/watcher-tempest-ceph.yml"
249+
- "@{{ ansible_user_dir }}/{{ zuul.projects['github.com/openstack-k8s-operators/watcher-operator'].
250+
src_dir }}/ci/scenarios/ceph.yml"
234251
cifmw_repo_setup_branch: master
235252
# To consume containers from meta content provider
236253
cifmw_update_containers_openstack: true
@@ -240,12 +257,81 @@
240257
watcher_services_tag: watcher_latest
241258
watcher_registry_url: "{{ content_provider_os_registry_url }}"
242259
cifmw_test_operator_tempest_image_tag: watcher_latest
243-
244260
extra-vars:
245261
# Override zuul meta content provider provided content_provider_dlrn_md5_hash
246262
# var. As returned dlrn md5 hash comes from master release but job is using
247263
# antelope content.
248264
content_provider_dlrn_md5_hash: ''
265+
# jgilaber: add storage-mgmt network to nodes for ceph
266+
crc_ci_bootstrap_cloud_name: "{{ nodepool.cloud | replace('-nodepool-tripleo','') }}"
267+
crc_ci_bootstrap_networking:
268+
networks:
269+
default:
270+
mtu: "{{ ('ibm' in nodepool.cloud) | ternary('1440', '1500') }}"
271+
router_net: ""
272+
transparent: true
273+
range: 192.168.122.0/24
274+
internal-api:
275+
vlan: 20
276+
range: 172.17.0.0/24
277+
storage:
278+
vlan: 21
279+
range: 172.18.0.0/24
280+
tenant:
281+
vlan: 22
282+
range: 172.19.0.0/24
283+
storage-mgmt:
284+
vlan: 23
285+
range: 172.20.0.0/24
286+
instances:
287+
controller:
288+
networks:
289+
default:
290+
ip: 192.168.122.11
291+
crc:
292+
networks:
293+
default:
294+
ip: 192.168.122.10
295+
internal-api:
296+
ip: 172.17.0.5
297+
storage:
298+
ip: 172.18.0.5
299+
tenant:
300+
ip: 172.19.0.5
301+
storage-mgmt:
302+
ip: 172.20.0.5
303+
compute-0:
304+
networks:
305+
default:
306+
ip: 192.168.122.100
307+
internal-api:
308+
ip: 172.17.0.100
309+
config_nm: false
310+
storage:
311+
ip: 172.18.0.100
312+
config_nm: false
313+
tenant:
314+
ip: 172.19.0.100
315+
config_nm: false
316+
storage-mgmt:
317+
ip: 172.20.0.100
318+
config_nm: false
319+
compute-1:
320+
networks:
321+
default:
322+
ip: 192.168.122.101
323+
internal-api:
324+
ip: 172.17.0.101
325+
config_nm: false
326+
storage:
327+
ip: 172.18.0.101
328+
config_nm: false
329+
tenant:
330+
ip: 172.19.0.101
331+
config_nm: false
332+
storage-mgmt:
333+
ip: 172.20.0.101
334+
config_nm: false
249335

250336
##########################################################
251337
# #

ci/scenarios/ceph.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
cifmw_edpm_deploy_hci: true
3+
cifmw_ceph_daemons_layout:
4+
rgw_enabled: true
5+
dashboard_enabled: true
6+
cephfs_enabled: true
7+
ceph_nfs_enabled: true
8+
# Override the Ceph container tag and deploy Squid
9+
cifmw_cephadm_container_tag: "v19"
10+
# Override the Ceph Tools repo and install cephadm Squid
11+
cifmw_cephadm_repository_override: true
12+
cifmw_cephadm_version: "squid"
13+
cifmw_cephadm_prepare_host: true
14+
cifmw_services_manila_enabled: false
15+
16+
# NOTE(jgilaber): we might want to merge this file into scenarios/edpm.yml,
17+
# # depending on how many jobs will have cinder volumes enabled
18+
ci_framework_base_src_dir: "{{ ansible_user_dir }}/{{ zuul.projects['github.com/openstack-k8s-operators/ci-framework'].src_dir }}"
19+
install_yamls_src_dir: "{{ ansible_user_dir }}/{{ zuul.projects['github.com/openstack-k8s-operators/install_yamls'].src_dir }}"
20+
post_deploy:
21+
- name: Download needed tools
22+
type: playbook
23+
inventory: "{{ install_yamls_src_dir }}/devsetup/hosts"
24+
source: "{{ install_yamls_src_dir }}/devsetup/download_tools.yaml"
25+
- name: Patch Openstack Prometheus to enable admin API
26+
type: playbook
27+
source: "{{ prometheus_admin_api_hook }}"
28+
- name: 81 Kustomize OpenStack CR with Ceph
29+
type: playbook
30+
source: "{{ ci_framework_base_src_dir }}/hooks/playbooks/control_plane_ceph_backends.yml"
31+
- name: 82 Kustomize and update Control Plane
32+
type: playbook
33+
source: "{{ ci_framework_base_src_dir }}/hooks/playbooks/control_plane_kustomize_deploy.yml"
34+
35+
# jgilaber: override hook defined in ci-framework that we don't need
36+
pre_tests: []

ci/tests/watcher-tempest-ceph.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# get the tempest configuration from watcher-waster.yml, with the exception of
2+
# not skipping volume_migration tests
3+
cifmw_test_operator_tempest_exclude_list: |
4+
watcher_tempest_plugin.*client_functional.*
5+
watcher_tempest_plugin.tests.scenario.test_execute_strategies.TestExecuteStrategies.test_execute_storage_capacity_balance_strategy
6+
watcher_tempest_plugin.*\[.*\breal_load\b.*\].*

0 commit comments

Comments
 (0)