Skip to content

Commit 6d9167b

Browse files
Merge pull request #1184 from olliewalsh/dcn_adoption_pr
Add support for DCN adoption
2 parents 20a25f7 + bd6ca27 commit 6d9167b

File tree

22 files changed

+1701
-27
lines changed

22 files changed

+1701
-27
lines changed

scenarios/dcn_nostorage.yaml

Lines changed: 224 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,224 @@
1+
---
2+
undercloud:
3+
config:
4+
- section: DEFAULT
5+
option: undercloud_hostname
6+
value: undercloud.example.com
7+
- section: DEFAULT
8+
option: undercloud_timezone
9+
value: UTC
10+
- section: DEFAULT
11+
option: undercloud_debug
12+
value: true
13+
- section: DEFAULT
14+
option: container_cli
15+
value: podman
16+
- section: DEFAULT
17+
option: undercloud_enable_selinux
18+
value: false
19+
- section: DEFAULT
20+
option: generate_service_certificate
21+
value: false
22+
23+
- section: DEFAULT
24+
option: local_interface
25+
value: eth0
26+
- section: DEFAULT
27+
option: local_ip
28+
value: 192.168.122.100/24
29+
- section: DEFAULT
30+
option: enable_routed_networks
31+
value: true
32+
- section: DEFAULT
33+
option: subnets
34+
value: ctlplane-subnet,leaf1,leaf2
35+
- section: DEFAULT
36+
option: local_subnet
37+
value: ctlplane-subnet
38+
39+
- section: ctlplane-subnet
40+
option: masquerade
41+
value: false
42+
43+
- section: leaf1
44+
option: cidr
45+
value: 192.168.133.0/24
46+
- section: leaf1
47+
option: gateway
48+
value: 192.168.133.1
49+
- section: leaf1
50+
option: masquerade
51+
value: false
52+
- section: leaf1
53+
option: inspection_iprange
54+
value: 192.168.133.200,192.168.133.220
55+
56+
- section: leaf2
57+
option: cidr
58+
value: 192.168.144.0/24
59+
- section: leaf2
60+
option: gateway
61+
value: 192.168.144.1
62+
- section: leaf2
63+
option: masquerade
64+
value: false
65+
- section: leaf2
66+
option: inspection_iprange
67+
value: 192.168.144.200,192.168.144.220
68+
undercloud_parameters_override: "dcn_nostorage/hieradata_overrides_undercloud.yaml"
69+
undercloud_parameters_defaults: "dcn_nostorage/undercloud_parameter_defaults.yaml"
70+
ctlplane_vip: 192.168.122.98
71+
cloud_domain: "example.com"
72+
hostname_groups_map:
73+
# map ansible groups in the inventory to role hostname format for
74+
# 17.1 deployment
75+
osp-computes: "central-compute"
76+
osp-controllers: "central-controller"
77+
osp-dcn1-compute-az1s: "dcn1-compute1"
78+
osp-dcn2-compute-az2s: "dcn2-compute2"
79+
80+
81+
roles_groups_map:
82+
# map ansible groups to tripleo Role names
83+
osp-computes: "Compute"
84+
osp-controllers: "Controller"
85+
osp-dcn1-compute-az1s: "ComputeDcn1"
86+
osp-dcn2-compute-az2s: "ComputeDcn2"
87+
88+
network_tripleo_network_map:
89+
ctlplane: ctlplane
90+
ctlplanedcn1: ctlplane
91+
ctlplanedcn2: ctlplane
92+
internalapi: internalapi
93+
internalapidcn1: internalapi
94+
internalapidcn2: internalapi
95+
storage: storage
96+
storagedcn1: storage
97+
storagedcn2: storage
98+
storagemgmt: storagemgmt
99+
storagemgmtdcn1: storagemgmt
100+
storagemgmtdcn2: storagemgmt
101+
tenant: tenant
102+
tenantdcn1: tenant
103+
tenantdcn2: tenant
104+
105+
stacks:
106+
- stackname: "central"
107+
args:
108+
- "--override-ansible-cfg /home/zuul/ansible_config.cfg"
109+
- "--templates /usr/share/openstack-tripleo-heat-templates"
110+
- "--libvirt-type qemu"
111+
- "--timeout 90"
112+
- "--overcloud-ssh-user zuul"
113+
- "--deployed-server"
114+
- "--validation-warnings-fatal"
115+
- "--disable-validations"
116+
- "--heat-type pod"
117+
- "--disable-protected-resource-types"
118+
vars:
119+
- "/usr/share/openstack-tripleo-heat-templates/environments/docker-ha.yaml"
120+
- "/usr/share/openstack-tripleo-heat-templates/environments/podman.yaml"
121+
- "/usr/share/openstack-tripleo-heat-templates/environments/low-memory-usage.yaml"
122+
- "/usr/share/openstack-tripleo-heat-templates/environments/debug.yaml"
123+
network_data_file: "dcn_nostorage/central/network_data.yaml.j2"
124+
vips_data_file: "dcn_nostorage/central/vips_data.yaml"
125+
roles_file: "dcn_nostorage/central/roles.yaml"
126+
config_download_file: "dcn_nostorage/central/config_download.yaml"
127+
stack_nodes:
128+
- osp-computes
129+
- osp-controllers
130+
ctlplanenet: ctlplane
131+
routes:
132+
- ip_netmask: 0.0.0.0/0
133+
next_hop: 192.168.122.1
134+
default: true
135+
- stackname: dcn1
136+
args:
137+
- "--override-ansible-cfg /home/zuul/ansible_config.cfg"
138+
- "--templates /usr/share/openstack-tripleo-heat-templates"
139+
- "--libvirt-type qemu"
140+
- "--timeout 90"
141+
- "--overcloud-ssh-user zuul"
142+
- "--deployed-server"
143+
- "--validation-warnings-fatal"
144+
- "--disable-validations"
145+
- "--heat-type pod"
146+
- "--disable-protected-resource-types"
147+
vars:
148+
- "/usr/share/openstack-tripleo-heat-templates/environments/docker-ha.yaml"
149+
- "/usr/share/openstack-tripleo-heat-templates/environments/podman.yaml"
150+
- "/usr/share/openstack-tripleo-heat-templates/environments/low-memory-usage.yaml"
151+
- "/usr/share/openstack-tripleo-heat-templates/environments/debug.yaml"
152+
- "/home/zuul/overcloud-deploy/central/central-export.yaml"
153+
network_data_file: "dcn_nostorage/dcn1/network_data.yaml.j2"
154+
vips_data_file: "dcn_nostorage/dcn1/vips_data.yaml"
155+
roles_file: "dcn_nostorage/dcn1/roles.yaml"
156+
config_download_file: "dcn_nostorage/dcn1/config_download.yaml"
157+
stack_nodes:
158+
- osp-dcn1-compute-az1s
159+
ctlplanenet: ctlplanedcn1
160+
routes:
161+
- ip_netmask: 0.0.0.0/0
162+
next_hop: 192.168.133.1
163+
default: true
164+
network_routes:
165+
internalapidcn1:
166+
- ip_netmask: 172.17.0.0/24
167+
next_hop: 172.17.10.1
168+
- ip_netmask: 172.17.20.0/24
169+
next_hop: 172.17.10.1
170+
storagedcn1:
171+
- ip_netmask: 172.18.0.0/24
172+
next_hop: 172.18.10.1
173+
- ip_netmask: 172.18.20.0/24
174+
next_hop: 172.18.10.1
175+
tenantdcn1:
176+
- ip_netmask: 172.19.0.0/24
177+
next_hop: 172.19.10.1
178+
- ip_netmask: 172.19.20.0/24
179+
next_hop: 172.19.10.1
180+
- stackname: dcn2
181+
args:
182+
- "--override-ansible-cfg /home/zuul/ansible_config.cfg"
183+
- "--templates /usr/share/openstack-tripleo-heat-templates"
184+
- "--libvirt-type qemu"
185+
- "--timeout 90"
186+
- "--overcloud-ssh-user zuul"
187+
- "--deployed-server"
188+
- "--validation-warnings-fatal"
189+
- "--disable-validations"
190+
- "--heat-type pod"
191+
- "--disable-protected-resource-types"
192+
vars:
193+
- "/usr/share/openstack-tripleo-heat-templates/environments/docker-ha.yaml"
194+
- "/usr/share/openstack-tripleo-heat-templates/environments/podman.yaml"
195+
- "/usr/share/openstack-tripleo-heat-templates/environments/low-memory-usage.yaml"
196+
- "/usr/share/openstack-tripleo-heat-templates/environments/debug.yaml"
197+
- "/home/zuul/overcloud-deploy/central/central-export.yaml"
198+
network_data_file: "dcn_nostorage/dcn2/network_data.yaml.j2"
199+
vips_data_file: "dcn_nostorage/dcn2/vips_data.yaml"
200+
roles_file: "dcn_nostorage/dcn2/roles.yaml"
201+
config_download_file: "dcn_nostorage/dcn2/config_download.yaml"
202+
stack_nodes:
203+
- osp-dcn2-compute-az2s
204+
ctlplanenet: ctlplanedcn2
205+
routes:
206+
- ip_netmask: 0.0.0.0/0
207+
next_hop: 192.168.144.1
208+
default: true
209+
network_routes:
210+
internalapidcn2:
211+
- ip_netmask: 172.17.0.0/24
212+
next_hop: 172.17.20.1
213+
- ip_netmask: 172.17.10.0/24
214+
next_hop: 172.17.20.1
215+
storagedcn2:
216+
- ip_netmask: 172.18.0.0/24
217+
next_hop: 172.18.20.1
218+
- ip_netmask: 172.18.10.0/24
219+
next_hop: 172.18.20.1
220+
tenantdcn2:
221+
- ip_netmask: 172.19.0.0/24
222+
next_hop: 172.19.20.1
223+
- ip_netmask: 172.19.10.0/24
224+
next_hop: 172.19.20.1
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
---
2+
resource_registry:
3+
# yamllint disable rule:line-length
4+
OS::TripleO::DeployedServer::ControlPlanePort: /usr/share/openstack-tripleo-heat-templates/deployed-server/deployed-neutron-port.yaml
5+
OS::TripleO::OVNMacAddressNetwork: OS::Heat::None
6+
OS::TripleO::OVNMacAddressPort: OS::Heat::None
7+
OS::TripleO::Compute::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_internal_api.yaml
8+
OS::TripleO::Compute::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage.yaml
9+
OS::TripleO::Compute::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage_mgmt.yaml
10+
OS::TripleO::Compute::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_tenant.yaml
11+
OS::TripleO::Controller::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_external.yaml
12+
OS::TripleO::Controller::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_internal_api.yaml
13+
OS::TripleO::Controller::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage_mgmt.yaml
14+
OS::TripleO::Controller::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage.yaml
15+
OS::TripleO::Controller::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_tenant.yaml
16+
OS::TripleO::Services::CeilometerAgentCentral: /usr/share/openstack-tripleo-heat-templates/deployment/ceilometer/ceilometer-agent-central-container-puppet.yaml
17+
OS::TripleO::Services::CeilometerAgentNotification: /usr/share/openstack-tripleo-heat-templates/deployment/ceilometer/ceilometer-agent-notification-container-puppet.yaml
18+
OS::TripleO::Services::CeilometerAgentIpmi: /usr/share/openstack-tripleo-heat-templates/deployment/ceilometer/ceilometer-agent-ipmi-container-puppet.yaml
19+
OS::TripleO::Services::ComputeCeilometerAgent: /usr/share/openstack-tripleo-heat-templates/deployment/ceilometer/ceilometer-agent-compute-container-puppet.yaml
20+
OS::TripleO::Services::Collectd: /usr/share/openstack-tripleo-heat-templates/deployment/metrics/collectd-container-puppet.yaml
21+
OS::TripleO::Services::MetricsQdr: /usr/share/openstack-tripleo-heat-templates/deployment/metrics/qdr-container-puppet.yaml
22+
OS::TripleO::Services::OsloMessagingRpc: /usr/share/openstack-tripleo-heat-templates/deployment/rabbitmq/rabbitmq-messaging-rpc-pacemaker-puppet.yaml
23+
OS::TripleO::Services::OsloMessagingNotify: /usr/share/openstack-tripleo-heat-templates/deployment/rabbitmq/rabbitmq-messaging-notify-shared-puppet.yaml
24+
OS::TripleO::Services::HAproxy: /usr/share/openstack-tripleo-heat-templates/deployment/haproxy/haproxy-pacemaker-puppet.yaml
25+
OS::TripleO::Services::Pacemaker: /usr/share/openstack-tripleo-heat-templates/deployment/pacemaker/pacemaker-baremetal-puppet.yaml
26+
OS::TripleO::Services::PacemakerRemote: /usr/share/openstack-tripleo-heat-templates/deployment/pacemaker/pacemaker-remote-baremetal-puppet.yaml
27+
OS::TripleO::Services::Clustercheck: /usr/share/openstack-tripleo-heat-templates/deployment/pacemaker/clustercheck-container-puppet.yaml
28+
OS::TripleO::Services::Redis: /usr/share/openstack-tripleo-heat-templates/deployment/database/redis-pacemaker-puppet.yaml
29+
OS::TripleO::Services::Rsyslog: /usr/share/openstack-tripleo-heat-templates/deployment/logging/rsyslog-container-puppet.yaml
30+
OS::TripleO::Services::MySQL: /usr/share/openstack-tripleo-heat-templates/deployment/database/mysql-pacemaker-puppet.yaml
31+
OS::TripleO::Services::CinderBackup: /usr/share/openstack-tripleo-heat-templates/deployment/cinder/cinder-backup-pacemaker-puppet.yaml
32+
OS::TripleO::Services::CinderVolume: /usr/share/openstack-tripleo-heat-templates/deployment/cinder/cinder-volume-pacemaker-puppet.yaml
33+
OS::TripleO::Services::HeatApi: /usr/share/openstack-tripleo-heat-templates/deployment/heat/heat-api-container-puppet.yaml
34+
OS::TripleO::Services::HeatApiCfn: /usr/share/openstack-tripleo-heat-templates/deployment/heat/heat-api-cfn-container-puppet.yaml
35+
OS::TripleO::Services::HeatApiCloudwatch: /usr/share/openstack-tripleo-heat-templates/deployment/heat/heat-api-cloudwatch-disabled-puppet.yaml
36+
OS::TripleO::Services::HeatEngine: /usr/share/openstack-tripleo-heat-templates/deployment/heat/heat-engine-container-puppet.yaml
37+
OS::TripleO::Services::NovaAZConfig: /usr/share/openstack-tripleo-heat-templates/deployment/nova/nova-az-config.yaml
38+
parameter_defaults:
39+
# DCN deployment requires loose rp_filter to allow asymmetric routing
40+
KernelIpv4ConfAllRpFilter: 2
41+
RedisVirtualFixedIPs:
42+
- ip_address: 192.168.122.110
43+
use_neutron: false
44+
OVNDBsVirtualFixedIPs:
45+
- ip_address: 192.168.122.111
46+
use_neutron: false
47+
ControllerExtraConfig:
48+
nova::availability_zone::default_schedule_zone: az-central
49+
nova::compute::libvirt::services::libvirt_virt_type: qemu
50+
nova::compute::libvirt::virt_type: qemu
51+
ComputeExtraConfig:
52+
nova::compute::libvirt::services::libvirt_virt_type: qemu
53+
nova::compute::libvirt::virt_type: qemu
54+
BarbicanSimpleCryptoGlobalDefault: true
55+
Debug: true
56+
DockerPuppetDebug: true
57+
ContainerCli: podman
58+
ControllerCount: 1
59+
ComputeCount: 3
60+
NeutronGlobalPhysnetMtu: 1350
61+
CinderLVMLoopDeviceSize: 20480
62+
CloudName: overcloud.example.com
63+
CloudNameInternal: overcloud.internalapi.example.com
64+
CloudNameStorage: overcloud.storage.example.com
65+
CloudNameStorageManagement: overcloud.storagemgmt.example.com
66+
CloudNameCtlplane: overcloud.ctlplane.example.com
67+
CloudDomain: example.com
68+
NetworkConfigWithAnsible: false
69+
ControllerHostnameFormat: '%stackname%-controller-%index%'
70+
ComputeHostnameFormat: '%stackname%-compute-%index%'
71+
CtlplaneNetworkAttributes:
72+
network:
73+
dns_domain: example.com
74+
mtu: 1500
75+
name: ctlplane
76+
tags:
77+
- 192.168.122.0/24
78+
subnets:
79+
ctlplane-subnet:
80+
cidr: 192.168.122.0/24
81+
dns_nameservers: 192.168.122.10
82+
gateway_ip: 192.168.122.10
83+
host_routes:
84+
- destination: 192.168.133.0/24 # Route to DCN1
85+
nexthop: 192.168.122.10
86+
- destination: 192.168.144.0/24 # Route to DCN2
87+
nexthop: 192.168.122.10
88+
name: ctlplane-subnet
89+
ip_version: 4
90+
91+
BondInterfaceOvsOptions: bond_mode=active-backup
92+
ComputeNetworkConfigTemplate: /home/stack/central/network/spine-leaf-nics/compute0.j2
93+
ComputeParameters:
94+
NeutronBridgeMappings:
95+
- leaf0:br-ex
96+
ControllerNetworkConfigTemplate: /home/stack/central/network/spine-leaf-nics/controller0.j2
97+
ControllerParameters:
98+
NeutronBridgeMappings:
99+
- leaf0:br-ex
100+
DnsServers:
101+
- 10.11.5.19
102+
- 10.5.30.160
103+
NeutronEnableDVR: 'false'
104+
NeutronFlatNetworks: leaf0,leaf1,leaf2
105+
NeutronNetworkType: geneve
106+
NeutronNetworkVLANRanges: leaf0:1:1000,leaf1:1:1000,leaf2:1:1000
107+
NeutronTunnelTypes: geneve
108+
NovaComputeAvailabilityZone: az-central
109+
NovaCrossAZAttach: false
110+
NtpServer:
111+
- clock.redhat.com
112+
- clock2.redhat.com
113+
PythonInterpreter: /usr/bin/python3
114+
RootStackName: central
115+
VipSubnetMap:
116+
ctlplane: ctlplane-subnet

0 commit comments

Comments
 (0)