Puppet Class: profile::openstack::eqiad1::nova::compute::service

Defined in:
modules/profile/manifests/openstack/eqiad1/nova/compute/service.pp

Overview

SPDX-License-Identifier: Apache-2.0

Parameters:

  • version (Any) (defaults to: lookup('profile::openstack::eqiad1::version'))
  • network_flat_interface (String[1]) (defaults to: lookup('profile::openstack::eqiad1::nova::network_flat_interface'))
  • network_flat_tagged_base_interface (Optional[String[1]]) (defaults to: lookup('profile::openstack::eqiad1::nova::network_flat_tagged_base_interface', {default_value => undef}))
  • network_flat_interface_vlan (Any) (defaults to: lookup('profile::openstack::eqiad1::nova::network_flat_interface_vlan'))
  • network_flat_name (Any) (defaults to: lookup('profile::openstack::eqiad1::neutron::network_flat_name'))
  • physical_interface_mappings (Any) (defaults to: lookup('profile::openstack::eqiad1::nova::physical_interface_mappings'))
  • libvirt_cpu_model (String) (defaults to: lookup('profile::openstack::eqiad1::nova::libvirt_cpu_model'))
  • enable_nova_rbd (Optional[Boolean]) (defaults to: lookup('profile::cloudceph::client::rbd::enable_nova_rbd', {'default_value' => false}))
  • ceph_rbd_pool (Optional[String]) (defaults to: lookup('profile::cloudceph::client::rbd::pool', {'default_value' => undef}))
  • ceph_rbd_client_name (Optional[String]) (defaults to: lookup('profile::cloudceph::client::rbd::client_name', {'default_value' => undef}))
  • libvirt_rbd_uuid (Optional[String]) (defaults to: lookup('profile::cloudceph::client::rbd::libvirt_rbd_uuid', {'default_value' => undef}))
  • provider_networks_internal (Hash[String[1], OpenStack::Neutron::ProviderNetwork]) (defaults to: lookup('profile::openstack::eqiad1::neutron::provider_networks_internal', {default_value => {}}))
  • use_ovs (Boolean) (defaults to: lookup('profile::openstack::eqiad1::neutron::use_ovs', {default_value => false}))


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
# File 'modules/profile/manifests/openstack/eqiad1/nova/compute/service.pp', line 2

class profile::openstack::eqiad1::nova::compute::service(
    $version = lookup('profile::openstack::eqiad1::version'),
    String[1] $network_flat_interface = lookup('profile::openstack::eqiad1::nova::network_flat_interface'),
    Optional[String[1]] $network_flat_tagged_base_interface = lookup('profile::openstack::eqiad1::nova::network_flat_tagged_base_interface', {default_value => undef}),
    $network_flat_interface_vlan = lookup('profile::openstack::eqiad1::nova::network_flat_interface_vlan'),
    $network_flat_name = lookup('profile::openstack::eqiad1::neutron::network_flat_name'),
    $physical_interface_mappings = lookup('profile::openstack::eqiad1::nova::physical_interface_mappings'),
    String $libvirt_cpu_model = lookup('profile::openstack::eqiad1::nova::libvirt_cpu_model'),
    Optional[Boolean] $enable_nova_rbd = lookup('profile::cloudceph::client::rbd::enable_nova_rbd', {'default_value' => false}),
    Optional[String] $ceph_rbd_pool = lookup('profile::cloudceph::client::rbd::pool', {'default_value' => undef}),
    Optional[String] $ceph_rbd_client_name = lookup('profile::cloudceph::client::rbd::client_name', {'default_value' => undef}),
    Optional[String] $libvirt_rbd_uuid = lookup('profile::cloudceph::client::rbd::libvirt_rbd_uuid', {'default_value' => undef}),
    Hash[String[1], OpenStack::Neutron::ProviderNetwork] $provider_networks_internal = lookup('profile::openstack::eqiad1::neutron::provider_networks_internal', {default_value => {}}),
    Boolean $use_ovs = lookup('profile::openstack::eqiad1::neutron::use_ovs', {default_value => false}),
    ) {

    require ::profile::openstack::eqiad1::neutron::common
    if $use_ovs {
        class { 'profile::openstack::base::neutron::ovs_agent':
            version           => $version,
            provider_networks => $provider_networks_internal,
            before            => Class['profile::openstack::base::nova::compute::service'],
        }
    } else {
        class {'::profile::openstack::base::neutron::linuxbridge_agent':
            version                     => $version,
            physical_interface_mappings => $physical_interface_mappings,
            before                      => Class['profile::openstack::base::nova::compute::service'],
        }
        contain '::profile::openstack::base::neutron::linuxbridge_agent'
    }

    require ::profile::openstack::eqiad1::nova::common
    $all_cloudvirts = unique(
        wmflib::class::hosts('profile::openstack::eqiad1::nova::compute::service') << $facts['networking']['fqdn']
    ).sort
    class {'::profile::openstack::base::nova::compute::service':
        version                            => $version,
        network_flat_interface             => $network_flat_interface,
        network_flat_tagged_base_interface => $network_flat_tagged_base_interface,
        network_flat_interface_vlan        => $network_flat_interface_vlan,
        all_cloudvirts                     => $all_cloudvirts,
        libvirt_cpu_model                  => $libvirt_cpu_model,
        ceph_rbd_pool                      => $ceph_rbd_pool,
        ceph_rbd_client_name               => $ceph_rbd_client_name,
        libvirt_rbd_uuid                   => $libvirt_rbd_uuid,
        enable_nova_rbd                    => $enable_nova_rbd,
    }
    contain '::profile::openstack::base::nova::compute::service'

    class {'::openstack::nova::compute::monitor':
        active           => true,
        verify_instances => true,
        contact_groups   => 'wmcs-team,admins',
    }
    contain '::openstack::nova::compute::monitor'
}