Skip to content

Commit

Permalink
Merge pull request #818 from averdagu/feat/adoption-scenario-1-support
Browse files Browse the repository at this point in the history
Adding support for adoption scenario 1
  • Loading branch information
openshift-merge-bot[bot] authored Nov 14, 2024
2 parents eb679bc + 3b5f70d commit 9892d01
Show file tree
Hide file tree
Showing 10 changed files with 367 additions and 112 deletions.
29 changes: 29 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,16 @@ CLEANUP_DIR_CMD ?= rm -Rf
# be also cloned from OPENSTACK_REPO/OPENSTACK_BRANCH.
CHECKOUT_FROM_OPENSTACK_REF ?= false

NETWORK_INTERNALAPI_ADDRESS_PREFIX ?= 172.17.0
NETWORK_STORAGE_ADDRESS_PREFIX ?= 172.18.0
NETWORK_TENANT_ADDRESS_PREFIX ?= 172.19.0
NETWORK_STORAGEMGMT_ADDRESS_PREFIX ?= 172.20.0
NETWORK_DESIGNATE_ADDRESS_PREFIX ?= 172.28.0
INTERNALAPI_HOST_ROUTES ?=
STORAGE_HOST_ROUTES ?=
TENANT_HOST_ROUTES ?=
STORAGEMGMT_HOST_ROUTES ?=

# network isolation
NETWORK_ISOLATION ?= true
NETWORK_ISOLATION_USE_DEFAULT_NETWORK ?= true
Expand Down Expand Up @@ -2260,6 +2270,15 @@ nncp_with_retries: ## Deploy NNCP with retries
.PHONY: nncp
nncp: export INTERFACE=${NNCP_INTERFACE}
nncp: export BRIDGE_NAME=${NNCP_BRIDGE}
nncp: export INTERNALAPI_PREFIX=${NETWORK_INTERNALAPI_ADDRESS_PREFIX}
nncp: export NNCP_INTERNALAPI_HOST_ROUTES=${INTERNALAPI_HOST_ROUTES}
nncp: export STORAGE_PREFIX=${NETWORK_STORAGE_ADDRESS_PREFIX}
nncp: export NNCP_STORAGE_HOST_ROUTES=${STORAGE_HOST_ROUTES}
nncp: export STORAGEMGMT_PREFIX=${NETWORK_STORAGEMGMT_ADDRESS_PREFIX}
nncp: export NNCP_STORAGEMGMT_HOST_ROUTES=${STORAGEMGMT_HOST_ROUTES}
nncp: export TENANT_PREFIX=${NETWORK_TENANT_ADDRESS_PREFIX}
nncp: export NNCP_TENANT_HOST_ROUTES=${TENANT_HOST_ROUTES}
nncp: export DESIGNATE_PREFIX=${NETWORK_DESIGNATE_ADDRESS_PREFIX}
ifeq ($(NETWORK_BGP), true)
nncp: export BGP=enabled
nncp: export INTERFACE_BGP_1=${NNCP_BGP_1_INTERFACE}
Expand Down Expand Up @@ -2325,6 +2344,11 @@ netattach: export IPV6_ENABLED=true
netattach: export CTLPLANE_IPV6_ADDRESS_PREFIX=${NNCP_CTLPLANE_IPV6_ADDRESS_PREFIX}
netattach: export CTLPLANE_IPV6_ADDRESS_SUFFIX=${NNCP_CTLPLANE_IPV6_ADDRESS_SUFFIX}
endif
netattach: export INTERNALAPI_PREFIX=${NETWORK_INTERNALAPI_ADDRESS_PREFIX}
netattach: export STORAGE_PREFIX=${NETWORK_STORAGE_ADDRESS_PREFIX}
netattach: export STORAGEMGMT_PREFIX=${NETWORK_STORAGEMGMT_ADDRESS_PREFIX}
netattach: export TENANT_PREFIX=${NETWORK_TENANT_ADDRESS_PREFIX}
netattach: export DESIGNATE_PREFIX=${NETWORK_DESIGNATE_ADDRESS_PREFIX}
netattach: export VLAN_START=${NETWORK_VLAN_START}
netattach: export VLAN_STEP=${NETWORK_VLAN_STEP}
netattach: export CTLPLANE_IP_ADDRESS_PREFIX=${NNCP_CTLPLANE_IP_ADDRESS_PREFIX}
Expand Down Expand Up @@ -2374,6 +2398,11 @@ endif
metallb_config: export NAMESPACE=metallb-system
metallb_config: export CTLPLANE_METALLB_POOL=${METALLB_POOL}
metallb_config: export CTLPLANE_METALLB_IPV6_POOL=${METALLB_IPV6_POOL}
metallb_config: export INTERNALAPI_PREFIX=${NETWORK_INTERNALAPI_ADDRESS_PREFIX}
metallb_config: export STORAGE_PREFIX=${NETWORK_STORAGE_ADDRESS_PREFIX}
metallb_config: export STORAGEMGMT_PREFIX=${NETWORK_STORAGEMGMT_ADDRESS_PREFIX}
metallb_config: export TENANT_PREFIX=${NETWORK_TENANT_ADDRESS_PREFIX}
metallb_config: export DESIGNATE_PREFIX=${NETWORK_DESIGNATE_ADDRESS_PREFIX}
ifeq ($(NETWORK_ISOLATION_IPV4), true)
metallb_config: export IPV4_ENABLED=true
endif
Expand Down
31 changes: 31 additions & 0 deletions devsetup/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,17 @@ CRC_HTTPS_PROXY ?=
OCP_NETWORK_NAME ?=crc
NETWORK_ISOLATION_USE_DEFAULT_NETWORK ?= true

