8a760e4be6245c2e129a2116c4e12746021a0fe2
[mirror/dsa-puppet.git] / 3rdparty / modules / neutron / examples / base_provision.pp
1 #
2 # This manifest is intended to demonstrate how to provision the
3 # resources necessary to boot a vm with network connectivity provided
4 # by neutron.
5 #
6 # Note that a neutron_router resource must declare a dependency on the
7 # first subnet of the gateway network.  Other dependencies for the
8 # resources used in this example can be automatically determined.
9 #
10
11 keystone_tenant { 'admin':
12   ensure => present,
13 }
14
15 neutron_network { 'public':
16   ensure          => present,
17   router_external => 'True',
18   tenant_name     => 'admin',
19 }
20
21 neutron_subnet { 'public_subnet':
22   ensure       => 'present',
23   cidr         => '172.24.4.224/28',
24   network_name => 'public',
25   tenant_name  => 'admin',
26 }
27
28 keystone_tenant { 'demo':
29   ensure => present,
30 }
31
32 neutron_network { 'private':
33   ensure          => present,
34   tenant_name     => 'demo',
35 }
36
37 neutron_subnet { 'private_subnet':
38   ensure       => present,
39   cidr         => '10.0.0.0/24',
40   network_name => 'private',
41   tenant_name  => 'demo',
42 }
43
44 # Tenant-private router - assumes network namespace isolation
45 neutron_router { 'demo_router':
46   ensure               => present,
47   tenant_name          => 'demo',
48   gateway_network_name => 'public',
49   require              => Neutron_subnet['public_subnet'],
50 }
51
52 neutron_router_interface { 'demo_router:private_subnet':
53   ensure => present,
54 }