Puppet Class: nova::params
- Inherited by:
- 
      
      nova
 nova::compute::libvirt
 
- Defined in:
- manifests/params.pp
Overview
Class: nova::params
These parameters need to be accessed from several locations and should be considered to be constant
| 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 | # File 'manifests/params.pp', line 5
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")
    }
  }
} |