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.
Procedure
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 | 24.09-79 | cert-manager-fluxcd-manifests | fluxcd-manifests | applied | completed | | dell-storage | 24.09-25 | dell-storage-fluxcd-manifests | fluxcd-manifests | uploaded | completed | | nginx-ingress-controller | 24.09-64 | nginx-ingress-controller-fluxcd-manifests | fluxcd-manifests | applied | completed | | oidc-auth-apps | 24.09-59 | oidc-auth-apps-fluxcd-manifests | fluxcd-manifests | uploaded | completed | | platform-integ-apps | 24.09-141 | platform-integ-apps-fluxcd-manifests | fluxcd-manifests | applied | completed | | rook-ceph | 24.09-48 | rook-ceph-fluxcd-manifests | fluxcd-manifests | uploaded | completed | | snmp | 24.09-89 | snmp-fluxcd-manifests | fluxcd-manifests | applied | completed | +--------------------------+-----------+-------------------------------------------+------------------+----------+-----------+
Use the following command to show details for StarlingX.
~(keystone_admin)]$ system application-show <app_name>
where:
- <app_name>
The name of the application to show details.
For example, run the following command to get details about the
cert-manager
application.~(keystone_admin)]$ system application-show cert-manager
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>
The version of the application.
and the following is a positional argument:
- <tar_file>
The path to the tar file containing the application to be uploaded.
Run the following command to upload the application contained in the tar file.
~(keystone_admin)]$ system application-upload metrics-server-*.tgz
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 is an optional argument:
- 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 | [] | [] | +---------------------+--------------------------------+---------------+
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
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. This argument is ignored if reset-values is used.
- 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 overrides to the running application, use the system application-apply command.
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.
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
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 delete and restore the stx-openstack application.
and the following is a positional argument:
- <app_name>
The name of the application to apply.
For example, run the following command to apply the
metrics-server
application.~(keystone_admin)]$ system application-apply metrics-server
Use the following command to abort the current application.
~(keystone_admin)]$ system application-abort <app_name>
where:
- <app_name>
The name of the application to abort.
For example:
~(keystone_admin)]$ system application-abort stx-openstack 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.
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 | 24.09-79 | cert-manager-fluxcd-manifests | fluxcd-manifests | applied | completed | | dell-storage | 24.09-25 | dell-storage-fluxcd-manifests | fluxcd-manifests | uploaded | completed | | nginx-ingress-controller | 24.09-64 | nginx-ingress-controller-fluxcd-manifests | fluxcd-manifests | applied | completed | | oidc-auth-apps | 24.09-59 | oidc-auth-apps-fluxcd-manifests | fluxcd-manifests | uploaded | completed | | platform-integ-apps | 24.09-141 | platform-integ-apps-fluxcd-manifests | fluxcd-manifests | applied | completed | | rook-ceph | 24.09-48 | rook-ceph-fluxcd-manifests | fluxcd-manifests | uploaded | completed | | snmp | 24.09-89 | snmp-fluxcd-manifests | fluxcd-manifests | applied | completed | +--------------------------+-----------+-------------------------------------------+------------------+----------+-----------+
The output indicates that the currently installed version of cert-manager is 24.09-79.
- <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.
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>
The name of the application to remove.
For example, run the following command to remove the
metric-server
application.~(keystone_admin)]$ system application-remove metrics-server
This command places the application in the uploaded state.
Use the following command to completely delete an application from the system.
~(keystone_admin)]$ system application-delete <app_name>
where:
- <app_name>
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.