Pelagia integration with Rockoon#
The integration between Pelagia and Rockoon OpenStack Controllers
is implemented through the shared Kubernetes openstack-ceph-shared namespace. Both
controllers have access to this namespace to read and write the Kubernetes
kind: Secret objects.
To integrate Pelagia with Rockoon, all necessary Ceph pools must be specified
in the configuration of the CephDeployment custom resource as part of the deployment.
For the required pools, see
Ops Guide: Integrate Pelagia with Rockoon.
Once the Ceph cluster is deployed, Pelagia Deployment Controller posts the
information required by Rockoon OpenStack services to be properly configured
as a kind: Secret object into the openstack-ceph-shared namespace.
Rockoon Controller watches this namespace. Once the corresponding
secret is created, Rockoon Controller transforms this secret to the
data structures expected by the OpenStack Helm charts. Even if an OpenStack
installation is triggered at the same time as a Ceph cluster deployment,
Rockoon Controller halts the deployment of the OpenStack services that
depend on Ceph availability until Pelagia Deployment Controller
creates the secret in the shared namespace.
For the configuration of Ceph Object Gateway as an OpenStack Object
Storage, the reverse process takes place. Rockoon Controller waits
for the OpenStack Helm to create a secret with OpenStack Identity
(Keystone) credentials that Ceph Object Gateway must use to validate the
OpenStack Identity tokens, and posts it back to the same
openstack-ceph-shared namespace in the format suitable for
consumption by Pelagia. Pelagia Deployment Controller then reads this
secret and reconfigures Ceph Object Gateway accordingly.