- package {'nfs-utils': } -> Service['nova-compute']
-}
-
-if str2bool(hiera('nova::use_ipv6', false)) {
- $vncserver_listen = '::0'
-} else {
- $vncserver_listen = '0.0.0.0'
-}
-class { '::nova::compute::libvirt' :
- vncserver_listen => $vncserver_listen,
-}
-
-# TUNNELLED mode provides a security enhancement when using shared storage but is not
-# supported when not using shared storage.
-# See https://bugzilla.redhat.com/show_bug.cgi?id=1301986#c12
-if $rbd_ephemeral_storage {
- $block_migration_flag = 'VIR_MIGRATE_UNDEFINE_SOURCE, VIR_MIGRATE_PEER2PEER, VIR_MIGRATE_LIVE, VIR_MIGRATE_TUNNELLED, VIR_MIGRATE_NON_SHARED_INC'
- $live_migration_flag = 'VIR_MIGRATE_UNDEFINE_SOURCE, VIR_MIGRATE_PEER2PEER, VIR_MIGRATE_LIVE, VIR_MIGRATE_TUNNELLED'
-} else {
- $block_migration_flag = 'VIR_MIGRATE_UNDEFINE_SOURCE, VIR_MIGRATE_PEER2PEER, VIR_MIGRATE_LIVE, VIR_MIGRATE_NON_SHARED_INC'
- $live_migration_flag = 'VIR_MIGRATE_UNDEFINE_SOURCE, VIR_MIGRATE_PEER2PEER, VIR_MIGRATE_LIVE'
-}
-
-nova_config {
- 'DEFAULT/my_ip': value => $ipaddress;
- 'DEFAULT/linuxnet_interface_driver': value => 'nova.network.linux_net.LinuxOVSInterfaceDriver';
- 'DEFAULT/host': value => $fqdn;
- # In future versions of Nova, the live/block migration flags will be deprecated [1].
- # Tunnelling (encryption) will be handled via a single _new_ Nova
- # config attribute 'live_migration_tunnelled'[2], thus
- # avoiding users to have to supply libvirt flags.
- # In future versions of QEMU (2.6, mostly), Dan's native encryption
- # work will obsolete the need to use TUNNELLED transport mode.
- # [1] https://review.openstack.org/#/c/263436/
- # [2] https://review.openstack.org/#/c/263434/
- 'libvirt/block_migration_flag': value => $block_migration_flag;
- 'libvirt/live_migration_flag': value => $live_migration_flag;
-}
-
-if hiera('neutron::core_plugin') == 'midonet.neutron.plugin_v1.MidonetPluginV2' {
- file {'/etc/libvirt/qemu.conf':
- ensure => present,
- content => hiera('midonet_libvirt_qemu_data')
- }
-}
-include ::nova::network::neutron
-include ::neutron
-include ::neutron::config
-
-# If the value of core plugin is set to 'nuage',
-# include nuage agent,
-# If the value of core plugin is set to 'midonet',
-# include midonet agent,
-# else use the default value of 'ml2'
-if hiera('neutron::core_plugin') == 'neutron.plugins.nuage.plugin.NuagePlugin' {
- include ::nuage::vrs
- include ::nova::compute::neutron
-
- class { '::nuage::metadataagent':
- nova_os_tenant_name => hiera('nova::api::admin_tenant_name'),
- nova_os_password => hiera('nova_password'),
- nova_metadata_ip => hiera('nova_metadata_node_ips'),
- nova_auth_ip => hiera('keystone_public_api_virtual_ip'),