config/kubernetes
Robert Church a8b23796fe Remove the Ceph related charts from the stx-openstack application
This will remove the rbd-provisioner and ceph-pools-audit charts from
the stx-openstack application and enable it to use the default platform
storage provisioner.

Changes include:
 - Update the rbd-provsioner and ceph-pools-audit helm plugin to provide
   overrides for the namespace defined by
   HELM_NS_STORAGE_PROVISIONER (currently: kube-system).
 - Update the cinder, glance, gnocchi, and nova helm plugins use the
   existing ceph-pool-kube-rbd secret for Ceph client access. This
   allows removing the pvc-ceph-client-key generation from the
   rbd-provisioner chart.
 - Add functions to kube_app.py to create/delete the required Ceph user
   secret for all namespaces of a supported application. This provides
   support for PVCs within the application's namespace(s). In the case
   of stx-openstack, this covers any claims made from the 'openstack'
   namespace.
 - Add functions to kube_app.py to support creating and deleting app
   specific resources that are not handled by the application charts.
   Using this enables copying the 'ceph-etc' configmap from the
   provisioner namespace to the openstack namespace for application use.
 - Add support through the kubernetes API to copy a secret from one
   namespace to another.
 - Add support through the kubernetes API to get, create, delete, and
   copy configmaps.
 - Remove the rbd-provisioner and ceph-pools-audit stevedore plugins
   from the stx-openstack application. Also, re-number the plugins.
 - Update the RBD provisioner to support creating namespaces and Ceph
   user secrets for additional namespaces other than that which the
   provisioner is installed. Also, enable PVCs for default
   namespaces (default and kube-public) against the 'general'
   storageclass.

Change-Id: I387e315545d2c99a1b6baa90d30bdb2a4e08f315
Depends-On: I67dba3f1a3a6e7c8169719ee622ddd533c69be31
Story: 2005424
Task: 30679
Signed-off-by: Robert Church <robert.church@windriver.com>
2019-05-10 17:27:28 -04:00
..
applications/stx-openstack/stx-openstack-helm Remove the Ceph related charts from the stx-openstack application 2019-05-10 17:27:28 -04:00
helm-charts Remove the Ceph related charts from the stx-openstack application 2019-05-10 17:27:28 -04:00
platform/stx-platform/stx-platform-helm Remove the Ceph related charts from the stx-openstack application 2019-05-10 17:27:28 -04: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".