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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
#Copyright 2015 Open Platform for NFV Project, Inc. and its contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
class opnfv::external_net_setup {
if $public_gateway == '' { fail('public_gateway is empty') }
if $public_dns == '' { fail('public_dns is empty') }
if $public_network == '' { fail('public_network is empty') }
if $public_subnet == '' { fail('public_subnet is empty') }
if $public_allocation_start == '' { fail('public_allocation_start is empty') }
if $public_allocation_end == '' { fail('public_allocation_end is empty') }
if !$controllers_hostnames_array { fail('controllers_hostnames_array is empty') }
$controllers_hostnames_array_str = $controllers_hostnames_array
$controllers_hostnames_array = split($controllers_hostnames_array, ',')
#find public NIC
$public_nic = get_nic_from_network("$public_network")
$public_nic_ip = get_ip_from_nic("$public_nic")
$public_nic_netmask = get_netmask_from_nic("$public_nic")
Anchor[ 'neutron configuration anchor end' ]
->
#update bridge-mappings to physnet1
file_line { 'ovs':
ensure => present,
path => '/etc/neutron/plugin.ini',
line => '[ovs]',
}
->
#update bridge-mappings to physnet1
file_line { 'bridge_mapping':
ensure => present,
path => '/etc/neutron/plugin.ini',
line => 'bridge_mappings = physnet1:br-ex',
}
->
Exec["pcs-neutron-server-set-up"]
##this way we only let controller1 create the neutron resources
##controller1 should be the active neutron-server at provisioining time
if $hostname == $controllers_hostnames_array[0] {
Exec["all-neutron-nodes-are-up"]
->
neutron_network { 'provider_network':
ensure => present,
name => 'provider_network',
admin_state_up => true,
provider_network_type => flat,
provider_physical_network => 'physnet1',
router_external => true,
tenant_name => 'services',
}
->
neutron_subnet { 'provider_subnet':
ensure => present,
name => provider_subnet,
cidr => $public_subnet,
gateway_ip => $public_gateway,
allocation_pools => [ "start=${public_allocation_start},end=${public_allocation_end}" ],
dns_nameservers => $public_dns,
enable_dhcp => false,
network_name => 'provider_network',
tenant_name => 'services',
}
->
neutron_router { 'provider_router':
ensure => present,
name => 'provider_router',
admin_state_up => true,
gateway_network_name => 'provider_network',
tenant_name => 'admin',
}
}
}
|