Skip to content

Commit fc05166

Browse files
Merge pull request #928 from bogdando/ext_net_opt
tripleo: split network config control flags
2 parents bcaa5c9 + e76e38b commit fc05166

File tree

7 files changed

+77
-21
lines changed

7 files changed

+77
-21
lines changed

devsetup/Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ EDPM_COMPUTE_CEPH_ENABLED ?= true
7373
EDPM_COMPUTE_CELLS ?= 1
7474
EDPM_COMPUTE_CEPH_NOVA ?= true
7575
EDPM_CONFIGURE_NETWORKING ?= true
76+
EDPM_ATTACH_EXTNET ?= true
77+
EDPM_CONFIGURE_DEFAULT_ROUTE ?= true
7678
EDPM_COMPUTE_SRIOV_ENABLED ?= true
7779
EDPM_COMPUTE_DHCP_AGENT_ENABLED ?= true
7880
EDPM_TOTAL_NETWORKERS ?= 1
@@ -482,6 +484,8 @@ tripleo_deploy: export REGISTRY_PWD ?= ${RH_REGISTRY_PWD}
482484
tripleo_deploy: export COMPUTE_CEPH_ENABLED=${EDPM_COMPUTE_CEPH_ENABLED}
483485
tripleo_deploy: export COMPUTE_CEPH_NOVA=${EDPM_COMPUTE_CEPH_NOVA}
484486
tripleo_deploy: export TRIPLEO_NETWORKING=${EDPM_CONFIGURE_NETWORKING}
487+
tripleo_deploy: export TRIPLEO_ATTACH_EXTNET=${EDPM_ATTACH_EXTNET}
488+
tripleo_deploy: export TRIPLEO_CONFIGURE_DEFAULT_ROUTE=${EDPM_CONFIGURE_DEFAULT_ROUTE}
485489
tripleo_deploy:
486490
$(eval $(call vars))
487491
scripts/tripleo.sh

devsetup/scripts/tripleo.sh

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ REPO_SETUP_CMDS=${REPO_SETUP_CMDS:-"${MY_TMP_DIR}/standalone_repos"}
3232
CMDS_FILE=${CMDS_FILE:-"${MY_TMP_DIR}/standalone_cmds"}
3333
SKIP_TRIPLEO_REPOS=${SKIP_TRIPLEO_REPOS:="false"}
3434
TRIPLEO_NETWORKING=${TRIPLEO_NETWORKING:-true}
35+
TRIPLEO_ATTACH_EXTNET=${TRIPLEO_ATTACH_EXTNET:-true}
36+
TRIPLEO_CONFIGURE_DEFAULT_ROUTE=${TRIPLEO_CONFIGURE_DEFAULT_ROUTE:=true}
3537
MANILA_ENABLED=${MANILA_ENABLED:-true}
3638
OCTAVIA_ENABLED=${OCTAVIA_ENABLED:-false}
3739
TELEMETRY_ENABLED=${TELEMETRY_ENABLED:-true}
@@ -97,6 +99,9 @@ export OCTAVIA_ENABLED=${OCTAVIA_ENABLED}
9799
export TELEMETRY_ENABLED=${TELEMETRY_ENABLED:-true}
98100
export TLSE_ENABLED=${TLSE_ENABLED:-false}
99101
export CLOUD_DOMAIN=${CLOUD_DOMAIN:-localdomain}
102+
export TRIPLEO_NETWORKING=${TRIPLEO_NETWORKING:-true}
103+
export TRIPLEO_ATTACH_EXTNET=${TRIPLEO_ATTACH_EXTNET:-true}
104+
export TRIPLEO_CONFIGURE_DEFAULT_ROUTE=${TRIPLEO_CONFIGURE_DEFAULT_ROUTE:-true}
100105
101106
set +x
102107
if [ ! -f \$HOME/containers-prepare-parameters.yaml ]; then
@@ -164,7 +169,8 @@ ip_address_suffix: ${IP_ADRESS_SUFFIX}
164169
interface_mtu: ${INTERFACE_MTU:-1500}
165170
ntp_server: ${NTP_SERVER}
166171
gateway_ip: ${GATEWAY}
167-
manage_default_route: ${TRIPLEO_NETWORKING}
172+
manage_default_route: ${TRIPLEO_CONFIGURE_DEFAULT_ROUTE}
173+
tripleo_networking: ${TRIPLEO_NETWORKING}
168174
dns_server: ${PRIMARY_RESOLV_CONF_ENTRY}
169175
user_home: /home/zuul
170176
cloud_domain: ${CLOUD_DOMAIN}

