openstack-armada-app/python3-k8sapp-openstack
vrochalo 72be7336c9 Cluster host overrides with same configurations
The issue of having a config profile for each
compute of each neutron agent is that each
profile holds the information of the specific
compute node even if there are compute nodes
with the same config.

As the number of compute nodes increase,
the size of the overrides for neutron increases
as well. This results in a big increase in the
size of the neutron overrides.

The goal is to have StarlingX Openstack fully
functional and with a better scalability after
changing the way of how the config profiles to
each compute node is generated on neutron by
grouping computes with the same profile
per agent.

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:

           :: :: ::
           :: :: ::
           :: :: ::

         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:

$ 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:

$ 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:  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

Story: 2011304
Task: 51435

[1]: https://storyboard.openstack.org/#!/story/2011304 (TASK 51436)

Change-Id: I0344b7939932d91f7c23935a8e5a52cb6e3af62a
Signed-off-by: vrochalo <vinicius.rochalobo@windriver.com>
2024-12-27 18:52:09 +00:00
..
debian Standardize app configs (re-submission) 2023-02-24 18:19:38 +00:00
k8sapp_openstack Cluster host overrides with same configurations 2024-12-27 18:52:09 +00:00