This task aims to change the IP acquisition method for Nova compute
pods from the Nova plugin to a new environment variable that maps to
the status.hostIP field. The environment variable-based approach will
provide the cluster host IP address to the Nova compute container.
With the goal of assisting in the task of deploying Nova compute with
fewer daemonsets, grouping hosts with identical configurations, and
consequently making the solution more scalable, this implementation
removes the responsibility from the plugin of setting the IP
information, since doing so would prevent the grouping of the override
configurations due to having different values for each compute host.
Using the environment variable-based approach, the IP change will occur
inside the container just before executing the nova-compute command.
Since this task aims to set the IP inside the container and the Nova
configuration file located at /etc/nova is read-only, a new Nova
configuration file has been created, which is located inside the
compute container at /tmp/pod-shared, a similar approach of using this
path is already followed by other Nova configuration files
(nova-console.conf, nova-hypervisor.conf and nova-libvirt.conf). The
difference between the two nova.conf files is only the IPs in fields
my_ip, server_listen, server_proxyclient_address and
live_migration_inbound_addr, which will contain the cluster host IP
configured in the new environment variable in the new one.
TEST PLAN:
PASS: build-pkg -c -l openstack
PASS: build openstack tarball
PASS: upload and apply openstack tarball on standard system
PASS: nova-compute pod is running
PASS: CLUSTER_HOST_IP environment variable created with
.status.hostIP value
PASS: /tmp/pod-shared/nova.conf has the same configuration of
/etc/nova/nova.conf, with the only difference being that the
fields:
DEFAULT.my_ip
vnc.server_listen
vnc.server_proxyclient_address and
libvirt.live_migration_inbound_addr
are updated with the IP from the new environment variable
PASS: launch a guest instance (tis-centos-guest VM)
Story: 2011304
Task: 51517
Change-Id: I19792f4c15bc9adddc7e45c2d600ddeb1b3ec420
Signed-off-by: marantes <murillo.arantes@windriver.com>
This repo is for https://github.com/openstack/openstack-helm
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.