Overview of Configuring StarlingX OpenStack

StarlingX OpenStack is installed and managed as a system application.

See StarlingX System Configuration: Helm Package Manager lifecycle commands for managing a system application.

System Applications are a set of one or more interdependent Application Helm Charts. In the case of StarlingX, there is generally a Helm Chart for every OpenStack service.

~(keystone_admin)]$ system helm-override-list stx-openstack
+-------------------------------+----------------------+
| chart name                    | overrides namespaces |
+-------------------------------+----------------------+
| aodh                          | ['openstack']        |
| barbican                      | ['openstack']        |
| ceilometer                    | ['openstack']        |
| ceph-rgw                      | ['openstack']        |
| cinder                        | ['openstack']        |
| clients                       | ['openstack']        |
| dcdbsync                      | ['openstack']        |
| fm-rest-api                   | ['openstack']        |
| garbd                         | ['openstack']        |
| glance                        | ['openstack']        |
| heat                          | ['openstack']        |
| horizon                       | ['openstack']        |
| ingress-nginx-openstack       | ['openstack']        |
| ironic                        | ['openstack']        |
| keystone                      | ['openstack']        |
| keystone-api-proxy            | ['openstack']        |
| libvirt                       | ['openstack']        |
| mariadb                       | ['openstack']        |
| memcached                     | ['openstack']        |
| neutron                       | ['openstack']        |
| nginx-ports-control           | ['openstack']        |
| nova                          | ['openstack']        |
| nova-api-proxy                | ['openstack']        |
| openstack-helm-toolkit        | []                   |
| openvswitch                   | ['openstack']        |
| pci-irq-affinity-agent        | ['openstack']        |
| placement                     | ['openstack']        |
| prometheus-openstack-exporter | ['openstack']        |
| rabbitmq                      | ['openstack']        |
+-------------------------------+----------------------+

The attribute values of an OpenStack Service’s Helm chart represents the configurable parameters of the OpenStack Service. The OpenStack Services’ helm charts are defined upstream here: https://opendev.org/openstack/openstack-helm. The specific attribute values supported by a helm chart can be found in the values.yaml file under the particular OpenStack Service, e.g. https://opendev.org/openstack/openstack-helm/src/branch/master/nova/values.yaml.

After uploading the StarlingX application, StarlingX applies ‘system’ overrides to the OpenStack helm charts, to specify a default configuration of containerized StarlingX on StarlingX. To display those ‘system’ overrides:

~(keystone_admin)]$ system helm-override-show stx-openstack nova openstack

You can specify helm overrides to update additional helm chart values and/or modify the overrides made by the system. The command syntax is:

system helm-override-update [--reuse-values] [--reset-values] [--values <file_name>] [--set <commandline_overrides>] app-name chart-name namespace

The optional arguments are:

--reuse-values

Determines if we should reuse existing helm chart user override values. If --reset-values is set, then this argument is ignored.

--reset-values

Replace any existing helm chart overrides with the ones specified.

--values <file_name>

Specify a YAML file containing helm chart override values. Can specify multiple times.

--set <commandline_overrides>

Set helm chart override values on the command line. Multiple override values can be specified with multiple --set arguments. These are processed after --values files.

The updated overridden helm chart values are applied to the OpenStack Application the next time stx-openstack is run.

As some examples of using helm chart overrides to configure OpenStack services of StarlingX, the following sections show a few examples of some typical configurable changes to StarlingX.