Files
puppet-neutron/examples/neutron.pp
Emilien Macchi a55bf294b0 Configure plugins by name
To configure core plugin or service plugins, instead of using class
names, simpler names can also be used.

Example:
service_plugins = router, firewall, lbaas
core_plugins = linuxbridge

It is a new feature brought in Icehouse (thanks to stevedor): http://git.io/QfyiLw
Bringing it into puppet-neutron simplifies the parameters use for end-user.

Change-Id: Ib96cc8ea67e89c37226ee6b9d1ae811fa1507672
Signed-off-by: Emilien Macchi <emilien.macchi@enovance.com>
2014-01-24 17:06:10 +01:00

69 lines
1.8 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',
}
# 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',
}