Merge "Reduce pxeboot addresses for AIO-SX"

This commit is contained in:
Zuul
2025-08-27 14:39:06 +00:00
committed by Gerrit Code Review
8 changed files with 27 additions and 7 deletions

View File

@@ -20,6 +20,7 @@ prev_docker_https_proxy: {{ docker_https_proxy }}
prev_docker_no_proxy: {{ docker_no_proxy | sort | join(',') }}
prev_pxeboot_start_address: {{ pxeboot_start_address }}
prev_pxeboot_end_address: {{ pxeboot_end_address }}
prev_pxeboot_floating_address: {{ pxeboot_floating_address }}
prev_management_start_address: {{ management_start_address }}
prev_management_end_address: {{ management_end_address }}
prev_management_floating_address: {{ management_floating_address }}

View File

@@ -569,6 +569,8 @@ def populate_pxeboot_network(client):
'PXEBOOT_START_ADDRESS')
end_address = CONF.get('BOOTSTRAP_CONFIG',
'PXEBOOT_END_ADDRESS')
floating_address = CONF.get('BOOTSTRAP_CONFIG',
'PXEBOOT_FLOATING_ADDRESS')
network_name = 'pxeboot'
addrpool_name = 'pxeboot'
@@ -585,6 +587,10 @@ def populate_pxeboot_network(client):
'prefix': pxeboot_subnet.prefixlen,
'ranges': [(start_address, end_address)],
}
if (floating_address != 'undef'):
values.update({
'floating_address': floating_address,
})
pool = create_addrpool(client, values)
# create the network for the pool

View File

@@ -11,6 +11,7 @@ NAMESERVERS={{ dns_servers | join(',') }}
PXEBOOT_SUBNET={{ pxeboot_subnet }}
PXEBOOT_START_ADDRESS={{ address_pairs['pxeboot']['start'] }}
PXEBOOT_END_ADDRESS={{ address_pairs['pxeboot']['end'] }}
PXEBOOT_FLOATING_ADDRESS={{ address_pairs['pxeboot']['floating'] }}
MANAGEMENT_SUBNET={{ address_pairs['management']['subnet'] }}
MANAGEMENT_START_ADDRESS={{ address_pairs['management']['start'] }}
MANAGEMENT_END_ADDRESS={{ address_pairs['management']['end'] }}

View File

@@ -99,6 +99,7 @@
- name: Set initial address facts if not defined. They will be updated later
set_fact:
pxeboot_floating_address: "{{ pxeboot_floating_address | default('derived') }}"
pxeboot_start_address: "{{ pxeboot_start_address | default('derived') }}"
pxeboot_end_address: "{{ pxeboot_end_address | default('derived') }}"
management_floating_address: "{{ management_floating_address | default('derived') }}"

View File

@@ -476,6 +476,7 @@
set_fact:
default_pxeboot_start_address: "{{ (pxeboot_subnet | ipaddr(1)).split('/')[0] }}"
default_pxeboot_end_address: "{{ (pxeboot_subnet | ipaddr(-2)).split('/')[0] }}"
default_pxeboot_floating_address: "{{ (pxeboot_subnet | ipaddr(1)).split('/')[0] }}"
# The provided subnets have passed validation, set the primary default addresses
# based on the primary subnet values
@@ -611,6 +612,9 @@
end:
"{{ pxeboot_end_address if pxeboot_end_address != 'derived'
else default_pxeboot_end_address }}"
floating:
"{{ pxeboot_floating_address if pxeboot_floating_address != 'derived'
else default_pxeboot_floating_address }}"
subnet: "{{ network_params.pxeboot_subnet }}"
management:
start:
@@ -828,7 +832,7 @@
# Not sure why ipaddr('address') and ipsubnet filter did not extract
# the IP from CIDR input. Resort to string split for now.
controller_floating_address: "{{ address_pairs['management']['floating'] }}"
controller_pxeboot_floating_address: "{{ address_pairs['pxeboot']['start'] }}"
controller_pxeboot_floating_address: "{{ address_pairs['pxeboot']['floating'] }}"
cluster_floating_address: "{{ address_pairs['cluster_host']['floating'] }}"
- name: Set subcloud admin floating address
@@ -871,8 +875,12 @@
'controller_1_address': "{{ controller_floating_address|ipmath(2)
if system_mode != 'simplex'
else controller_floating_address }}"
'controller_pxeboot_address_0': "{{ controller_pxeboot_floating_address|ipmath(1) }}"
'controller_pxeboot_address_1': "{{ controller_pxeboot_floating_address|ipmath(2) }}"
'controller_pxeboot_address_0': "{{ controller_pxeboot_floating_address|ipmath(1)
if system_mode != 'simplex'
else controller_pxeboot_floating_address }}"
'controller_pxeboot_address_1': "{{ controller_pxeboot_floating_address|ipmath(2)
if system_mode != 'simplex'
else controller_pxeboot_floating_address }}"
'controller_admin_floating_address': "{{ admin_start_address }}"
# Make common facts available to other roles

View File

@@ -1,6 +1,6 @@
---
#
# Copyright (c) 2019, 2022 Wind River Systems, Inc.
# Copyright (c) 2019, 2025 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
@@ -33,7 +33,7 @@
end = IPAddress("{{ end_addr }}")
subnet = IPNetwork("{{ subnet }}")
start_end_equal_allowed = ['admin','management','cluster_host']
start_end_equal_allowed = ['admin','management','cluster_host','pxeboot']
if not start < end:
if "{{ network }}" in start_end_equal_allowed and not start == end:
@@ -53,7 +53,7 @@
min_subnet_sizes = {
'cluster_pod': 65536,
'cluster_service': 65536,
'pxeboot': 5,
'pxeboot': min_size,
'multicast': 6,
'management': min_size,
'cluster_host': min_size,

View File

@@ -45,7 +45,9 @@
# our list of already available internal addresses.
- name: Add missing controller IP addresses
command: "ip addr add {{ system_values[item] }} dev lo scope host"
when: system_values[item] not in all_addr_result.stdout_lines
when:
- system_values[item] not in all_addr_result.stdout_lines
- not (system_mode == 'simplex' and item == 'platform::network::pxeboot::params::controller0_address')
loop: "{{ network_address_keys }}"
- name: Start dnsmasq for internal FQDN

View File

@@ -28,6 +28,7 @@
set_fact:
pxeboot_start_address: "{{ pxeboot_start_address | default('derived') }}"
pxeboot_end_address: "{{ pxeboot_end_address | default('derived') }}"
pxeboot_floating_address: "{{ pxeboot_floating_address | default('derived') }}"
management_start_address: "{{ management_start_address | default('derived') }}"
management_end_address: "{{ management_end_address | default('derived') }}"
management_floating_address: "{{ management_floating_address | default('derived') }}"