config/kubernetes
Robert Church c69942d0d7 Enable Cinder volume backups
To properly enable Cinder volume backup, the following configuration
changes are required:
- For Cinder, enable 'CephBackupDriver' as the Cinder backup_driver and
  'cinder' as the rbd_user for each Cinder backend
- For libvirt, enable Ceph and use 'cinder-volume-rbd-keyring' for the
  Ceph client user secret. This will create a libvirt secret that will
  be used with the 'cinder' user.
- For nova, enable the rbd_secret_uuid shared with libvirt and set the
  'rbd_user' to cinder.
- Update the chart group initialization sequence, so that
  'openstack-cinder' is initialized prior to 'openstack-compute-kit'.
  This is done because 'cinder-volume-rbd-keyring' is created by Cinder
  and is required by libvirt to successfully initialize.

With these configuration changes:
- Cinder volumes were created
- Cinder volumes were backed up
- Instances were booted by volume (from Cinder)
- Instances were booted by image (from Ceph ephemeral disks)

Change-Id: I29c7d3ed118f4a6726f2ea887a165f256bc32fd5
Depends-On: https://review.opendev.org/#/c/664619/
Story: 2004520
Task: 28266
Signed-off-by: Robert Church <robert.church@windriver.com>
2019-06-13 16:18:08 -04:00
..
applications/stx-openstack/stx-openstack-helm Enable Cinder volume backups 2019-06-13 16:18:08 -04:00
helm-charts Openstack clients helm chart 2019-06-12 10:33:14 +03:00
platform/stx-platform/stx-platform-helm Enable ceph-audit to run even if stx-openstack is not running 2019-06-03 15:46:00 -05:00
README Enable StarlingX helm charts for stx-openstack app 2018-11-07 16:14:42 -05:00

README

The expected layout for this subdirectory is as follows:

kubernetes
|-- applications
|   `-- <application>
|       `-- <application>-helm RPM
|           `-- centos
|               `-- build_srpm.data
|               `-- <application>-helm.spec
|           `-- <application>-helm
|               `-- manifests
|                   `-- main-manifest.yaml
|                   `-- alt-manifest-1.yaml
|                   `-- ...
|                   `-- alt-manifest-N.yaml
|               `-- custom chart 1
|                   `-- Chart.yaml
|                   `-- ...
|               `-- ...
|               `-- custom chart N
|                   `-- Chart.yaml
|                   `-- ...
|-- helm-charts
|   `-- chart
|       `-- chart
`-- README

The idea is that all our custom helm charts that are common across applications
would go under "helm-charts". Each chart would get a subdirectory.

Custom applications would generally consist of one or more armada manifest
referencing multiple helm charts (both ours and upstream ones). The application
is packaged as an RPM. These application RPM are used to produce the build
artifacts (helm tarballs + armada manifests) but are not installed on the
system. These artifacts are extracted later for proper application packaging
with additional required metadata (TBD).

These applications would each get their own subdirectory under
"applications".