Puppet Class: nova::compute::neutron
- Defined in:
- manifests/compute/neutron.pp
Overview
Class: nova::compute::neutron
Manage the network driver to use for compute guests This will use virtio for VM guests and the specified driver for the VIF
Parameters
- libvirt_vif_driver
- 
(optional) The libvirt VIF driver to configure the VIFs. Defaults to ‘nova.virt.libvirt.vif.LibvirtGenericVIFDriver’. 
- force_snat_range
- 
(optional) Force SNAT rule to specified network for nova-network Default to 0.0.0.0/0 Due to architecture constraints in nova_config, it’s not possible to setup more than one SNAT rule though initial parameter is MultiStrOpt 
| 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 | # File 'manifests/compute/neutron.pp', line 18
class nova::compute::neutron (
  $libvirt_vif_driver = 'nova.virt.libvirt.vif.LibvirtGenericVIFDriver',
  $force_snat_range   = '0.0.0.0/0',
) {
  if $libvirt_vif_driver == 'nova.virt.libvirt.vif.LibvirtOpenVswitchDriver' {
    fail('nova.virt.libvirt.vif.LibvirtOpenVswitchDriver as vif_driver is removed from Icehouse')
  }
  nova_config {
    'libvirt/vif_driver': value => $libvirt_vif_driver;
  }
  if $libvirt_vif_driver == 'nova.virt.libvirt.vif.LibvirtGenericVIFDriver' and $force_snat_range {
    # Validate ip and mask for force_snat_range
    $force_snat_range_array = split($force_snat_range, '/')
    if is_ip_address($force_snat_range_array[0]) and is_integer($force_snat_range_array[1])  {
      nova_config {
        'DEFAULT/force_snat_range': value => $force_snat_range;
      }
    } else {
      fail('force_snat_range should be IPv4 or IPv6 CIDR notation')
    }
  } else {
    nova_config {
      'DEFAULT/force_snat_range': ensure => absent;
    }
  }
} |