File: neutron.pp

package info (click to toggle)
puppet-module-neutron 25.0.0-6
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 3,708 kB
  • sloc: ruby: 12,680; python: 38; sh: 15; makefile: 10
file content (56 lines) | stat: -rw-r--r-- 1,611 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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
48
49
50
51
52
53
54
55
56
### Cloud Controller:

# General Neutron stuff
# Configures everything in neutron.conf
class { 'neutron':
  default_transport_url => 'rabbit://guest:password@localhost:5672/neutron',
  service_plugins       => ['metering']
}

# The API server talks to keystone for authorisation
class { 'neutron::server':
  auth_password       => 'password',
  database_connection => 'mysql+pymysql://neutron:password@192.168.1.1/neutron',
}

# Configure nova notifications system
class { 'neutron::server::notifications':
  tenant_name => 'admin',
  password    => 'secrete',
}

# Various agents
class { 'neutron::agents::dhcp': }
class { 'neutron::agents::l3': }
class { 'neutron::agents::vpnaas': }
class { 'neutron::agents::metering': }

# This plugin configures Neutron for OVS on the server
# Agent
class { 'neutron::agents::ml2::ovs':
  local_ip     => '192.168.1.1',
  tunnel_types => ['vxlan']
}

# 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':
  default_transport_url => 'rabbit://guest:password@localhost:5672/neutron',
}

# The agent/plugin combo also needs installed on clients
# Agent
class { 'neutron::agents::ml2::ovs':
  local_ip     => '192.168.1.11',
  tunnel_types => ['vxlan']
}