devsetup/tripleo/ceph.sh

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,17 @@ data_devices:
3939
- /dev/ceph_vg1/ceph_lv1
4040
EOF
4141

42-
# create roles file
42+
# create overriden Contoller and HCI roles file
4343
openstack overcloud roles generate Controller ComputeHCI > roles.yaml
4444

45-
# disable external gateway for controller nodes
45+
# always disable external gateway for controller nodes (ignore TRIPLEO_ATTACH_EXTNET for reasons)
4646
sed -i "s/default_route_networks: \['External'\]/default_route_networks: \['ControlPlane'\]/" roles.yaml
4747
sed -i "/External:/d" roles.yaml
4848
sed -i "/subnet: external_subnet/d" roles.yaml
4949

50+
# update the main roles file
51+
cat roles.yaml >> $ROLES_FILE
52+
5053
# NOTE: TripleO has the hardcoded --yes-i-know option that is not valid anymore
5154
# in RHCS 7. TripleO does not receive any new patch both upstream and downstream
5255
# (it is a retired project), hence the only option we have is to patch the

devsetup/tripleo/config-download-multistack.j2

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,21 @@ resource_registry:
77
OS::TripleO::Compute::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage_mgmt.yaml
88
OS::TripleO::Compute::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage.yaml
99
OS::TripleO::Compute::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_tenant.yaml
10-
OS::TripleO::Compute::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_external.yaml
1110
OS::TripleO::Controller::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_internal_api.yaml
1211
OS::TripleO::Controller::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage_mgmt.yaml
1312
OS::TripleO::Controller::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage.yaml
1413
OS::TripleO::Controller::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_tenant.yaml
15-
OS::TripleO::Controller::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_external.yaml
1614
OS::TripleO::CellController::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_internal_api.yaml
1715
OS::TripleO::CellController::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage_mgmt.yaml
1816
OS::TripleO::CellController::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage.yaml
1917
OS::TripleO::CellController::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_tenant.yaml
20-
OS::TripleO::CellController::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_external.yaml
2118
OS::TripleO::CellControllerCompute::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_internal_api.yaml
2219
OS::TripleO::CellControllerCompute::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage_mgmt.yaml
2320
OS::TripleO::CellControllerCompute::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage.yaml
2421
OS::TripleO::CellControllerCompute::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_tenant.yaml
22+
OS::TripleO::Compute::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_external.yaml
23+
OS::TripleO::Controller::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_external.yaml
24+
OS::TripleO::CellController::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_external.yaml
2525
OS::TripleO::CellControllerCompute::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_external.yaml
2626
parameter_defaults:
2727
DeployedServerPortMap:
@@ -174,9 +174,13 @@ parameter_defaults:
174174
cidr: 192.168.122.0/24
175175
dns_nameservers: [{{ dns_server }}, 192.168.122.1]
176176
gateway_ip: {{ gateway_ip }}
177+
{% if manage_default_route|bool %}
177178
host_routes:
178179
- ip_netmask: 0.0.0.0/0
179180
next_hop: 192.168.122.1
180181
default: true
182+
{% else %}
183+
host_routes: []
184+
{% endif %}
181185
ip_version: 4
182186
name: ctlplane-subnet

devsetup/tripleo/config-download.yaml.j2

