Application Commands and Helm OverridesΒΆ

Use StarlingX system application and system helm-override commands to manage containerized applications provided as part of StarlingX.

Note

Application commands and Helm overrides apply to user overrides only and take precedence over system overrides.

application-list

Use the following command to list all containerized applications provided as part of StarlingX.

~(keystone_admin)]$ system application-list [--nowrap]

where:

--nowrap

prevents line wrapping of the output.

For example:

~(keystone_admin)]$ system application-list --nowrap

+--------------------------+---------+-------------------------------------------+------------------+----------+-----------+
| application              | version | manifest name                             | manifest file    | status   | progress  |
+--------------------------+---------+-------------------------------------------+------------------+----------+-----------+
| cert-manager             | 1.0-34  | cert-manager-fluxcd-manifests             | fluxcd-manifests | applied  | completed |
| nginx-ingress-controller | 1.1-35  | nginx-ingress-controller-fluxcd-manifests | fluxcd-manifests | applied  | completed |
| oidc-auth-apps           | 1.0-68  | oidc-auth-apps-fluxcd-manifests           | fluxcd-manifests | uploaded | completed |
| platform-integ-apps      | 1.0-52  | platform-integ-apps-fluxcd-manifests      | fluxcd-manifests | applied  | completed |
+--------------------------+---------+-------------------------------------------+------------------+----------+-----------+
application-show

Use the following command to show details for StarlingX.

~(keystone_admin)]$ system application-show <app_name>

where:

<app_name>

is the name of the application to show details for.

For example:

~(keystone_admin)]$ system application-show cert-manager

+---------------+----------------------------------+
| Property      | Value                            |
+---------------+----------------------------------+
| active        | True                             |
| app_version   | 1.0-34                           |
| created_at    | 2022-06-21T02:21:24.218835+00:00 |
| manifest_file | fluxcd-manifests                 |
| manifest_name | cert-manager-fluxcd-manifests    |
| name          | cert-manager                     |
| progress      | completed                        |
| status        | applied                          |
| updated_at    | 2022-06-21T03:13:01.051293+00:00 |
+---------------+----------------------------------+
application-upload

Use the following command to upload application Helm chart(s) and manifest.

~(keystone_admin)]$ system application-upload [-n | --app-name] <app_name> [-v | --version] <version> <tar_file>

where the following are optional arguments:

<app_name>

assigns a custom name for application. You can use this name to interact with the application in the future.

<version>

is the version of the application.

and the following is a positional argument:

<tar_file>

is the path to the tar file containing the application to be uploaded.

For example:

~(keystone_admin)]$ system application-upload metrics-server-1.0-17.tgz
+---------------+----------------------------------+
| Property      | Value                            |
+---------------+----------------------------------+
| active        | False                            |
| app_version   | 1.0-17                           |
| created_at    | 2022-06-21T15:40:36.152383+00:00 |
| manifest_file | fluxcd-manifests                 |
| manifest_name | metrics-server-fluxcd-manifests  |
| name          | metrics-server                   |
| progress      | None                             |
| status        | uploading                        |
| updated_at    | None                             |
+---------------+----------------------------------+
Please use 'system application-list' or 'system application-show metrics-server' to view the current progress.
helm-override-list

To list the Helm chart overrides for the StarlingX, use the following command:

~(keystone_admin)]$ system helm-override-list
usage: system helm-override-list [--nowrap] [-l | --long] <app_name>

where the following is a positional argument:

<app_name>

The name of the application.

and the following are optional arguments:

--nowrap

No word-wrapping of output.

--long

List additional fields in output.

For example:

