647a2d9aba14d8cd8fcfc2534c2a2e0f80765d0f
[mirror/dsa-puppet.git] / 3rdparty / modules / nova / manifests / params.pp
1 # == Class: nova::params
2 #
3 # These parameters need to be accessed from several locations and
4 # should be considered to be constant
5 class nova::params {
6
7   case $::osfamily {
8     'RedHat': {
9       # package names
10       $api_package_name             = 'openstack-nova-api'
11       $cells_package_name           = 'openstack-nova-cells'
12       $cert_package_name            = 'openstack-nova-cert'
13       $common_package_name          = 'openstack-nova-common'
14       $compute_package_name         = 'openstack-nova-compute'
15       $conductor_package_name       = 'openstack-nova-conductor'
16       $consoleauth_package_name     = 'openstack-nova-console'
17       $doc_package_name             = 'openstack-nova-doc'
18       $libvirt_package_name         = 'libvirt'
19       $network_package_name         = 'openstack-nova-network'
20       $numpy_package_name           = 'numpy'
21       $objectstore_package_name     = 'openstack-nova-objectstore'
22       $scheduler_package_name       = 'openstack-nova-scheduler'
23       $tgt_package_name             = 'scsi-target-utils'
24       $vncproxy_package_name        = 'openstack-nova-novncproxy'
25       $serialproxy_package_name     = 'openstack-nova-serialproxy'
26       $spicehtml5proxy_package_name = 'openstack-nova-console'
27       # service names
28       $api_service_name             = 'openstack-nova-api'
29       $cells_service_name           = 'openstack-nova-cells'
30       $cert_service_name            = 'openstack-nova-cert'
31       $compute_service_name         = 'openstack-nova-compute'
32       $conductor_service_name       = 'openstack-nova-conductor'
33       $consoleauth_service_name     = 'openstack-nova-consoleauth'
34       $libvirt_service_name         = 'libvirtd'
35       $network_service_name         = 'openstack-nova-network'
36       $objectstore_service_name     = 'openstack-nova-objectstore'
37       $scheduler_service_name       = 'openstack-nova-scheduler'
38       $tgt_service_name             = 'tgtd'
39       $vncproxy_service_name        = 'openstack-nova-novncproxy'
40       $serialproxy_service_name     = 'openstack-nova-serialproxy'
41       $spicehtml5proxy_service_name = 'openstack-nova-spicehtml5proxy'
42       # redhat specific config defaults
43       $root_helper                  = 'sudo nova-rootwrap'
44       $lock_path                    = '/var/lib/nova/tmp'
45       $nova_log_group               = 'nova'
46       case $::operatingsystem {
47         'Fedora': {
48           $special_service_provider = undef
49         }
50         'RedHat', 'CentOS', 'Scientific': {
51           if ($::operatingsystemmajrelease < 7) {
52             $special_service_provider = 'init'
53           } else {
54             $special_service_provider = undef
55           }
56         }
57         default: {
58           $special_service_provider = 'init'
59         }
60       }
61     }
62     'Debian': {
63       # package names
64       $api_package_name             = 'nova-api'
65       $cells_package_name           = 'nova-cells'
66       $cert_package_name            = 'nova-cert'
67       $common_package_name          = 'nova-common'
68       $compute_package_name         = 'nova-compute'
69       $conductor_package_name       = 'nova-conductor'
70       $consoleauth_package_name     = 'nova-consoleauth'
71       $doc_package_name             = 'nova-doc'
72       $libvirt_package_name         = 'libvirt-bin'
73       $network_package_name         = 'nova-network'
74       $numpy_package_name           = 'python-numpy'
75       $objectstore_package_name     = 'nova-objectstore'
76       $scheduler_package_name       = 'nova-scheduler'
77       $tgt_package_name             = 'tgt'
78       $serialproxy_package_name     = 'nova-serialproxy'
79       # service names
80       $api_service_name             = 'nova-api'
81       $cells_service_name           = 'nova-cells'
82       $cert_service_name            = 'nova-cert'
83       $compute_service_name         = 'nova-compute'
84       $conductor_service_name       = 'nova-conductor'
85       $consoleauth_service_name     = 'nova-consoleauth'
86       $libvirt_service_name         = 'libvirt-bin'
87       $network_service_name         = 'nova-network'
88       $objectstore_service_name     = 'nova-objectstore'
89       $scheduler_service_name       = 'nova-scheduler'
90       $vncproxy_service_name        = 'nova-novncproxy'
91       $serialproxy_service_name     = 'nova-serialproxy'
92       $tgt_service_name             = 'tgt'
93       # debian specific nova config
94       $root_helper                  = 'sudo nova-rootwrap'
95       $lock_path                    = '/var/lock/nova'
96       case $::operatingsystem {
97         'Debian': {
98           $spicehtml5proxy_package_name = 'nova-consoleproxy'
99           $spicehtml5proxy_service_name = 'nova-spicehtml5proxy'
100           $vncproxy_package_name    = 'nova-consoleproxy'
101           # Use default provider on Debian
102           $special_service_provider = undef
103           $nova_log_group               = 'nova'
104         }
105         default: {
106           $spicehtml5proxy_package_name = 'nova-spiceproxy'
107           $spicehtml5proxy_service_name = 'nova-spiceproxy'
108           $vncproxy_package_name    = 'nova-novncproxy'
109           # some of the services need to be started form the special upstart provider
110           $special_service_provider = 'upstart'
111           $nova_log_group               = 'adm'
112         }
113       }
114     }
115     default: {
116       fail("Unsupported osfamily: ${::osfamily} operatingsystem: ${::operatingsystem}, module ${module_name} only support osfamily RedHat and Debian")
117     }
118   }
119
120 }