Cinder

# NOTE: This file serves as an example only!
# It demonstrates a subset of the API features which are available and
# is NOT FIT FOR PRODUCTIVE USE. You need to adapt them to your
# specific environment, needs and scale.
# DO NOT DEPLOY THIS FILE WITH THE EXPECTATION THAT YOU WILL GET A
# YAOOK DEPLOYMENT FIT FOR ANY USE EXCEPT LOOKING AT IT.
apiVersion: v1
kind: Secret
metadata:
  name: sharesecret
data:
  share_secret: "bW91bnQuaG9zdDovcGF0aA==" # this is "mount.host:/path"
---
apiVersion: yaook.cloud/v1
kind: CinderDeployment
metadata:
  name: cinder
spec:
  keystoneRef:
    name: keystone
  database:
    replicas: 1
    timeoutClient: 300
    proxy:
      replicas: 1
    backup:
      schedule: "0 * * * *"
  messageQueue:
    replicas: 1
  memcached: {}
  api:
    replicas: 1
    ingress:
      fqdn: "cinder.yaook.cloud"
      port: 32443
  scheduler:
    replicas: 1
  cinderConfig:
    DEFAULT:
      debug: True
    database:
      # (optional) connection_recycle_time hould always be ~10%
      # smaller than the haproxy timeoutClient
      connection_recycle_time: 280
  policy:
    "context_is_admin": "role:admin"
  backends:
    ceph:
      volume:
        replicas: 1
      rbd:
        keyringReference: rook-ceph-client-cinder
        keyringUsername: cinder
        backendConfig:
          backend_host: hostname
          rbd_pool: cinder-pool
          rbd_secret_uuid: "b3ab713d-912b-49ed-adaf-bd74368e567a"
  #        cephConfig:
  #          "mon host": "rook-ceph-mon-a.rook-ceph:6789,rook-ceph-mon-b.rook-ceph:6789,rook-ceph-mon-c.rook-ceph:6789"
  backup:
    mycinderbackup:
      cinderConfig:
        DEFAULT:
          backup_driver: cinder.backup.drivers.nfs.NFSBackupDriver
          backup_file_size: 134217728
          backup_mount_options: noatime,vers=4.1,proto=tcp,hard,intr,nolock
          default_availability_zone: az-1
      cinderSecrets:
        - items:
            - key: share_secret
              path: /DEFAULT/backup_share
          secretName: sharesecret
    myothercinderbackup:
      cinderConfig:
        DEFAULT:
          backup_driver: cinder.backup.drivers.nfs.NFSBackupDriver
          backup_file_size: 134217728
          backup_mount_options: noatime,vers=4.1,proto=tcp,hard,intr,nolock
          default_availability_zone: az-2
      cinderSecrets:
        - items:
            - key: share_secret
              path: /DEFAULT/backup_share
          secretName: sharesecret
  region:
    name: MyRegion
  issuerRef:
    name: ca-issuer
  databaseCleanup:
    schedule: "0 0 * * *"
    deletionTimeRange: 60
  targetRelease: yoga

Cinder using Netapp

# NOTE: This file serves as an example only!
# It demonstrates a subset of the API features which are available and
# is NOT FIT FOR PRODUCTIVE USE. You need to adapt them to your
# specific environment, needs and scale.
# DO NOT DEPLOY THIS FILE WITH THE EXPECTATION THAT YOU WILL GET A
# YAOOK DEPLOYMENT FIT FOR ANY USE EXCEPT LOOKING AT IT.
apiVersion: v1
kind: Secret
metadata:
  name: cinder-netapp-password
data:
  password: SGVsbG9Xb3JsZCE=
---
apiVersion: yaook.cloud/v1
kind: CinderDeployment
metadata:
  name: cinder-netapp
spec:
  keystoneRef:
    name: keystone
  database:
    replicas: 1
    proxy:
      replicas: 1
    backup:
      schedule: "0 * * * *"
  messageQueue:
    replicas: 1
  memcached: {}
  api:
    replicas: 1
    ingress:
      fqdn: "cinder.yaook.cloud"
      port: 32443
  scheduler:
    replicas: 1
  cinderConfig:
    DEFAULT:
      debug: True
      enabled_backends:
        - netapp-svm01
        - netapp-svm02
  policy:
    "context_is_admin": "role:admin"
  backends:
    netapp-svm01:
      volume:
        replicas: 1
      netapp:
        login: openstack
        passwordReference: cinder-netapp-password
        server: netapp-api-endpoint
        vserver: svm01
        # binary must use the key na_copyoffload_64 in the configmap
        copyoffloadConfigMap: netapp-copyoffload
        shares:
          - svm01.yaook.cloud:/openstack01
          - svm01.yaook.cloud:/openstack02
    netapp-svm02:
      volume:
        replicas: 1
      netapp:
        login: openstack
        passwordReference: cinder-netapp-password
        server: netapp-api-endpoint
        vserver: svm02
        shares:
          - svm02.yaook.cloud:/openstack01
          - svm02.yaook.cloud:/openstack02
  backup: {}
  region:
    name: MyRegion
  issuerRef:
    name: ca-issuer
  targetRelease: yoga

The configmap that contains the netapp copyoffload tool can be created using this command: kubectl create configmap netapp-copyoffload --from-file na_copyoffload_64