Puppet Class: cinder::backends

Defined in:
manifests/backends.pp

Overview

Class: cinder::backends

Class to set the enabled_backends list

Parameters

enabled_backends

(Required) a list of ini sections to enable. This should contain names used in cinder::backend::* resources. Example: [‘volume1’, ‘volume2’, ‘sata3’] Defaults to undef

backend_host

(optional) Backend override of host value. Defaults to $facts

Author: Andrew Woodward <awoodward@mirantis.com>

Parameters:

  • enabled_backends (Any) (defaults to: undef)
  • backend_host (Any) (defaults to: $facts['os_service_default'])


18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'manifests/backends.pp', line 18

class cinder::backends (
  $enabled_backends = undef,
  $backend_host     = $facts['os_service_default'],
) {

  include cinder::deps

  if $enabled_backends == undef {
    warning("Configurations that are setting backend config in ``[DEFAULT]`` \
section are now not supported. You should use ``enabled_backends``option to  \
set up backends. No volume service(s) started successfully otherwise.")
  } else {
    # Maybe this could be extended to dynamically find the enabled names
    cinder_config {
      'DEFAULT/enabled_backends': value => join($enabled_backends, ',');
    }

    $enabled_backends.each |$backend| {
      # Avoid colliding with code in backend/rbd.pp
      unless defined(Cinder_config["${backend}/backend_host"]) {
        cinder_config {
          "${backend}/backend_host": value => $backend_host;
        }
      }
    }
  }
}