]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/neutron/examples/neutron.pp
try again, with puppetforge modules, correctly included now
[dsa-puppet.git] / 3rdparty / modules / neutron / examples / neutron.pp
diff --git a/3rdparty/modules/neutron/examples/neutron.pp b/3rdparty/modules/neutron/examples/neutron.pp
new file mode 100644 (file)
index 0000000..7522e5e
--- /dev/null
@@ -0,0 +1,74 @@
+### 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',
+}