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 ayaml
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> <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.
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.