File: nova.pp

package info (click to toggle)
puppet-module-cinder 27.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 2,512 kB
  • sloc: ruby: 6,697; python: 33; sh: 10; makefile: 10
file content (130 lines) | stat: -rw-r--r-- 4,224 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# == Class: cinder::nova
#
# Setup and configure cinder.conf nova section.
#
# === Parameters
#
# [*password*]
#   (Required) Nova admin password.
#
# [*region_name*]
#   (Optional) Name of nova region to use.
#   Defaults to $facts['os_service_default']
#
# [*interface*]
#   (Optional) Type of the nova endpoint to use.
#   Defaults to $facts['os_service_default']
#
# [*token_auth_url*]
#   (Optional) The authentication URL for the nova
#   connection when using the current users token.
#   Defaults to $facts['os_service_default']
#
# [*cafile*]
#   (Optional) PEM encoded Certificate Authority to use
#   when verifying HTTPs connections.
#   Defaults to $facts['os_service_default']
#
# [*certfile*]
#   (Optional) PEM encoded client certificate cert file.
#   Defaults to $facts['os_service_default']
#
# [*keyfile*]
#   (Optional) PEM encoded client certificate key file.
#   Defaults to $facts['os_service_default']
#
# [*insecure*]
#   (Optional) Verify HTTPS connections.
#   Defaults to $facts['os_service_default']
#
# [*timeout*]
#   (Optional) Timeout value for http requests.
#   Defaults to $facts['os_service_default']
#
# [*collect_timing*]
#   (Optional) Collect per-API call timing information.
#   Defaults to $facts['os_service_default']
#
# [*split_loggers*]
#   (Optional) Log requests to multiple loggers.
#   Defaults to $facts['os_service_default']
#
# [*auth_type*]
#   (Optional) Authentication type to load.
#   Defaults to 'password'
#
# [*auth_url*]
#   (Optional) Identity service url.
#   Defaults to 'http://127.0.0.1:5000'
#
# [*username*]
#   (Optional) Nova admin username.
#   Defaults to 'nova'
#
# [*user_domain_name*]
#   (Optional) Nova admin user domain name.
#   Defaults to 'Default'
#
# [*project_name*]
#   (Optional) Nova admin project name.
#   Defaults to 'services'
#
# [*project_domain_name*]
#   (Optional) Nova admin project domain name.
#   Defaults to 'Default'
#
# [*system_scope*]
#   (Optional) Scope for system operations
#   Defaults to $facts['os_service_default']
#
class cinder::nova (
  $password,
  $region_name         = $facts['os_service_default'],
  $interface           = $facts['os_service_default'],
  $token_auth_url      = $facts['os_service_default'],
  $cafile              = $facts['os_service_default'],
  $certfile            = $facts['os_service_default'],
  $keyfile             = $facts['os_service_default'],
  $insecure            = $facts['os_service_default'],
  $timeout             = $facts['os_service_default'],
  $collect_timing      = $facts['os_service_default'],
  $split_loggers       = $facts['os_service_default'],
  $auth_type           = 'password',
  $auth_url            = 'http://127.0.0.1:5000',
  $username            = 'nova',
  $user_domain_name    = 'Default',
  $project_name        = 'services',
  $project_domain_name = 'Default',
  $system_scope        = $facts['os_service_default'],
) {
  include cinder::deps

  if is_service_default($system_scope) {
    $project_name_real = $project_name
    $project_domain_name_real = $project_domain_name
  } else {
    $project_name_real = $facts['os_service_default']
    $project_domain_name_real = $facts['os_service_default']
  }

  cinder_config {
    'nova/region_name':         value => $region_name;
    'nova/interface':           value => $interface;
    'nova/token_auth_url':      value => $token_auth_url;
    'nova/cafile':              value => $cafile;
    'nova/certfile':            value => $certfile;
    'nova/keyfile':             value => $keyfile;
    'nova/insecure':            value => $insecure;
    'nova/timeout':             value => $timeout;
    'nova/collect_timing':      value => $collect_timing;
    'nova/split_loggers':       value => $split_loggers;
    'nova/auth_type':           value => $auth_type;
    'nova/auth_url':            value => $auth_url;
    'nova/username':            value => $username;
    'nova/user_domain_name':    value => $user_domain_name;
    'nova/password':            value => $password, secret => true;
    'nova/project_name':        value => $project_name_real;
    'nova/project_domain_name': value => $project_domain_name_real;
    'nova/system_scope':        value => $system_scope;
  }
}