Lines changed: 36 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,15 @@ resource_registry:
44
OS::TripleO::OVNMacAddressNetwork: OS::Heat::None
55
OS::TripleO::OVNMacAddressPort: OS::Heat::None
66
OS::TripleO::Compute::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_internal_api.yaml
7+
OS::TripleO::Compute::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage_mgmt.yaml
78
OS::TripleO::Compute::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage.yaml
89
OS::TripleO::Compute::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_tenant.yaml
9-
OS::TripleO::Controller::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_external.yaml
1010
OS::TripleO::Controller::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_internal_api.yaml
1111
OS::TripleO::Controller::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage_mgmt.yaml
1212
OS::TripleO::Controller::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage.yaml
1313
OS::TripleO::Controller::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_tenant.yaml
14+
OS::TripleO::Compute::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_external.yaml
15+
OS::TripleO::Controller::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_external.yaml
1416
parameter_defaults:
1517
DeployedServerPortMap:
1618
controller-0-ctlplane:
@@ -84,6 +86,10 @@ parameter_defaults:
8486
ip_address: 172.19.0.103
8587
ip_address_uri: 172.19.0.103
8688
ip_subnet: 172.19.0.0/24
89+
external:
90+
ip_address: 172.21.0.103
91+
ip_address_uri: 172.21.0.103
92+
ip_subnet: 172.21.0.0/24
8793
controller-1:
8894
ctlplane:
8995
ip_address: 192.168.122.104
@@ -105,6 +111,10 @@ parameter_defaults:
105111
ip_address: 172.19.0.104
106112
ip_address_uri: 172.19.0.104
107113
ip_subnet: 172.19.0.0/24
114+
external:
115+
ip_address: 172.21.0.104
116+
ip_address_uri: 172.21.0.104
117+
ip_subnet: 172.21.0.0/24
108118
controller-2:
109119
ctlplane:
110120
ip_address: 192.168.122.105
@@ -126,6 +136,10 @@ parameter_defaults:
126136
ip_address: 172.19.0.105
127137
ip_address_uri: 172.19.0.105
128138
ip_subnet: 172.19.0.0/24
139+
external:
140+
ip_address: 172.21.0.105
141+
ip_address_uri: 172.21.0.105
142+
ip_subnet: 172.21.0.0/24
129143
compute-0:
130144
ctlplane:
131145
ip_address: 192.168.122.106
@@ -147,6 +161,10 @@ parameter_defaults:
147161
ip_address: 172.19.0.106
148162
ip_address_uri: 172.19.0.106
149163
ip_subnet: 172.19.0.0/24
164+
external:
165+
ip_address: 172.21.0.106
166+
ip_address_uri: 172.21.0.106
167+
ip_subnet: 172.21.0.0/24
150168
compute-1:
151169
ctlplane:
152170
ip_address: 192.168.122.107
@@ -168,6 +186,10 @@ parameter_defaults:
168186
ip_address: 172.19.0.107
169187
ip_address_uri: 172.19.0.107
170188
ip_subnet: 172.19.0.0/24
189+
external:
190+
ip_address: 172.21.0.107
191+
ip_address_uri: 172.21.0.107
192+
ip_subnet: 172.21.0.0/24
171193
compute-2:
172194
ctlplane:
173195
ip_address: 192.168.122.108
@@ -189,6 +211,10 @@ parameter_defaults:
189211
ip_address: 172.19.0.108
190212
ip_address_uri: 172.19.0.108
191213
ip_subnet: 172.19.0.0/24
214+
external:
215+
ip_address: 172.21.0.108
216+
ip_address_uri: 172.21.0.108
217+
ip_subnet: 172.21.0.0/24
192218
CtlplaneNetworkAttributes:
193219
network:
194220
dns_domain: {{ cloud_domain }}
@@ -199,8 +225,15 @@ parameter_defaults:
199225
subnets:
200226
ctlplane-subnet:
201227
cidr: 192.168.122.0/24
202-
dns_nameservers: 192.168.122.10
203-
gateway_ip: 192.168.122.10
228+
dns_nameservers: [{{ dns_server }}, 192.168.122.1]
229+
gateway_ip: {{ gateway_ip }}
230+
{% if manage_default_route|bool %}
231+
host_routes:
232+
- ip_netmask: 0.0.0.0/0
233+
next_hop: 192.168.122.1
234+
default: true
235+
{% else %}
204236
host_routes: []
237+
{% endif %}
205238
ip_version: 4
206239
name: ctlplane-subnet

