Skip to content

Commit a74a0d2

Browse files
lmicciniclaude
authored andcommitted
Add dt-sharded-compact reproducer scenario
New reproducer for the dt-sharded deployment topology which uses per-service dedicated galera, rabbitmq and mamcached clusters. Based on dt-vhosts-compact with designateext network removed (not used by dt-sharded) and ceph/service-values paths adjusted. Signed-Off-By: Luca Miccini <lmiccini@redhat.com> Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 7c3bb44 commit a74a0d2

1 file changed

Lines changed: 322 additions & 0 deletions

File tree

Lines changed: 322 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,322 @@
1+
---
2+
cifmw_architecture_scenario: dt-sharded
3+
4+
# Automation section. Most of those parameters will be passed to the
5+
# controller-0 as-is and be consumed by the `deploy-va.sh` script.
6+
# Please note, all paths are on the controller-0, meaning managed by the
7+
# Framework. Please do not edit them!
8+
_arch_repo: "{{ cifmw_architecture_repo }}"
9+
cifmw_ceph_client_vars: /tmp/ceph_client.yml
10+
cifmw_ceph_client_values_post_ceph_path_src: >-
11+
{{ _arch_repo }}/examples/dt/dt-sharded/values.yaml
12+
cifmw_ceph_client_values_post_ceph_path_dst: >-
13+
{{ cifmw_ceph_client_values_post_ceph_path_src }}
14+
cifmw_ceph_client_service_values_post_ceph_path_src: >-
15+
{{ _arch_repo }}/examples/dt/dt-sharded/control-plane/service-values.yaml
16+
cifmw_ceph_client_service_values_post_ceph_path_dst: >-
17+
{{ cifmw_ceph_client_service_values_post_ceph_path_src }}
18+
19+
20+
# workaround https://issues.redhat.com/browse/OSPRH-6675
21+
cifmw_ceph_spec_public_network: "{{ cifmw_networking_definition.networks.ctlplane.network }}"
22+
23+
# HERE if you want to override kustomization, you can uncomment this parameter
24+
# and push the data structure you want to apply.
25+
# cifmw_architecture_user_kustomize:
26+
# stage_0:
27+
# 'network-values':
28+
# data:
29+
# starwars: Obiwan
30+
31+
# HERE, if you want to stop the deployment loop at any stage, you can uncomment
32+
# the following parameter and update the value to match the stage you want to
33+
# reach. Known stages are:
34+
# pre_kustomize_stage_INDEX
35+
# pre_apply_stage_INDEX
36+
# post_apply_stage_INDEX
37+
#
38+
# cifmw_deploy_architecture_stopper:
39+
40+
cifmw_allow_vms_to_reach_osp_api: true
41+
42+
# Full networking definition including designate network
43+
cifmw_networking_definition:
44+
networks:
45+
ctlplane:
46+
network: "192.168.122.0/24"
47+
gateway: "192.168.122.1"
48+
dns:
49+
- "192.168.122.1"
50+
mtu: 1500
51+
tools:
52+
multus:
53+
ranges:
54+
- start: 30
55+
end: 70
56+
netconfig:
57+
ranges:
58+
- start: 100
59+
end: 120
60+
- start: 150
61+
end: 170
62+
metallb:
63+
ranges:
64+
- start: 80
65+
end: 90
66+
internalapi:
67+
network: "172.17.0.0/24"
68+
vlan: 20
69+
mtu: 1500
70+
tools:
71+
multus:
72+
ranges:
73+
- start: 30
74+
end: 70
75+
metallb:
76+
ranges:
77+
- start: 80
78+
end: 99
79+
netconfig:
80+
ranges:
81+
- start: 100
82+
end: 250
83+
storage:
84+
network: "172.18.0.0/24"
85+
vlan: 21
86+
mtu: 1500
87+
tools:
88+
multus:
89+
ranges:
90+
- start: 30
91+
end: 70
92+
metallb:
93+
ranges:
94+
- start: 80
95+
end: 90
96+
netconfig:
97+
ranges:
98+
- start: 100
99+
end: 250
100+
tenant:
101+
network: "172.19.0.0/24"
102+
vlan: 22
103+
mtu: 1500
104+
tools:
105+
multus:
106+
ranges:
107+
- start: 30
108+
end: 70
109+
metallb:
110+
ranges:
111+
- start: 80
112+
end: 90
113+
netconfig:
114+
ranges:
115+
- start: 100
116+
end: 250
117+
storagemgmt:
118+
network: "172.20.0.0/24"
119+
vlan: 23
120+
mtu: 1500
121+
tools:
122+
netconfig:
123+
ranges:
124+
- start: 100
125+
end: 250
126+
designate:
127+
network: "172.26.0.0/24"
128+
vlan: 24
129+
mtu: 1500
130+
tools:
131+
multus:
132+
ranges:
133+
- start: 30
134+
end: 70
135+
metallb:
136+
ranges:
137+
- start: 80
138+
end: 90
139+
netconfig:
140+
ranges:
141+
- start: 100
142+
end: 250
143+
designateext:
144+
network: "172.34.0.0/24"
145+
vlan: 34
146+
mtu: 1500
147+
tools:
148+
multus:
149+
ranges:
150+
- start: 30
151+
end: 70
152+
metallb:
153+
ranges:
154+
- start: 80
155+
end: 90
156+
netconfig:
157+
ranges:
158+
- start: 100
159+
end: 250
160+
external:
161+
network: "10.0.0.0/24"
162+
vlan: 22
163+
mtu: 1500
164+
tools:
165+
netconfig:
166+
ranges:
167+
- start: 100
168+
end: 250
169+
group-templates:
170+
ocps:
171+
network-template:
172+
range:
173+
start: 10
174+
length: 10
175+
networks:
176+
ctlplane: {}
177+
internalapi:
178+
trunk-parent: ctlplane
179+
tenant:
180+
trunk-parent: ctlplane
181+
storage:
182+
trunk-parent: ctlplane
183+
designate:
184+
trunk-parent: ctlplane
185+
designateext:
186+
trunk-parent: ctlplane
187+
computes:
188+
network-template:
189+
range:
190+
start: 100
191+
length: 21
192+
networks:
193+
ctlplane: {}
194+
internalapi:
195+
trunk-parent: ctlplane
196+
tenant:
197+
trunk-parent: ctlplane
198+
storage:
199+
trunk-parent: ctlplane
200+
storagemgmt:
201+
trunk-parent: ctlplane
202+
cephs:
203+
network-template:
204+
range:
205+
start: 150
206+
length: 21
207+
networks:
208+
ctlplane: {}
209+
internalapi:
210+
trunk-parent: ctlplane
211+
storage:
212+
trunk-parent: ctlplane
213+
storagemgmt:
214+
trunk-parent: ctlplane
215+
tenant:
216+
trunk-parent: ctlplane
217+
instances:
218+
controller-0:
219+
networks:
220+
ctlplane:
221+
ip: "192.168.122.9"
222+
223+
# HCI requires bigger size to hold OCP on OSP disks
224+
cifmw_block_device_size: 100G
225+
cifmw_libvirt_manager_compute_disksize: 160
226+
cifmw_libvirt_manager_compute_memory: 50
227+
cifmw_libvirt_manager_compute_cpus: 8
228+
229+
cifmw_libvirt_manager_configuration:
230+
networks:
231+
osp_trunk: |
232+
<network>
233+
<name>osp_trunk</name>
234+
<forward mode='nat'/>
235+
<bridge name='osp_trunk' stp='on' delay='0'/>
236+
<dns enable="no"/>
237+
<ip family='ipv4'
238+
address='{{ cifmw_networking_definition.networks.ctlplane.network |
239+
ansible.utils.nthhost(1) }}'
240+
prefix='{{ cifmw_networking_definition.networks.ctlplane.network |
241+
ansible.utils.ipaddr('prefix') }}'>
242+
</ip>
243+
</network>
244+
ocpbm: |
245+
<network>
246+
<name>ocpbm</name>
247+
<forward mode='nat'/>
248+
<bridge name='ocpbm' stp='on' delay='0'/>
249+
<dns enable="no"/>
250+
<ip family='ipv4' address='192.168.111.1' prefix='24'>
251+
</ip>
252+
</network>
253+
ocppr: |
254+
<network>
255+
<name>ocppr</name>
256+
<forward mode='bridge'/>
257+
<bridge name='ocppr'/>
258+
</network>
259+
vms:
260+
ocp:
261+
amount: 3
262+
admin_user: core
263+
image_local_dir: "{{ cifmw_basedir }}/images/"
264+
disk_file_name: "ocp_master"
265+
disksize: "100"
266+
cpus: 16
267+
memory: 64
268+
root_part_id: 4
269+
uefi: true
270+
nets:
271+
- ocppr
272+
- ocpbm
273+
- osp_trunk
274+
compute:
275+
uefi: "{{ cifmw_use_uefi }}"
276+
root_part_id: "{{ cifmw_root_partition_id }}"
277+
amount: "{{ [cifmw_libvirt_manager_compute_amount|int, 3] | max }}"
278+
image_url: "{{ cifmw_discovered_image_url }}"
279+
sha256_image_name: "{{ cifmw_discovered_hash }}"
280+
image_local_dir: "{{ cifmw_basedir }}/images/"
281+
disk_file_name: "compute-base-os.qcow2"
282+
disksize: "{{ [cifmw_libvirt_manager_compute_disksize|int, 50] | max }}"
283+
memory: "{{ [cifmw_libvirt_manager_compute_memory|int, 8] | max }}"
284+
cpus: "{{ [cifmw_libvirt_manager_compute_cpus|int, 4] | max }}"
285+
nets:
286+
- ocpbm
287+
- osp_trunk
288+
controller:
289+
uefi: "{{ cifmw_use_uefi }}"
290+
root_part_id: "{{ cifmw_root_partition_id }}"
291+
image_url: "{{ cifmw_discovered_image_url }}"
292+
sha256_image_name: "{{ cifmw_discovered_hash }}"
293+
image_local_dir: "{{ cifmw_basedir }}/images/"
294+
disk_file_name: "base-os.qcow2"
295+
disksize: 50
296+
memory: 8
297+
cpus: 4
298+
nets:
299+
- ocpbm
300+
- osp_trunk
301+
302+
## devscript support for OCP deploy
303+
cifmw_devscripts_config_overrides:
304+
fips_mode: "{{ cifmw_fips_enabled | default(false) | bool }}"
305+
306+
# Note: with that extra_network_names "osp_trunk", we instruct
307+
# devscripts role to create a new network, and associate it to
308+
# the OCP nodes. This one is a "private network", and will hold
309+
# the VLANs used for network isolation.
310+
311+
# Please create a custom env file to provide:
312+
# cifmw_devscripts_ci_token:
313+
# cifmw_devscripts_pull_secret:
314+
315+
# Test Ceph file and object storage (block is enabled by default)
316+
cifmw_ceph_daemons_layout:
317+
rgw_enabled: true
318+
dashboard_enabled: false
319+
cephfs_enabled: true
320+
ceph_nfs_enabled: true
321+
322+
cifmw_deploy_obs: true

0 commit comments

Comments
 (0)