blob: 6727ab35f9f620b3232bbc4bfb833be85f1ea12c (
plain)
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
|
##############################################################################
# Copyright (c) 2018 Mirantis Inc., Enea AB and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Apache License, Version 2.0
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
{%- import 'net_map.j2' as nm with context %}
---
# NOTE: pod_config is generated and transferred into its final location on
# cfg01 only during deployment to prevent leaking sensitive data
classes:
- system.maas.region.single
- service.maas.cluster.single
- cluster.all-mcp-arch-common.opnfv.lab_proxy_pdf
- cluster.all-mcp-arch-common.opnfv.pod_config
parameters:
_param:
mcpcontrol_interface: ${_param:opnfv_fn_vm_primary_interface}
primary_interface: ${_param:opnfv_fn_vm_secondary_interface}
pxe_admin_interface: ${_param:opnfv_fn_vm_tertiary_interface}
linux_system_codename: xenial
maas_admin_username: opnfv
dns_server01: '{{ nm.dns_public[0] }}'
pxe_admin_address: ${_param:infra_maas_node01_deploy_address}
single_address: ${_param:pxe_admin_address}
hwe_kernel: 'hwe-16.04'
opnfv_maas_timeout_comissioning: {{ nm.maas_timeout_comissioning }}
opnfv_maas_timeout_deploying: {{ nm.maas_timeout_deploying }}
maas:
region:
{%- if '-ovs-' in conf.MCP_DEPLOY_SCENARIO or '-fdio-' in conf.MCP_DEPLOY_SCENARIO %}
tags:
aarch64_hugepages_1g:
comment: 'Enable 1G pagesizes on aarch64'
definition: '//capability[@id="asimd"]'
kernel_opts: 'default_hugepagesz=1G hugepagesz=1G'
{%- endif %}
timeout:
# Set maas.wait_for_<state> timeouts to ~2.5x of MaaS <state> timeout
ready: {{ nm.maas_timeout_comissioning * 150 }}
deployed: {{ nm.maas_timeout_deploying * 150 }}
attempts: 3
boot_sources_delete_all_others: true
boot_sources:
resources_mirror:
url: http://images.maas.io/ephemeral-v3/daily
keyring_file: /usr/share/keyrings/ubuntu-cloudimage-keyring.gpg
boot_sources_selections:
xenial:
url: "http://images.maas.io/ephemeral-v3/daily"
os: "ubuntu"
release: "${_param:linux_system_codename}"
arches:
{%- for arch in nm.cluster.arch %}
- "{{ arch | dpkg_arch }}"
{%- endfor %}
subarches:
- "generic"
- "ga-16.04"
- "hwe-16.04"
labels: '"*"'
fabrics:
pxe_admin:
name: 'pxe_admin'
description: Fabric for PXE/admin
vlans:
0:
name: 'vlan 0'
description: PXE/admin VLAN
dhcp: true
primary_rack: "${linux:network:hostname}"
subnets:
{{ nm.net_admin }}:
name: {{ nm.net_admin }}
cidr: {{ nm.net_admin }}
gateway_ip: ${_param:single_address}
fabric: ${maas:region:fabrics:pxe_admin:name}
vlan: 0
ipranges:
1:
start: {{ nm.net_admin_pool_start }}
end: {{ nm.net_admin_pool_end }}
type: dynamic
sshprefs:
- '{{ conf.MAAS_SSH_KEY }}'
{%- if 'aarch64' in nm.cluster.arch %}
package_repositories:
armband:
name: armband
enabled: '1'
url: 'http://linux.enea.com/mcp-repos/${_param:armband_repo_version}/${_param:linux_system_codename}'
distributions: '${_param:armband_repo_version}-armband'
components: 'main'
arches: 'arm64'
key: ${_param:armband_key}
{%- endif %}
salt_master_ip: ${_param:reclass_config_master}
domain: ${_param:cluster_domain}
~maas_config:
maas_name: mas01
active_discovery_interval: 600
ntp_external_only: true
upstream_dns: ${_param:dns_server01}
commissioning_distro_series: 'xenial'
default_distro_series: 'xenial'
default_osystem: 'ubuntu'
default_storage_layout: 'lvm'
enable_http_proxy: true
disk_erase_with_secure_erase: false
dnssec_validation: 'no'
enable_third_party_drivers: true
network_discovery: 'enabled'
default_min_hwe_kernel: ${_param:hwe_kernel}
cluster:
saltstack_repo_xenial: "deb [arch=amd64] http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2017.7/ xenial main"
linux:
system:
kernel:
sysctl:
net.ipv4.ip_forward: 1
network:
interface:
mcpcontrol_interface:
enabled: true
name: ${_param:mcpcontrol_interface}
type: eth
proto: dhcp
mtu: ${_param:interface_mtu}
primary_interface:
enabled: true
name: ${_param:primary_interface}
type: eth
{%- if conf.idf.fuel.jumphost.get('trunks', {}).get('mgmt', False) and (nm.vlan_mgmt | int > 0) %}
proto: manual
mtu: ${_param:interface_mtu}
primary_interface_vlan:
enabled: true
type: vlan
name: ${_param:primary_interface}.{{ nm.vlan_mgmt }}
use_interfaces:
- ${_param:primary_interface}
{%- endif %}
proto: static
mtu: ${_param:interface_mtu}
address: ${_param:infra_maas_node01_address}
netmask: ${_param:opnfv_net_mgmt_mask}
pxe_admin_interface:
enabled: true
name: ${_param:pxe_admin_interface}
# MaaS has issues using MTU > 1500 for PXE interface
mtu: 1500
proto: static
address: ${_param:single_address}
netmask: ${_param:opnfv_net_admin_mask}
type: eth
iptables:
schema:
epoch: 1
service:
v4:
enabled: true
persistent_config: /etc/iptables/rules.v4
v6:
enabled: false
tables:
v4:
filter:
chains:
INPUT:
ruleset:
10:
rule: -s ${_param:single_address}/${_param:opnfv_net_admin_mask}
11:
rule: -d ${_param:single_address}/${_param:opnfv_net_admin_mask}
nat:
chains:
POSTROUTING:
policy: ACCEPT
ruleset:
10:
rule: -s ${_param:single_address}/${_param:opnfv_net_admin_mask}
action: MASQUERADE
|