Skip to content

Commit

Permalink
tripleo: split network config control flags
Browse files Browse the repository at this point in the history
Add granular tripleo netconfig control flags

In local multi-cell setups, we use tripleo netconfig for cell stacks.
Extend it to the main stack as well.

In today multi-node CI we keep it disabled, so this
addition doesn't change the status quo.

Add a flag to managing tripleo default routes. This is
only used with tripleo dev setups, but may be extended to edpm dev
envs if needed.

Align the config download templates to use them consistently

Signed-off-by: Bohdan Dobrelia <[email protected]>
  • Loading branch information
bogdando committed Nov 6, 2024
1 parent 449712d commit 17fc192
Show file tree
Hide file tree
Showing 6 changed files with 60 additions and 17 deletions.
2 changes: 2 additions & 0 deletions devsetup/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ EDPM_COMPUTE_CEPH_ENABLED ?= true
EDPM_COMPUTE_CELLS ?= 1
EDPM_COMPUTE_CEPH_NOVA ?= true
EDPM_CONFIGURE_NETWORKING ?= true
EDPM_CONFIGURE_DEFAULT_ROUTE ?= true
EDPM_COMPUTE_SRIOV_ENABLED ?= true
EDPM_COMPUTE_DHCP_AGENT_ENABLED ?= true
EDPM_TOTAL_NETWORKERS ?= 1
Expand Down Expand Up @@ -482,6 +483,7 @@ tripleo_deploy: export REGISTRY_PWD ?= ${RH_REGISTRY_PWD}
tripleo_deploy: export COMPUTE_CEPH_ENABLED=${EDPM_COMPUTE_CEPH_ENABLED}
tripleo_deploy: export COMPUTE_CEPH_NOVA=${EDPM_COMPUTE_CEPH_NOVA}
tripleo_deploy: export TRIPLEO_NETWORKING=${EDPM_CONFIGURE_NETWORKING}
tripleo_deploy: export TRIPLEO_CONFIGURE_DEFAULT_ROUTE=${EDPM_CONFIGURE_DEFAULT_ROUTE}
tripleo_deploy:
$(eval $(call vars))
scripts/tripleo.sh
Expand Down
6 changes: 5 additions & 1 deletion devsetup/scripts/tripleo.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ REPO_SETUP_CMDS=${REPO_SETUP_CMDS:-"${MY_TMP_DIR}/standalone_repos"}
CMDS_FILE=${CMDS_FILE:-"${MY_TMP_DIR}/standalone_cmds"}
SKIP_TRIPLEO_REPOS=${SKIP_TRIPLEO_REPOS:="false"}
TRIPLEO_NETWORKING=${TRIPLEO_NETWORKING:-true}
TRIPLEO_CONFIGURE_DEFAULT_ROUTE=${TRIPLEO_CONFIGURE_DEFAULT_ROUTE:=true}
MANILA_ENABLED=${MANILA_ENABLED:-true}
OCTAVIA_ENABLED=${OCTAVIA_ENABLED:-false}
TELEMETRY_ENABLED=${TELEMETRY_ENABLED:-true}
Expand Down Expand Up @@ -97,6 +98,8 @@ export OCTAVIA_ENABLED=${OCTAVIA_ENABLED}
export TELEMETRY_ENABLED=${TELEMETRY_ENABLED:-true}
export TLSE_ENABLED=${TLSE_ENABLED:-false}
export CLOUD_DOMAIN=${CLOUD_DOMAIN:-localdomain}
export TRIPLEO_NETWORKING=${TRIPLEO_NETWORKING:-true}
export TRIPLEO_CONFIGURE_DEFAULT_ROUTE=${TRIPLEO_CONFIGURE_DEFAULT_ROUTE:-true}
set +x
if [ ! -f \$HOME/containers-prepare-parameters.yaml ]; then
Expand Down Expand Up @@ -164,7 +167,8 @@ ip_address_suffix: ${IP_ADRESS_SUFFIX}
interface_mtu: ${INTERFACE_MTU:-1500}
ntp_server: ${NTP_SERVER}
gateway_ip: ${GATEWAY}
manage_default_route: ${TRIPLEO_NETWORKING}
manage_default_route: ${TRIPLEO_CONFIGURE_DEFAULT_ROUTE}
tripleo_networking: ${TRIPLEO_NETWORKING}
dns_server: ${PRIMARY_RESOLV_CONF_ENTRY}
user_home: /home/zuul
cloud_domain: ${CLOUD_DOMAIN}
Expand Down
10 changes: 7 additions & 3 deletions devsetup/tripleo/config-download-multistack.j2
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,21 @@ resource_registry:
OS::TripleO::Compute::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage_mgmt.yaml
OS::TripleO::Compute::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage.yaml
OS::TripleO::Compute::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_tenant.yaml
OS::TripleO::Compute::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_external.yaml
OS::TripleO::Controller::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_internal_api.yaml
OS::TripleO::Controller::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage_mgmt.yaml
OS::TripleO::Controller::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage.yaml
OS::TripleO::Controller::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_tenant.yaml
OS::TripleO::Controller::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_external.yaml
OS::TripleO::CellController::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_internal_api.yaml
OS::TripleO::CellController::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage_mgmt.yaml
OS::TripleO::CellController::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage.yaml
OS::TripleO::CellController::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_tenant.yaml
OS::TripleO::CellController::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_external.yaml
OS::TripleO::CellControllerCompute::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_internal_api.yaml
OS::TripleO::CellControllerCompute::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage_mgmt.yaml
OS::TripleO::CellControllerCompute::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage.yaml
OS::TripleO::CellControllerCompute::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_tenant.yaml
OS::TripleO::Compute::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_external.yaml
OS::TripleO::Controller::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_external.yaml
OS::TripleO::CellController::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_external.yaml
OS::TripleO::CellControllerCompute::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_external.yaml
parameter_defaults:
DeployedServerPortMap:
Expand Down Expand Up @@ -174,9 +174,13 @@ parameter_defaults:
cidr: 192.168.122.0/24
dns_nameservers: [{{ dns_server }}, 192.168.122.1]
gateway_ip: {{ gateway_ip }}
{% if manage_default_route|bool %}
host_routes:
- ip_netmask: 0.0.0.0/0
next_hop: 192.168.122.1
default: true
{% else %}
host_routes: []
{% endif %}
ip_version: 4
name: ctlplane-subnet
39 changes: 36 additions & 3 deletions devsetup/tripleo/config-download.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,15 @@ resource_registry:
OS::TripleO::OVNMacAddressNetwork: OS::Heat::None
OS::TripleO::OVNMacAddressPort: OS::Heat::None
OS::TripleO::Compute::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_internal_api.yaml
OS::TripleO::Compute::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage_mgmt.yaml
OS::TripleO::Compute::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage.yaml
OS::TripleO::Compute::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_tenant.yaml
OS::TripleO::Controller::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_external.yaml
OS::TripleO::Controller::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_internal_api.yaml
OS::TripleO::Controller::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage_mgmt.yaml
OS::TripleO::Controller::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage.yaml
OS::TripleO::Controller::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_tenant.yaml
OS::TripleO::Compute::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_external.yaml
OS::TripleO::Controller::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_external.yaml
parameter_defaults:
DeployedServerPortMap:
controller-0-ctlplane:
Expand Down Expand Up @@ -84,6 +86,10 @@ parameter_defaults:
ip_address: 172.19.0.103
ip_address_uri: 172.19.0.103
ip_subnet: 172.19.0.0/24
external:
ip_address: 172.21.0.103
ip_address_uri: 172.21.0.103
ip_subnet: 172.21.0.0/24
controller-1:
ctlplane:
ip_address: 192.168.122.104
Expand All @@ -105,6 +111,10 @@ parameter_defaults:
ip_address: 172.19.0.104
ip_address_uri: 172.19.0.104
ip_subnet: 172.19.0.0/24
external:
ip_address: 172.21.0.104
ip_address_uri: 172.21.0.104
ip_subnet: 172.21.0.0/24
controller-2:
ctlplane:
ip_address: 192.168.122.105
Expand All @@ -126,6 +136,10 @@ parameter_defaults:
ip_address: 172.19.0.105
ip_address_uri: 172.19.0.105
ip_subnet: 172.19.0.0/24
external:
ip_address: 172.21.0.105
ip_address_uri: 172.21.0.105
ip_subnet: 172.21.0.0/24
compute-0:
ctlplane:
ip_address: 192.168.122.106
Expand All @@ -147,6 +161,10 @@ parameter_defaults:
ip_address: 172.19.0.106
ip_address_uri: 172.19.0.106
ip_subnet: 172.19.0.0/24
external:
ip_address: 172.21.0.106
ip_address_uri: 172.21.0.106
ip_subnet: 172.21.0.0/24
compute-1:
ctlplane:
ip_address: 192.168.122.107
Expand All @@ -168,6 +186,10 @@ parameter_defaults:
ip_address: 172.19.0.107
ip_address_uri: 172.19.0.107
ip_subnet: 172.19.0.0/24
external:
ip_address: 172.21.0.107
ip_address_uri: 172.21.0.107
ip_subnet: 172.21.0.0/24
compute-2:
ctlplane:
ip_address: 192.168.122.108
Expand All @@ -189,6 +211,10 @@ parameter_defaults:
ip_address: 172.19.0.108
ip_address_uri: 172.19.0.108
ip_subnet: 172.19.0.0/24
external:
ip_address: 172.21.0.108
ip_address_uri: 172.21.0.108
ip_subnet: 172.21.0.0/24
CtlplaneNetworkAttributes:
network:
dns_domain: {{ cloud_domain }}
Expand All @@ -199,8 +225,15 @@ parameter_defaults:
subnets:
ctlplane-subnet:
cidr: 192.168.122.0/24
dns_nameservers: 192.168.122.10
gateway_ip: 192.168.122.10
dns_nameservers: [{{ dns_server }}, 192.168.122.1]
gateway_ip: {{ gateway_ip }}
{% if manage_default_route|bool %}
host_routes:
- ip_netmask: 0.0.0.0/0
next_hop: 192.168.122.1
default: true
{% else %}
host_routes: []
{% endif %}
ip_version: 4
name: ctlplane-subnet
18 changes: 9 additions & 9 deletions devsetup/tripleo/overcloud_services.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -51,15 +51,15 @@ parameter_defaults:
CloudNameStorageManagement: overcloud.storagemgmt.{{ cloud_domain }}
CloudNameCtlplane: overcloud.ctlplane.{{ cloud_domain }}
CloudDomain: {{ cloud_domain }}
NetworkConfigWithAnsible: false
ControllerNetworkConfigUpdate: false
ComputeNetworkConfigUpdate: false
BlockStorageNetworkConfigUpdate: false
ObjectStorageNetworkConfigUpdate: false
CephStorageNetworkConfigUpdate: false
NetworkerNetworkConfigUpdate: false
CellControllerNetworkConfigUpdate: false
CellControllerComputeNetworkConfigUpdate: false
NetworkConfigWithAnsible: {{ tripleo_networking }}
ControllerNetworkConfigUpdate: {{ tripleo_networking }}
ComputeNetworkConfigUpdate: {{ tripleo_networking }}
BlockStorageNetworkConfigUpdate: {{ tripleo_networking }}
ObjectStorageNetworkConfigUpdate: {{ tripleo_networking }}
CephStorageNetworkConfigUpdate: {{ tripleo_networking }}
NetworkerNetworkConfigUpdate: {{ tripleo_networking }}
CellControllerNetworkConfigUpdate: {{ tripleo_networking }}
CellControllerComputeNetworkConfigUpdate: {{ tripleo_networking }}

ControllerNetworkConfigTemplate: templates/single_nic_vlans/single_nic_vlans.j2
ComputeNetworkConfigTemplate: templates/single_nic_vlans/single_nic_vlans.j2
Expand Down
2 changes: 1 addition & 1 deletion devsetup/tripleo/tripleo_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ for config_download in ${cdfiles[@]}; do
stg_mgmt_line="OS::TripleO::ComputeHCI::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage_mgmt.yaml"
sed -i "s#$stg_line#$stg_line\r $stg_mgmt_line\r#" $config_download
# correct RoleCount var in overcloud_services
sed -i "s/ComputeCount/ComputeHCICount/" overcloud_services.yaml
sed -i -r "s/\bComputeCount(.*)$/ComputeHCICount\1\n ComputeCount: 0/g" overcloud_services.yaml
fi
# Remove any quotes e.g. "np10002"-ctlplane -> np10002-ctlplane
sed -i 's/\"//g' "$config_download"
Expand Down

0 comments on commit 17fc192

Please sign in to comment.