Puppet Class: cloud::volume::controller

Defined in:
manifests/volume/controller.pp

Overview

Parameters:

  • ks_cinder_internal_port (Any) (defaults to: $os_params::ks_cinder_internal_port)
  • ks_cinder_password (Any) (defaults to: $os_params::ks_cinder_password)
  • ks_keystone_internal_host (Any) (defaults to: $os_params::ks_keystone_internal_host)
  • ks_glance_internal_host (Any) (defaults to: $os_params::ks_glance_internal_host)
  • ks_glance_api_internal_port (Any) (defaults to: $os_params::ks_glance_api_internal_port)
  • api_eth (Any) (defaults to: $os_params::api_eth)
  • volume_multi_backend (Any) (defaults to: false)
  • default_volume_type (Any) (defaults to: undef)


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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'manifests/volume/controller.pp', line 19

class cloud::volume::controller(
  $ks_cinder_internal_port     = $os_params::ks_cinder_internal_port,
  $ks_cinder_password          = $os_params::ks_cinder_password,
  $ks_keystone_internal_host   = $os_params::ks_keystone_internal_host,
  $ks_glance_internal_host     = $os_params::ks_glance_internal_host,
  $ks_glance_api_internal_port = $os_params::ks_glance_api_internal_port,
  $api_eth                     = $os_params::api_eth,
  # Maintain backward compatibility for multi-backend
  $volume_multi_backend        = false,
  $default_volume_type         = undef,
  # TODO(EmilienM) Disabled for now: http://git.io/kfTmcA
  # $backup_ceph_pool          = $os_params::cinder_rbd_backup_pool,
  # $backup_ceph_user          = $os_params::cinder_rbd_backup_user
) {

  include 'cloud::volume'

  if ! $volume_multi_backend {
    $scheduler_driver_real    = false
    $default_volume_type_real = undef
  } else {
    $scheduler_driver_real = 'cinder.scheduler.filter_scheduler.FilterScheduler'

    if ! $default_volume_type {
      fail('when using multi-backend, you should define a default_volume_type value in cloud::volume::controller')
    } else {
      $default_volume_type_real = $default_volume_type
    }
  }

  class { 'cinder::scheduler':
    scheduler_driver => $scheduler_driver_real
  }

  class { 'cinder::api':
    keystone_password   => $ks_cinder_password,
    keystone_auth_host  => $ks_keystone_internal_host,
    bind_host           => $api_eth,
    default_volume_type => $default_volume_type_real
  }

  class { 'cinder::backup': }

  # TODO(EmilienM) Disabled for now: http://git.io/kfTmcA
  # class { 'cinder::backup::ceph':
  #   backup_ceph_user => $backup_ceph_user,
  #   backup_ceph_pool => $backup_ceph_pool
  # }

  class { 'cinder::glance':
    glance_api_servers     => "${ks_glance_internal_host}:${ks_glance_api_internal_port}",
    glance_request_timeout => '10'
  }

  @@haproxy::balancermember{"${::fqdn}-cinder_api":
    listening_service => 'cinder_api_cluster',
    server_names      => $::hostname,
    ipaddresses       => $api_eth,
    ports             => $ks_cinder_internal_port,
    options           => 'check inter 2000 rise 2 fall 5'
  }

}