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-valuesDetermines if we should reuse existing helm chart user override values. If
--reset-valuesis set, then this argument is ignored.--reset-valuesReplace 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
--setarguments. These are processed after--valuesfiles.
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.