A daemonset overrides template generates a separate
daemonset and configuration secret for each host, even when
configurations are identical. This approach leads to unnecessary
resource consumption and complexity.
This adds support for specifying multiple hosts for a single daemonset
in conf.overrides.neutron_dhcp-agent.hosts[].name as shown below:
overrides:
neutron_dhcp-agent:
hosts:
- conf:
plugins:
openvswitch_agent:
agent: {}
ovs:
bridge_mappings: group0-data0:br-phy0,group0-data0b:br-phy0,group0-data1:br-phy0,group0-ext0:br-phy0,
datapath_type: system
integration_bridge: br-int
vhostuser_socket_dir: /var/run/openvswitch
sriov_agent:
agent:
root_helper: ''
securitygroup:
firewall_driver: noop
sriov_nic:
physical_device_mappings: ''
name:
- compute-0
- compute-1
- compute-2
In one of the tests, the size reduced from 383044 to 267788 bytes (~30%
less).
Before the change:
[sysadmin@controller-0 ~(keystone_admin)]$ kubectl describe secret sh.helm.release.v1.osh-openstack-neutron.v1 -n openstack
Name: sh.helm.release.v1.osh-openstack-neutron.v1
Namespace: openstack
Labels: modifiedAt=1735071637
name=osh-openstack-neutron
owner=helm
status=deployed
version=1
Annotations: <none>Type: helm.sh/release.v1Data
====
release: 383044 byte
After the change:
[sysadmin@controller-0 ~(keystone_admin)]$ kubectl describe secret sh.helm.release.v1.osh-openstack-neutron.v1 -n openstack
Name: sh.helm.release.v1.osh-openstack-neutron.v1
Namespace: openstack
Labels: modifiedAt=1735049803
name=osh-openstack-neutron
owner=helm
status=deployed
version=1
Annotations: <none>Type: helm.sh/release.v1Data
====
release: 267788 bytes
The reduction can be bigger as the number of hosts with the same
configurations increase.
Test Plan:
PASS: build-pkg -c -l openstack
PASS: build openstack tarball
PASS: Upload and Apply openstack tarball on standard system
PASS: Check grouping of Neutron overrides
PASS: Check size reduction in Neutron release secret
PASS: Launch 3x Guest instances (tis-centos-guest VMs)
PASS: Access instances through a remote console
PASS: Ping instances from remote console (all to all)
PASS: Ping instances from external server in the management network
Task: 51436
Story: 2011304
Change-Id: Ib9f41d9c9578d9340299b6438309b24826fce805
Signed-off-by: Daniel Bolgheroni <Daniel.Bolgheroni@windriver.com>
This repo is for https://github.com/openstack/openstack-helm-infra
Changes to this repo are needed for StarlingX and those changes are not yet merged. Rather than clone and diverge the repo, the repo is extracted at a particular git SHA, and patches are applied on top.
As those patches are merged, the SHA can be updated and the local patches removed.