~(keystone_admin)]$ system helm-override-list stx-openstack --long
+---------------------+--------------------------------+---------------+
| chart name          | overrides namespaces           | chart enabled |
+---------------------+--------------------------------+---------------+
| barbican            | [u'openstack']                 | [False]       |
| ceph-rgw            | [u'openstack']                 | [False]       |
| cinder              | [u'openstack']                 | [True]        |
| garbd               | [u'openstack']                 | [True]        |
| glance              | [u'openstack']                 | [True]        |
| heat                | [u'openstack']                 | [True]        |
| helm-toolkit        | []                             | []            |
| horizon             | [u'openstack']                 | [True]        |
| ingress             | [u'kube-system', u'openstack'] | [True, True]  |
| ironic              | [u'openstack']                 | [False]       |
| keystone            | [u'openstack']                 | [True]        |
| keystone-api-proxy  | [u'openstack']                 | [True]        |
| libvirt             | [u'openstack']                 | [True]        |
| mariadb             | [u'openstack']                 | [True]        |
| memcached           | [u'openstack']                 | [True]        |
| neutron             | [u'openstack']                 | [True]        |
| nginx-ports-control | []                             | []            |
| nova                | [u'openstack']                 | [True]        |
| nova-api-proxy      | [u'openstack']                 | [True]        |
| openvswitch         | [u'openstack']                 | [True]        |
| placement           | [u'openstack']                 | [True]        |
| rabbitmq            | [u'openstack']                 | [True]        |
| version_check       | []                             | []            |
+---------------------+--------------------------------+---------------+
helm-override-show

To show the overrides for a particular chart, use the following command. System overrides are displayed in the system_overrides section of the Property column.

~(keystone_admin)]$ system helm-override-show
usage: system helm-override-show <app_name> <chart_name> <namespace>

where the following are positional arguments:

<app_name>

The name of the application.

< chart_name>

The name of the chart.

<namespace>

The namespace for chart overrides.

For example:

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

To modify service configuration parameters using user-specified overrides, use the following command. To update a single configuration parameter, you can use --set. To update multiple configuration parameters, use the --values option with a yaml file.

~(keystone_admin)]$ system helm-override-update
usage: system helm-override-update <app_name> <chart_name> <namespace> --reuse-values --reset-values --values <file_name> --set <commandline_overrides>

where the following are positional arguments:

<app_name>

The name of the application.

<chart_name>

The name of the chart.

<namespace>

The namespace for chart overrides.

and the following are optional arguments:

--reuse-values

Reuse existing Helm chart user override values. If reset-values is used, reuse-values is ignored.

--reset-values

Replace any existing Helm chart overrides with the ones specified.

--values

Specify a yaml file containing Helm chart override values. You can specify this value multiple times.

--set

Set Helm chart override values using the command line. Multiple override values can be specified with multiple set arguments. These are processed after files passed through the values argument.

For example, to enable the glance debugging log, use the following command:

~(keystone_admin)]$ system helm-override-update stx-openstack glance openstack --set conf.glance.DEFAULT.DEBUG=true
+----------------+-------------------+
| Property       | Value             |
+----------------+-------------------+
| name           | glance            |
| namespace      | openstack         |
| user_overrides | conf:             |
|                |   glance:         |
|                |     DEFAULT:      |
|                |       DEBUG: true |
+----------------+-------------------+

The user overrides are shown in the user_overrides section of the Property column.

Note

To apply the updated Helm chart ovverrides to the running application, use the system application-apply command.

helm-chart-attribute-modify

To enable or disable the installation of a particular Helm chart within an application manifest, use the helm-chart-attribute-modify command. This command does not modify a chart or modify chart overrides, which are managed through the helm-override-update command.

~(keystone_admin)]$ system helm-chart-attribute-modify [--enabled <true/false>] <app_name> <chart_name> <namespace>

where the following is an optional argument:

--enabled

determines whether the chart is enabled.

and the following are positional arguments:

<app_name>

The name of the application.

<chart_name>

The name of the chart.

<namespace>

The namespace for chart overrides.

Note

To apply the updated helm chart attribute to the running application, use the system application-apply command.

helm-override-delete

To delete all the user overrides for a chart, use the following command:

~(keystone_admin)]$ system helm-override-delete
usage: system helm-override-delete <app_name> <chart_name> <namespace>

where the following are positional arguments:

<app_name>

The name of the application.

<chart_name>

The name of the chart.

<namespace>

The namespace for chart overrides.

For example:

~(keystone_admin)]$ system helm-override-delete stx-openstack glance openstack
Deleted chart overrides glance:openstack for application stx-openstack
application-apply

Use the following command to apply or reapply an application, making it available for service.

~(keystone_admin)]$ system application-apply [-m | --mode] <mode> <app_name>

where the following is an optional argument:

mode

An application-specific mode controlling how the manifest is applied. This option is used to back-up and restore the stx-openstack application.

