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.