f9b3d184a0
Recent versions of Neutron are able to provide active notifications to Nova about changes to port status and data. This change adds the neutron::server::notifications class to allow Puppet to configure this feature when setting up a Neutron server. neutron.conf requires a tenant UUID for communicating with Nova. This changes adds adds a custom type and provider to translate an admin tenant name to the required UUID. Co-Authored-By: emilienm <emilien.macchi@enovance.com> Change-Id: I57af7cb47a12adabed9b1ee65e1c352b3e5fc2de Closes-bug: 1306694
75 lines
2.0 KiB
Puppet
75 lines
2.0 KiB
Puppet
### Cloud Controller:
|
|
|
|
# General Neutron stuff
|
|
# Configures everything in neutron.conf
|
|
class { 'neutron':
|
|
verbose => true,
|
|
allow_overlapping_ips => true,
|
|
rabbit_password => 'password',
|
|
rabbit_user => 'guest',
|
|
rabbit_host => 'localhost',
|
|
service_plugins => ['metering']
|
|
}
|
|
|
|
# The API server talks to keystone for authorisation
|
|
class { 'neutron::server':
|
|
keystone_password => 'password',
|
|
connection => 'mysql://neutron:password@192.168.1.1/neutron',
|
|
}
|
|
|
|
# Configure nova notifications system
|
|
class { 'neutron::server::notifications':
|
|
nova_admin_tenant_name => 'admin',
|
|
nova_admin_password => 'secrete',
|
|
}
|
|
|
|
# Various agents
|
|
class { 'neutron::agents::dhcp': }
|
|
class { 'neutron::agents::l3': }
|
|
class { 'neutron::agents::lbaas': }
|
|
class { 'neutron::agents::vpnaas': }
|
|
class { 'neutron::agents::metering': }
|
|
|
|
# This plugin configures Neutron for OVS on the server
|
|
# Agent
|
|
class { 'neutron::agents::ovs':
|
|
local_ip => '192.168.1.1',
|
|
enable_tunneling => true,
|
|
}
|
|
|
|
# Plugin
|
|
class { 'neutron::plugins::ovs':
|
|
tenant_network_type => 'gre',
|
|
}
|
|
|
|
# ml2 plugin with vxlan as ml2 driver and ovs as mechanism driver
|
|
class { 'neutron::plugins::ml2':
|
|
type_drivers => ['vxlan'],
|
|
tenant_network_types => ['vxlan'],
|
|
vxlan_group => '239.1.1.1',
|
|
mechanism_drivers => ['openvswitch'],
|
|
vni_ranges => ['0:300']
|
|
}
|
|
|
|
### Compute Nodes:
|
|
# Generally, any machine with a neutron element running on it talks
|
|
# over Rabbit and needs to know if overlapping IPs (namespaces) are in use
|
|
class { 'neutron':
|
|
allow_overlapping_ips => true,
|
|
rabbit_password => 'password',
|
|
rabbit_user => 'guest',
|
|
rabbit_host => 'localhost',
|
|
}
|
|
|
|
# The agent/plugin combo also needs installed on clients
|
|
# Agent
|
|
class { 'neutron::agents::ovs':
|
|
local_ip => '192.168.1.11',
|
|
enable_tunneling => true,
|
|
}
|
|
|
|
# Plugin
|
|
class { 'neutron::plugins::ovs':
|
|
tenant_network_type => 'gre',
|
|
}
|