1 ##############################################################################
2 # Copyright (c) 2018 Mirantis Inc., Enea AB and others.
3 # All rights reserved. This program and the accompanying materials
4 # are made available under the terms of the Apache License, Version 2.0
5 # which accompanies this distribution, and is available at
6 # http://www.apache.org/licenses/LICENSE-2.0
7 ##############################################################################
8 {%- import 'net_map.j2' as nm with context %}
10 # NOTE: pod_config is generated and transferred into its final location on
11 # cfg01 only during deployment to prevent leaking sensitive data
13 - system.maas.region.single
14 - service.maas.cluster.single
15 - cluster.mcp-common-ha.include.lab_proxy_pdf
16 - cluster.all-mcp-arch-common.opnfv.pod_config
19 mcpcontrol_interface: ${_param:opnfv_fn_vm_primary_interface}
20 primary_interface: ${_param:opnfv_fn_vm_secondary_interface}
21 pxe_admin_interface: ${_param:opnfv_fn_vm_tertiary_interface}
23 # MaaS has issues using MTU > 1500 for PXE interface
24 pxe_admin_interface_mtu: 1500
25 linux_system_codename: xenial
26 maas_admin_username: opnfv
27 maas_admin_password: opnfv_secret
28 maas_db_password: opnfv_secret
29 dns_server01: '{{ nm.dns_public[0] }}'
30 single_address: ${_param:infra_maas_node01_deploy_address}
31 hwe_kernel: 'hwe-16.04'
32 opnfv_maas_timeout_comissioning: {{ nm.maas_timeout_comissioning }}
33 opnfv_maas_timeout_deploying: {{ nm.maas_timeout_deploying }}
36 boot_sources_delete_all_others: true
39 url: http://images.maas.io/ephemeral-v3/daily
40 keyring_file: /usr/share/keyrings/ubuntu-cloudimage-keyring.gpg
41 boot_sources_selections:
43 url: "http://images.maas.io/ephemeral-v3/daily"
45 release: "${_param:linux_system_codename}"
47 {%- for arch in nm.cluster.arch %}
48 - "{{ arch | dpkg_arch }}"
57 name: {{ nm.net_admin }}
58 cidr: {{ nm.net_admin }}
59 gateway_ip: ${_param:single_address}
62 start: {{ nm.net_admin_pool_start }}
63 end: {{ nm.net_admin_pool_end }}
67 description: "Fabric Admin"
73 - '{{ conf.MAAS_SSH_KEY }}'
74 {%- if 'aarch64' in nm.cluster.arch %}
79 url: 'http://linux.enea.com/mcp-repos/${_param:openstack_version}/${_param:linux_system_codename}'
80 distributions: '${_param:openstack_version}-armband'
84 -----BEGIN PGP PUBLIC KEY BLOCK-----
85 Version: GnuPG v2.0.14 (GNU/Linux)
87 mQENBFagAroBCADWboNIjuF6lB1mWv2+EbvqY3lKl5mLKhr2DnSUkKeHUPBv8gNM
88 qK8Q00AMIyPiyEhgjA+dWizZ+5aBgxoiY7oMeLJ2Xym36U/8SYq2BWd3SGCbMNoz
89 SJDxDUSM/HFVs6atF1M3DY9oN65hSVnu4uy5Tu6asf6k4rhAyk0z4+pRcPBCu2vq
90 mnGi3COM/+9PShrEKeVOx5W2vRJywUFuq8EDvQnRoJ0GvM28JiJIanw17YwIPxhg
91 BKZVpZjan5X+ihVMXwA2h/G/FS5Omhd50RqV6LWSYs94VJJgYqHx8UMm7izcxI+P
92 ct3IcbD195bPbJ+SbuiFe45ZLsdY1MyGiU2BABEBAAG0K0VuZWEgQXJtYmFuZCBE
93 ZXZvcHMgVGVhbSA8YXJtYmFuZEBlbmVhLmNvbT6JATgEEwECACICGwMGCwkIBwMC
94 BhUIAgkKCwQWAgMBAh4BAheABQJaY3bYAAoJEN6rkLp5irHRoQMH/0PYl0A/6eWw
95 nQ/szhEFrr76Ln6wA4vEO+PiuWj9kTkZM2NaCnkisrIuHSPIVvOLfFmztbE6sKGe
96 t+a2b7Jqw48DZ/gq508aZE4Q307ookxdCOrzIu/796hFO34yXg3sqZoJh3VmKIjY
97 4DL8yG1iAiQ5vOw3IFWQnATwIZUgaCcjmE7HGap+9ePuJfFuQ8mIG5cy28t8qocx
98 AB/B2tucfBMwomYxKqgbLI5AG7iSt58ajvrrNa9f8IX7Ihj/jiuXhUwX+geEp98K
99 IWVI1ftEthZvfBpZW4BS98J4z//dEPi31L4jb9RQXq3afF2RpXchDeUN85bW45nu
102 -----END PGP PUBLIC KEY BLOCK-----
105 {%- set pxe_interface = conf.idf.net_config.admin.interface %}
106 {#- We only support exactly 5 nodes for now, hardcoded order #}
107 {%- set node_roles = ['kvm01', 'kvm02', 'kvm03', 'cmp001', 'cmp002'] %}
108 {%- for node in conf.nodes %}
109 {%- if node.node.type == 'baremetal' %}
110 {{ node_roles[loop.index0] }}:
112 mac: {{ node.interfaces[pxe_interface].mac_address }}
114 power_address: {{ node.remote_management.address.rsplit('/')[0] }}
115 power_password: {{ node.remote_management.pass }}
116 power_type: {{ node.remote_management.type }}
117 power_user: {{ node.remote_management.user }}
118 architecture: {{ node.node.arch | dpkg_arch }}/generic
119 distro_series: xenial
120 hwe_kernel: ${_param:hwe_kernel}
121 {%- if loop.index0 >= node_roles.index('cmp001') %}
131 salt_master_ip: ${_param:reclass_config_master}
132 domain: ${_param:cluster_domain}
134 commissioning_distro_series: 'xenial'
135 default_distro_series: 'xenial'
136 default_osystem: 'ubuntu'
137 default_storage_layout: 'lvm'
138 enable_http_proxy: true
139 disk_erase_with_secure_erase: false
140 dnssec_validation: 'no'
141 enable_third_party_drivers: true
142 network_discovery: 'enabled'
143 default_min_hwe_kernel: ${_param:hwe_kernel}
145 saltstack_repo_xenial: "http://repo.saltstack.com/apt/ubuntu/16.04/amd64/2016.11/ xenial main"
149 mcpcontrol_interface:
151 name: ${_param:mcpcontrol_interface}
156 name: ${_param:primary_interface}
157 mtu: ${_param:interface_mtu}
159 address: ${_param:infra_maas_node01_address}
160 netmask: ${_param:opnfv_net_mgmt_mask}
164 name: ${_param:pxe_admin_interface}
165 mtu: ${_param:pxe_admin_interface_mtu}
167 address: ${_param:single_address}
168 netmask: ${_param:opnfv_net_admin_mask}