ADOPTED_INTERNALAPI_NETWORK ?= 172.17.1.0/24
ADOPTED_STORAGE_NETWORK ?= 172.18.1.0/24
ADOPTED_EXTERNAL_NETWORK ?= 172.21.1.0/24
ADOPTED_STORAGEMGMT_NETWORK ?= 172.20.1.0/24
ADOPTED_TENANT_NETWORK ?= 172.9.1.0/24
STANDALONE_INTERNALAPI_NET_PREFIX ?= 172.17.0
STANDALONE_STORAGE_NET_PREFIX ?= 172.18.0
STANDALONE_EXTERNAL_NET_PREFFIX ?= 172.21.0
STANDALONE_STORAGEMGMT_NET_PREFIX ?= 172.20.0
STANDALONE_TENANT_NET_PREFIX ?= 172.19.0

NETWORK_ISOLATION_MAC ?= 52:54:00:11:11:10
ifeq ($(NETWORK_ISOLATION_USE_DEFAULT_NETWORK), true)
NETWORK_ISOLATION_NET_NAME ?= default
Expand Down Expand Up @@ -486,6 +497,16 @@ tripleo_deploy: export COMPUTE_CEPH_NOVA=${EDPM_COMPUTE_CEPH_NOVA}
tripleo_deploy: export TRIPLEO_NETWORKING=${EDPM_CONFIGURE_NETWORKING}
tripleo_deploy: export TRIPLEO_ATTACH_EXTNET=${EDPM_ATTACH_EXTNET}
tripleo_deploy: export TRIPLEO_CONFIGURE_DEFAULT_ROUTE=${EDPM_CONFIGURE_DEFAULT_ROUTE}
tripleo_deploy: export NETWORK_INTERNAL_PREFIX = ${STANDALONE_INTERNALAPI_NET_PREFIX}
tripleo_deploy: export NETWORK_STORAGE_PREFIX = ${STANDALONE_STORAGE_NET_PREFIX}
tripleo_deploy: export NETWORK_STORAGE_MGMT_PREFIX = ${STANDALONE_STORAGEMGMT_NET_PREFIX}
tripleo_deploy: export NETWORK_TENANT_PREFIX = ${STANDALONE_TENANT_NET_PREFIX}
tripleo_deploy: export NETWORK_EXTERNAL_PREFFIX = ${STANDALONE_EXTERNAL_NET_PREFFIX}
tripleo_deploy: export ADOPTED_INTERNAL_NET = ${ADOPTED_INTERNALAPI_NETWORK}
tripleo_deploy: export ADOPTED_STORAGE_NET = ${ADOPTED_STORAGE_NETWORK}
tripleo_deploy: export ADOPTED_STORAGE_MGMT_NET = ${ADOPTED_STORAGEMGMT_NETWORK}
tripleo_deploy: export ADOPTED_TENANT_NET = ${ADOPTED_TENANT_NETWORK}
tripleo_deploy: export ADOPTED_EXTERNAL_NET = ${ADOPTED_EXTERNAL_NETWORK}
tripleo_deploy:
$(eval $(call vars))
scripts/tripleo.sh
Expand All @@ -504,6 +525,16 @@ standalone_deploy: export COMPUTE_DHCP_AGENT_ENABLED=${EDPM_COMPUTE_DHCP_AGENT_E
standalone_deploy: export STANDALONE=true
standalone_deploy: export INTERFACE_MTU=${NETWORK_MTU}
standalone_deploy: export EDPM_COMPUTE_NETWORK = ${NETWORK_ISOLATION_NET_NAME}
standalone_deploy: export NETWORK_INTERNAL_PREFIX = ${STANDALONE_INTERNALAPI_NET_PREFIX}
standalone_deploy: export NETWORK_STORAGE_PREFIX = ${STANDALONE_STORAGE_NET_PREFIX}
standalone_deploy: export NETWORK_STORAGE_MGMT_PREFIX = ${STANDALONE_STORAGEMGMT_NET_PREFIX}
standalone_deploy: export NETWORK_TENANT_PREFIX = ${STANDALONE_TENANT_NET_PREFIX}
standalone_deploy: export NETWORK_EXTERNAL_PREFFIX = ${STANDALONE_EXTERNAL_NET_PREFFIX}
standalone_deploy: export ADOPTED_INTERNAL_NET = ${ADOPTED_INTERNALAPI_NETWORK}
standalone_deploy: export ADOPTED_STORAGE_NET = ${ADOPTED_STORAGE_NETWORK}
standalone_deploy: export ADOPTED_STORAGE_MGMT_NET = ${ADOPTED_STORAGEMGMT_NETWORK}
standalone_deploy: export ADOPTED_TENANT_NET = ${ADOPTED_TENANT_NETWORK}
standalone_deploy: export ADOPTED_EXTERNAL_NET = ${ADOPTED_EXTERNAL_NETWORK}
standalone_deploy:
$(eval $(call vars))
scripts/standalone.sh ${EDPM_COMPUTE_SUFFIX} ${STANDALONE_COMPUTE_DRIVER} '${EDPM_COMPUTE_ADDITIONAL_NETWORKS}' '${EDPM_COMPUTE_ADDITIONAL_HOST_ROUTES}'
Expand Down
9 changes: 9 additions & 0 deletions devsetup/scripts/standalone.sh
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,15 @@ dns_server: ${PRIMARY_RESOLV_CONF_ENTRY}
compute_driver: ${COMPUTE_DRIVER}
sriov_agent: ${EDPM_COMPUTE_SRIOV_ENABLED}
dhcp_agent: ${EDPM_COMPUTE_DHCP_AGENT_ENABLED}
# Adoption related stuff
adopted_internal_net: ${ADOPTED_INTERNAL_NET}
adopted_storage_net: ${ADOPTED_STORAGE_NET}
adopted_storage_mgmt_net: ${ADOPTED_STORAGE_MGMT_NET}
adopted_tenant_net: ${ADOPTED_TENANT_NET}
standalone_internal_prefix: ${NETWORK_INTERNAL_PREFIX}
standalone_storage_prefix: ${NETWORK_STORAGE_PREFIX}
standalone_storage_mgmt_prefix: ${NETWORK_STORAGE_MGMT_PREFIX}
standalone_tenant_prefix: ${NETWORK_TENANT_PREFIX}
EOF

jinja2_render standalone/network_data.j2 "${J2_VARS_FILE}" > ${MY_TMP_DIR}/network_data.yaml
Expand Down
11 changes: 11 additions & 0 deletions devsetup/scripts/tripleo.sh
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,17 @@ tripleo_networking: ${TRIPLEO_NETWORKING}
dns_server: ${PRIMARY_RESOLV_CONF_ENTRY}
user_home: /home/zuul
cloud_domain: ${CLOUD_DOMAIN}
# Adoption related stuff
adopted_internal_net: ${ADOPTED_INTERNAL_NET}
adopted_storage_net: ${ADOPTED_STORAGE_NET}
adopted_storage_mgmt_net: ${ADOPTED_STORAGE_MGMT_NET}
adopted_tenant_net: ${ADOPTED_TENANT_NET}
adopted_external_net: ${ADOPTED_EXTERNAL_NET}
standalone_internal_prefix: ${NETWORK_INTERNAL_PREFIX}
standalone_storage_prefix: ${NETWORK_STORAGE_PREFIX}
standalone_storage_mgmt_prefix: ${NETWORK_STORAGE_MGMT_PREFIX}
standalone_tenant_prefix: ${NETWORK_TENANT_PREFIX}
standalone_external_prefix: ${NETWORK_EXTERNAL_PREFIX}
EOF

jinja2_render ${SCRIPTPATH}/../tripleo/undercloud.conf.j2 "${J2_VARS_FILE}" > ${MY_TMP_DIR}/undercloud.conf
Expand Down
38 changes: 31 additions & 7 deletions devsetup/standalone/net_config.j2
Original file line number Diff line number Diff line change
Expand Up @@ -42,32 +42,56 @@ network_config:
mtu: {{ interface_mtu }}
vlan_id: 20
addresses:
- ip_netmask: 172.17.0.{{ ip_address_suffix }}/24
- ip_netmask: 172.17.0.2/32
- ip_netmask: {{ standalone_internal_prefix | default("172.17.0", true) }}.{{ ip_address_suffix }}/24
- ip_netmask: {{ standalone_internal_prefix | default("172.17.0", true) }}.2/32
{% if adopted_internal_net|default %}
routes:
- ip_netmask: {{ adopted_internal_net }}
next_hop: {{ standalone_internal_prefix | default("172.17.0", true) }}.{{ ip_address_suffix }}
{% else %}
routes: []
{% endif %}
# storage
- type: vlan
mtu: {{ interface_mtu }}
vlan_id: 21
addresses:
- ip_netmask: 172.18.0.{{ ip_address_suffix }}/24
- ip_netmask: 172.18.0.2/32
- ip_netmask: {{ standalone_storage_prefix | default("172.18.0", true) }}.{{ ip_address_suffix }}/24
- ip_netmask: {{ standalone_storage_prefix | default("172.18.0", true) }}.2/32
{% if adopted_storage_net|default %}
routes:
- ip_netmask: {{ adopted_storage_net }}
next_hop: {{ standalone_storage_prefix | default("172.18.0", true) }}.{{ ip_address_suffix }}
{% else %}
routes: []
{% endif %}
# storage_mgmt
- type: vlan
mtu: {{ interface_mtu }}
vlan_id: 23
addresses:
- ip_netmask: 172.20.0.{{ ip_address_suffix }}/24
- ip_netmask: 172.20.0.2/32
- ip_netmask: {{ standalone_storage_mgmt_prefix | default("172.20.0", true) }}.{{ ip_address_suffix }}/24
- ip_netmask: {{ standalone_storage_mgmt_prefix | default("172.20.0", true) }}.2/32
{% if adopted_storage_mgmt_net|default %}
routes:
- ip_netmask: {{ adopted_storage_mgmt_net }}
next_hop: {{ standalone_storage_mgmt_prefix | default("172.20.0", true) }}.{{ ip_address_suffix }}
{% else %}
routes: []
{% endif %}
# tenant
- type: vlan
mtu: {{ interface_mtu }}
vlan_id: 22
addresses:
- ip_netmask: 172.19.0.{{ ip_address_suffix }}/24
- ip_netmask: {{ standalone_tenant_prefix | default("172.19.0", true) }}.{{ ip_address_suffix }}/24
{% if adopted_tenant_net|default %}
routes:
- ip_netmask: {{ adopted_tenant_net }}
next_hop: {{ standalone_tenant_prefix | default("172.19.0", true) }}.{{ ip_address_suffix }}
{% else %}
routes: []
{% endif %}
{%- for network in additional_networks if network.standalone_config %}
{%- set net = network.standalone_config %}
- type: {{ net.type }}
Expand Down
48 changes: 39 additions & 9 deletions devsetup/tripleo/net_config.j2
Original file line number Diff line number Diff line change
Expand Up @@ -33,37 +33,67 @@ network_config:
mtu: {{ interface_mtu }}
vlan_id: 44
addresses:
- ip_netmask: 172.21.0.{{ ip_address_suffix }}/24
- ip_netmask: 172.21.0.2/32
- ip_netmask: {{ standalone_external_prefix | default("172.21.0", true)}}.{{ ip_address_suffix }}/24
- ip_netmask: {{ standalone_external_prefix | default("172.21.0", true)}}.2/32
{% if adopted_external_net|default %}
routes:
- ip_netmask: {{ adopted_external_net }}
next_hop: {{ standalone_external_prefix | default("172.21.0", true) }}.{{ip_address_suffix}}
{% else %}
routes: []
{% endif %}
# internal
- type: vlan
mtu: {{ interface_mtu }}
vlan_id: 20
addresses:
- ip_netmask: 172.17.0.{{ ip_address_suffix }}/24
- ip_netmask: 172.17.0.2/32
- ip_netmask: {{ standalone_internal_prefix | default("172.17.0", true)}}.{{ ip_address_suffix }}/24
- ip_netmask: {{ standalone_internal_prefix | default("172.17.0", true)}}.2/32
{% if adopted_internal_net|default %}
routes:
- ip_netmask: {{ adopted_internal_net }}
next_hop: {{ standalone_internal_prefix | default("172.17.0", true) }}.{{ip_address_suffix}}
{% else %}
routes: []
{% endif %}
# storage
- type: vlan
mtu: {{ interface_mtu }}
vlan_id: 21
addresses:
- ip_netmask: 172.18.0.{{ ip_address_suffix }}/24
- ip_netmask: 172.18.0.2/32
- ip_netmask: {{ standalone_storage_prefix | default("172.18.0", true) }}.{{ ip_address_suffix }}/24
- ip_netmask: {{ standalone_storage_prefix | default("172.18.0", true) }}.2/32
{% if adopted_storage_net|default %}
routes:
- ip_netmask: {{ adopted_storage_net }}
next_hop: {{ standalone_storage_prefix | default("172.18.0", true) }}.{{ ip_address_suffix }}
{% else %}
routes: []
{% endif %}
# storage_mgmt
- type: vlan
mtu: {{ interface_mtu }}
vlan_id: 23
addresses:
- ip_netmask: 172.20.0.{{ ip_address_suffix }}/24
- ip_netmask: 172.20.0.2/32
- ip_netmask: {{ standalone_storage_mgmt_prefix | default("172.20.0", true) }}.{{ ip_address_suffix }}/24
- ip_netmask: {{ standalone_storage_mgmt_prefix | default("172.20.0", true) }}.2/32
{% if adopted_storage_mgmt_net|default %}
routes:
- ip_netmask: {{ adopted_storage_mgmt_net }}
next_hop: {{ standalone_storage_mgmt_prefix | default("172.20.0", true) }}.{{ ip_address_suffix }}
{% else %}
routes: []
{% endif %}
# tenant
- type: vlan
mtu: {{ interface_mtu }}
vlan_id: 22
addresses:
- ip_netmask: 172.19.0.{{ ip_address_suffix }}/24
- ip_netmask: {{ standalone_tenant_prefix | default("172.19.0", true) }}.{{ ip_address_suffix }}/24
{% if adopted_tenant_net|default %}
routes:
- ip_netmask: {{ adopted_tenant_net }}
next_hop: {{ standalone_tenant_prefix | default("172.19.0", true) }}.{{ ip_address_suffix }}
{% else %}
routes: []
{% endif %}
86 changes: 86 additions & 0 deletions devsetup/tripleo/overcloud_net_config_scenario_a.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
#jinja2: trim_blocks:False
network_config:
- type: ovs_bridge
name: br-ex
mtu: {{ interface_mtu }}
use_dhcp: false
dns_servers:
{% if dns_server %}
- {{ dns_server }}
{% endif %}
- {{ gateway_ip }}
domain: []
addresses:
- ip_netmask: {{ ctlplane_ip }}/{{ ctlplane_cidr }}
routes: []
members:
- type: interface
name: {{ os_net_config_iface | default(nic1) }}
mtu: {{ interface_mtu }}
# force the MAC address of the bridge to this interface
primary: true
# external
- type: vlan
mtu: {{ interface_mtu }}
vlan_id: 44
addresses:
- ip_netmask: {{ standalone_external_prefix | default("172.21.0", true)}}.{{ ip_address_suffix }}/24
{% if adopted_external_net|default %}
routes:
- ip_netmask: {{ adopted_external_net }}
next_hop: {{ standalone_external_prefix | default("172.21.0", true) }}.{{ip_address_suffix}}
{% else %}
routes: []
{% endif %}
# internal
- type: vlan
mtu: {{ interface_mtu }}
vlan_id: 20
addresses:
- ip_netmask: {{ standalone_internal_prefix | default("172.17.0", true)}}.{{ ip_address_suffix }}/24
{% if adopted_internal_net|default %}
routes:
- ip_netmask: {{ adopted_internal_net }}
next_hop: {{ standalone_internal_prefix | default("172.17.0", true) }}.{{ip_address_suffix}}
{% else %}
routes: []
{% endif %}
# storage
- type: vlan
mtu: {{ interface_mtu }}
vlan_id: 21
addresses:
- ip_netmask: {{ standalone_storage_prefix | default("172.18.0", true) }}.{{ ip_address_suffix }}/24
{% if adopted_storage_net|default %}
routes:
- ip_netmask: {{ adopted_storage_net }}
next_hop: {{ standalone_storage_prefix | default("172.18.0", true) }}.{{ ip_address_suffix }}
{% else %}
routes: []
{% endif %}
# storage_mgmt
- type: vlan
mtu: {{ interface_mtu }}
vlan_id: 23
addresses:
- ip_netmask: {{ standalone_storage_mgmt_prefix | default("172.20.0", true) }}.{{ ip_address_suffix }}/24
{% if adopted_storage_mgmt_net|default %}
routes:
- ip_netmask: {{ adopted_storage_mgmt_net }}
next_hop: {{ standalone_storage_mgmt_prefix | default("172.20.0", true) }}.{{ ip_address_suffix }}
{% else %}
routes: []
{% endif %}
# tenant
- type: vlan
mtu: {{ interface_mtu }}
vlan_id: 22
addresses:
- ip_netmask: {{ standalone_tenant_prefix | default("172.19.0", true) }}.{{ ip_address_suffix }}/24
{% if adopted_tenant_net|default %}
routes:
- ip_netmask: {{ adopted_tenant_net }}
next_hop: {{ standalone_tenant_prefix | default("172.19.0", true) }}.{{ ip_address_suffix }}
{% else %}
routes: []
{% endif %}
6 changes: 3 additions & 3 deletions scripts/gen-metallb-config.sh
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ spec:
EOF_CAT
if [ -n "$IPV4_ENABLED" ]; then
cat >> ${DEPLOY_DIR}/ipaddresspools.yaml <<EOF_CAT
- 172.17.0.80-172.17.0.90
- ${INTERNALAPI_PREFIX}.80-${INTERNALAPI_PREFIX}.90
EOF_CAT
fi
if [ -n "$IPV6_ENABLED" ]; then
Expand All @@ -112,7 +112,7 @@ spec:
EOF_CAT
if [ -n "$IPV4_ENABLED" ]; then
cat >> ${DEPLOY_DIR}/ipaddresspools.yaml <<EOF_CAT
- 172.18.0.80-172.18.0.90
- ${STORAGE_PREFIX}.80-${STORAGE_PREFIX}.90
EOF_CAT
fi
if [ -n "$IPV6_ENABLED" ]; then
Expand All @@ -132,7 +132,7 @@ spec:
EOF_CAT
if [ -n "$IPV4_ENABLED" ]; then
cat >> ${DEPLOY_DIR}/ipaddresspools.yaml <<EOF_CAT
- 172.19.0.80-172.19.0.90
- ${TENANT_PREFIX}.80-${TENANT_PREFIX}.90
EOF_CAT
fi
if [ -n "$IPV6_ENABLED" ]; then
Expand Down
Loading

0 comments on commit 9892d01

Please sign in to comment.