Skip to content

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.

drawing

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.