Overview of Configuring StarlingX OpenStack

StarlingX OpenStack is installed and managed as an Armada application.

See StarlingX System Configuration: Application Management, for a description of the application lifecycle commands for managing an Armada application.

Armada 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                      | [u'openstack']                 |
| barbican                  | [u'openstack']                 |
| ceilometer                | [u'openstack']                 |
| ceph-rgw                  | [u'openstack']                 |
| cinder                    | [u'openstack']                 |
| dcdbsync                  | [u'openstack']                 |
| fm-rest-api               | [u'openstack']                 |
| garbd                     | [u'openstack']                 |
| glance                    | [u'openstack']                 |
| gnocchi                   | [u'openstack']                 |
| heat                      | [u'openstack']                 |
| horizon                   | [u'openstack']                 |
| ingress                   | [u'kube-system', u'openstack'] |
| ironic                    | [u'openstack']                 |
| keystone                  | [u'openstack']                 |
| keystone-api-proxy        | [u'openstack']                 |
| libvirt                   | [u'openstack']                 |
| mariadb                   | [u'openstack']                 |
| memcached                 | [u'openstack']                 |
| networking-avs            | [u'openstack']                 |
| neutron                   | [u'openstack']                 |
| nginx-ports-control       | []                             |
| nova                      | [u'openstack']                 |
| nova-api-proxy            | [u'openstack']                 |
| openstack-helm-toolkit    | []                             |
| openstack-psp-rolebinding | [u'openstack']                 |
| openvswitch               | [u'openstack']                 |
| panko                     | [u'openstack']                 |
| placement                 | [u'openstack']                 |
| rabbitmq                  | [u'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.