Files
puppet-nova/manifests/params.pp
Alex Schultz 465a1a7a35 Add other virt services
This change adds the management of virtlockd and virtlogd services
to the nova::compute::libvirt. These services are actually required
for nova to be able to communicate correctly with libvirt.  Virtlockd
exists for RedHat and Ubuntu but is not currently available under
Debian. Virtlogd is Ubuntu specific service that is usually started
automatically on install of the libvirt package. However if you
disable that or some how prevent it from running, then it may
interfere with nova.  We should explicitly manage them since they
are required.

Change-Id: I52c6609e547fa50dccb4b31b9d93748b2b02dee0
2016-04-19 17:17:38 +00:00

139 lines
6.4 KiB
Puppet

# == 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'
$libvirt_daemon_package_prefix = 'libvirt-daemon-'
$libvirt_nwfilter_package_name = 'libvirt-daemon-config-nwfilter'
$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'
$ceph_client_package_name = 'ceph-common'
$genisoimage_package_name = 'genisoimage'
# 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'
$virtlock_service_name = 'virtlockd'
$virtlog_service_name = undef
$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'
$nova_wsgi_script_path = '/var/www/cgi-bin/nova'
$nova_api_wsgi_script_source = '/usr/lib/python2.7/site-packages/nova/wsgi/nova-api.py'
case $::operatingsystem {
'Fedora': {
$special_service_provider = undef
}
'RedHat', 'CentOS', 'Scientific', 'OracleLinux': {
if (versioncmp($::operatingsystemmajrelease, '7') < 0) {
$messagebus_service_name = 'messagebus'
$special_service_provider = 'init'
} else {
$messagebus_service_name = 'dbus'
$special_service_provider = 'redhat'
}
}
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'
$ceph_client_package_name = 'ceph'
$genisoimage_package_name = 'genisoimage'
# 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'
$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'
$nova_log_group = 'adm'
$nova_wsgi_script_path = '/usr/lib/cgi-bin/nova'
$nova_api_wsgi_script_source = '/usr/lib/python2.7/dist-packages/nova/wsgi/nova-api.py'
# debian specific nova config
$root_helper = 'sudo nova-rootwrap'
$lock_path = '/var/lock/nova'
case $::os_package_type {
'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
$libvirt_service_name = 'libvirtd'
$virtlock_service_name = undef
$virtlog_service_name = undef
}
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'
$libvirt_service_name = 'libvirt-bin'
$virtlock_service_name = 'virtlockd'
$virtlog_service_name = 'virtlogd'
}
}
}
default: {
fail("Unsupported osfamily: ${::osfamily} operatingsystem: ${::operatingsystem}, module ${module_name} only support osfamily RedHat and Debian")
}
}
}