--- /dev/null
+# == Class: nova::params
+#
+# These parameters need to be accessed from several locations and
+# should be considered to be constant
+class nova::params {
+
+ case $::osfamily {
+ 'RedHat': {
+ # package names
+ $api_package_name = 'openstack-nova-api'
+ $cells_package_name = 'openstack-nova-cells'
+ $cert_package_name = 'openstack-nova-cert'
+ $common_package_name = 'openstack-nova-common'
+ $compute_package_name = 'openstack-nova-compute'
+ $conductor_package_name = 'openstack-nova-conductor'
+ $consoleauth_package_name = 'openstack-nova-console'
+ $doc_package_name = 'openstack-nova-doc'
+ $libvirt_package_name = 'libvirt'
+ $network_package_name = 'openstack-nova-network'
+ $numpy_package_name = 'numpy'
+ $objectstore_package_name = 'openstack-nova-objectstore'
+ $scheduler_package_name = 'openstack-nova-scheduler'
+ $tgt_package_name = 'scsi-target-utils'
+ $vncproxy_package_name = 'openstack-nova-novncproxy'
+ $serialproxy_package_name = 'openstack-nova-serialproxy'
+ $spicehtml5proxy_package_name = 'openstack-nova-console'
+ # service names
+ $api_service_name = 'openstack-nova-api'
+ $cells_service_name = 'openstack-nova-cells'
+ $cert_service_name = 'openstack-nova-cert'
+ $compute_service_name = 'openstack-nova-compute'
+ $conductor_service_name = 'openstack-nova-conductor'
+ $consoleauth_service_name = 'openstack-nova-consoleauth'
+ $libvirt_service_name = 'libvirtd'
+ $network_service_name = 'openstack-nova-network'
+ $objectstore_service_name = 'openstack-nova-objectstore'
+ $scheduler_service_name = 'openstack-nova-scheduler'
+ $tgt_service_name = 'tgtd'
+ $vncproxy_service_name = 'openstack-nova-novncproxy'
+ $serialproxy_service_name = 'openstack-nova-serialproxy'
+ $spicehtml5proxy_service_name = 'openstack-nova-spicehtml5proxy'
+ # redhat specific config defaults
+ $root_helper = 'sudo nova-rootwrap'
+ $lock_path = '/var/lib/nova/tmp'
+ $nova_log_group = 'nova'
+ case $::operatingsystem {
+ 'Fedora': {
+ $special_service_provider = undef
+ }
+ 'RedHat', 'CentOS', 'Scientific': {
+ if ($::operatingsystemmajrelease < 7) {
+ $special_service_provider = 'init'
+ } else {
+ $special_service_provider = undef
+ }
+ }
+ default: {
+ $special_service_provider = 'init'
+ }
+ }
+ }
+ 'Debian': {
+ # package names
+ $api_package_name = 'nova-api'
+ $cells_package_name = 'nova-cells'
+ $cert_package_name = 'nova-cert'
+ $common_package_name = 'nova-common'
+ $compute_package_name = 'nova-compute'
+ $conductor_package_name = 'nova-conductor'
+ $consoleauth_package_name = 'nova-consoleauth'
+ $doc_package_name = 'nova-doc'
+ $libvirt_package_name = 'libvirt-bin'
+ $network_package_name = 'nova-network'
+ $numpy_package_name = 'python-numpy'
+ $objectstore_package_name = 'nova-objectstore'
+ $scheduler_package_name = 'nova-scheduler'
+ $tgt_package_name = 'tgt'
+ $serialproxy_package_name = 'nova-serialproxy'
+ # service names
+ $api_service_name = 'nova-api'
+ $cells_service_name = 'nova-cells'
+ $cert_service_name = 'nova-cert'
+ $compute_service_name = 'nova-compute'
+ $conductor_service_name = 'nova-conductor'
+ $consoleauth_service_name = 'nova-consoleauth'
+ $libvirt_service_name = 'libvirt-bin'
+ $network_service_name = 'nova-network'
+ $objectstore_service_name = 'nova-objectstore'
+ $scheduler_service_name = 'nova-scheduler'
+ $vncproxy_service_name = 'nova-novncproxy'
+ $serialproxy_service_name = 'nova-serialproxy'
+ $tgt_service_name = 'tgt'
+ # debian specific nova config
+ $root_helper = 'sudo nova-rootwrap'
+ $lock_path = '/var/lock/nova'
+ case $::operatingsystem {
+ 'Debian': {
+ $spicehtml5proxy_package_name = 'nova-consoleproxy'
+ $spicehtml5proxy_service_name = 'nova-spicehtml5proxy'
+ $vncproxy_package_name = 'nova-consoleproxy'
+ # Use default provider on Debian
+ $special_service_provider = undef
+ $nova_log_group = 'nova'
+ }
+ default: {
+ $spicehtml5proxy_package_name = 'nova-spiceproxy'
+ $spicehtml5proxy_service_name = 'nova-spiceproxy'
+ $vncproxy_package_name = 'nova-novncproxy'
+ # some of the services need to be started form the special upstart provider
+ $special_service_provider = 'upstart'
+ $nova_log_group = 'adm'
+ }
+ }
+ }
+ default: {
+ fail("Unsupported osfamily: ${::osfamily} operatingsystem: ${::operatingsystem}, module ${module_name} only support osfamily RedHat and Debian")
+ }
+ }
+
+}