Skip to content

Integrate Pelagia with Rockoon#

This document describes how to integrate Pelagia with the Rockoon OpenStack Controller. As Ceph supports integration with OpenStack, Pelagia provides a way to integrate Rook Ceph cluster with Rockoon OpenStack inside the Kubernetes cluster.

How to integrate Pelagia with Rockoon#

In the CephDeployment custom resource, create the following Ceph pools required for Rockoon OpenStack and ensure that the role parameter is explicitly set:

  • volumes for the OpenStack Block Storage service (cinder)
  • backup for the OpenStack Block Storage service (cinder)
  • vms for the OpenStack Compute service (nova)
  • images for the OpenStack Image service (glance)

For example:

spec:
  blockStorage:
    pools:
    ...
    - name: volumes
      role: volumes
      spec:
        deviceClass: hdd
        replicated:
          size: 3
    - name: backup
      role: backup
      spec:
        deviceClass: hdd
        replicated:
          size: 3
    - name: vms
      role: vms
      spec:
        deviceClass: hdd
        replicated:
          size: 3
    - name: images
      role: images
      spec:
        deviceClass: hdd
        replicated:
          size: 3

As a result, Pelagia creates the following Ceph pools: volumes-hdd, backup-hdd, vms-hdd, and images-hdd. We recommend the following target ratios for these pools to match the default OpenStack requirements:

  • Volumes pool: 0.4
  • Backup pool: 0.1
  • VMs pool: 0.2
  • Images pool: 0.1

We recommend adjusting these ratios according to your OpenStack deployment requirements using the parameters.target_size_ratio parameter located in the pools section. For reference, see Rook documentation: CephBlockPool CRD Spec. For details on how to set correct values, see Calculate target ratios.

After Ceph pools are created, Pelagia Deployment Controller creates a secret in the openstack-ceph-shared namespace (by default) with all necessary information for Rockoon OpenStack services to be configured with the Ceph cluster. Rockoon Controller watches this namespace and transforms the secret into the data structures expected by OpenStack Helm charts. After that, OpenStack services will be connected to the required Ceph cluster.

Note

To prevent Pelagia Deployment Controller from creating and managing this secret, set spec.extraOpts.disableOsSharedKeys to true in the CephDeployment custom resource. Use this option only for clusters managed through Rockoon. When the option is enabled, Pelagia does not remove an existing secret upon CephDeployment deletion, so remove it manually if required.

If CephDeployment contains the objectStorage section, Ceph Object Storage is deployed, and the object store has usedForOpenstack: true set in spec.objectStorage.objectStores, then Pelagia and Rockoon enable Ceph RADOS Gateway integration with OpenStack Object Storage service (swift).