devsetup/tripleo/overcloud_services.yaml.j2

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -51,15 +51,15 @@ parameter_defaults:
5151
CloudNameStorageManagement: overcloud.storagemgmt.{{ cloud_domain }}
5252
CloudNameCtlplane: overcloud.ctlplane.{{ cloud_domain }}
5353
CloudDomain: {{ cloud_domain }}
54-
NetworkConfigWithAnsible: false
55-
ControllerNetworkConfigUpdate: false
56-
ComputeNetworkConfigUpdate: false
57-
BlockStorageNetworkConfigUpdate: false
58-
ObjectStorageNetworkConfigUpdate: false
59-
CephStorageNetworkConfigUpdate: false
60-
NetworkerNetworkConfigUpdate: false
61-
CellControllerNetworkConfigUpdate: false
62-
CellControllerComputeNetworkConfigUpdate: false
54+
NetworkConfigWithAnsible: {{ tripleo_networking }}
55+
ControllerNetworkConfigUpdate: {{ tripleo_networking }}
56+
ComputeNetworkConfigUpdate: {{ tripleo_networking }}
57+
BlockStorageNetworkConfigUpdate: {{ tripleo_networking }}
58+
ObjectStorageNetworkConfigUpdate: {{ tripleo_networking }}
59+
CephStorageNetworkConfigUpdate: {{ tripleo_networking }}
60+
NetworkerNetworkConfigUpdate: {{ tripleo_networking }}
61+
CellControllerNetworkConfigUpdate: {{ tripleo_networking }}
62+
CellControllerComputeNetworkConfigUpdate: {{ tripleo_networking }}
6363

6464
ControllerNetworkConfigTemplate: templates/single_nic_vlans/single_nic_vlans.j2
6565
ComputeNetworkConfigTemplate: templates/single_nic_vlans/single_nic_vlans.j2

devsetup/tripleo/tripleo_install.sh

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ for config_download in ${cdfiles[@]}; do
128128
stg_mgmt_line="OS::TripleO::ComputeHCI::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage_mgmt.yaml"
129129
sed -i "s#$stg_line#$stg_line\r $stg_mgmt_line\r#" $config_download
130130
# correct RoleCount var in overcloud_services
131-
sed -i "s/ComputeCount/ComputeHCICount/" overcloud_services.yaml
131+
sed -i -r "s/\bComputeCount(.*)$/ComputeHCICount\1\n ComputeCount: 0/g" overcloud_services.yaml
132132
fi
133133
# Remove any quotes e.g. "np10002"-ctlplane -> np10002-ctlplane
134134
sed -i 's/\"//g' "$config_download"
@@ -156,14 +156,20 @@ fi
156156

157157
# defaults for non-ceph case
158158
CEPH_OVERCLOUD_ARGS=""
159-
ROLES_FILE="/home/zuul/overcloud_roles.yaml"
159+
export ROLES_FILE="/home/zuul/overcloud_roles.yaml"
160160
if [ "$EDPM_COMPUTE_CEPH_ENABLED" = "true" ] ; then
161161
CEPH_OVERCLOUD_ARGS="${CEPH_ARGS}"
162162
[[ "$MANILA_ENABLED" == "true" ]] && CEPH_OVERCLOUD_ARGS+=' -e /usr/share/openstack-tripleo-heat-templates/environments/cephadm/ceph-mds.yaml'
163-
ROLES_FILE="/home/zuul/roles.yaml"
164163
/tmp/ceph.sh
165164
fi
166165

166+
if [ "$TRIPLEO_ATTACH_EXTNET" = "false" ]; then
167+
# disable external gateway for all roles
168+
sed -i "s/default_route_networks: \['External'\]/default_route_networks: \['ControlPlane'\]/" $ROLES_FILE
169+
sed -i "/External:/d" $ROLES_FILE
170+
sed -i "/subnet: external_subnet/d" $ROLES_FILE
171+
fi
172+
167173
if [ "$TLSE_ENABLED" = "true" ]; then
168174
ENV_ARGS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/ssl/tls-everywhere-endpoints-dns.yaml"
169175
ENV_ARGS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/services/haproxy-public-tls-certmonger.yaml"

0 commit comments

Comments
 (0)