and the following is a positional argument:

<app_name>

is the name of the application to apply.

For example:

~(keystone_admin)]$ system application-apply metrics-server
+---------------+----------------------------------+
| Property      | Value                            |
+---------------+----------------------------------+
| active        | False                            |
| app_version   | 1.0-17                           |
| created_at    | 2022-06-21T15:40:36.152383+00:00 |
| manifest_file | fluxcd-manifests                 |
| manifest_name | metrics-server-fluxcd-manifests  |
| name          | metrics-server                   |
| progress      | None                             |
| status        | applying                         |
| updated_at    | 2022-06-21T15:40:42.727918+00:00 |
+---------------+----------------------------------+
Please use 'system application-list' or 'system application-show metrics-server' to view the current progress.
application-abort

Use the following command to abort the current application.

~(keystone_admin)]$ system application-abort <app_name>

where:

<app_name>

is the name of the application to abort.

For example:

~(keystone_admin)]$ system application-abort metrics-server
Application abort request has been accepted. If the previous operation has not
completed/failed, it will be cancelled shortly.

Use application-list to confirm that the application has been aborted.

application-update

Use the following command to update the deployed application to a different version.

~(keystone_admin)]$ system application-update [-n | --app-name] <app_name> [-v | --app-version] <version> [ --reuse-attributes <true/false> ] [ --reuse-user-overrides ` <true/false> ] <tar_file>

where the following are optional arguments:

<app_name>

The name of the application to update.

You can look up the name of an application using the application-list command:

~(keystone_admin)]$ system application-list
+--------------------------+---------+-------------------------------------------+------------------+----------+-----------+
| application              | version | manifest name                             | manifest file    | status   | progress  |
+--------------------------+---------+-------------------------------------------+------------------+----------+-----------+
| cert-manager             | 1.0-34  | cert-manager-fluxcd-manifests             | fluxcd-manifests | applied  | completed |
| nginx-ingress-controller | 1.1-35  | nginx-ingress-controller-fluxcd-manifests | fluxcd-manifests | applied  | completed |
| oidc-auth-apps           | 1.0-68  | oidc-auth-apps-fluxcd-manifests           | fluxcd-manifests | uploaded | completed |
| platform-integ-apps      | 1.0-52  | platform-integ-apps-fluxcd-manifests      | fluxcd-manifests | applied  | completed |
+--------------------------+---------+-------------------------------------------+------------------+----------+-----------+

The output indicates that the currently installed version of cert-manager is 1.0-34.

<version>

The version to update the application to.

reuse-attributes

If the user disabled some Helm charts (using system helm-chart-attribute-modify --enabled false) and wants to keep them disabled during an app-update then the user should use --reuse-attributes true.

reuse-user-overrides

If the user added some Helm chart overrides (using system helm-override-update) and wants to keep them over an app-update then the user should use --reuse-user-overrides true.

and the following is a positional argument which must come last:

<tar_file>

The tar file containing the application manifest, Helm charts and configuration file.

application-remove

Use the following command to remove an application from service. Removing an application will clean up related Kubernetes resources and delete all of its installed helm charts.

~(keystone_admin)]$ system application-remove <app_name>

where:

<app_name>

is the name of the application to remove.

For example:

~(keystone_admin)]$ system application-remove metrics-server
+---------------+----------------------------------+
| Property      | Value                            |
+---------------+----------------------------------+
| active        | False                            |
| app_version   | 1.0-17                           |
| created_at    | 2022-06-21T15:40:36.152383+00:00 |
| manifest_file | fluxcd-manifests                 |
| manifest_name | metrics-server-fluxcd-manifests  |
| name          | metrics-server                   |
| progress      | None                             |
| status        | removing                         |
| updated_at    | 2022-06-21T15:45:55.204697+00:00 |
+---------------+----------------------------------+
Please use 'system application-list' or 'system application-show metrics-server' to view the current progress.

This command places the application in the uploaded state.

application-delete

Use the following command to completely delete an application from the system.

~(keystone_admin)]$ system application-delete <app_name>

where:

<app_name>

is the name of the application to delete.

You must run application-remove before deleting an application.

For example:

~(keystone_admin)]$ system application-delete metrics-server
Application metrics-server deleted.