From 742b27e22c6c22d4ac7f32665b3a4bda35ce252f Mon Sep 17 00:00:00 2001
From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Date: Mon, 6 Aug 2018 23:30:29 +0200
Subject: [IDF] infra VMs: Allow trunking mgmt network

Due to design limitations in idf.net_config, for a hybrid POD we need
to trunk certain network segments for the VMs running on the
jumpserver, including mgmt network going to cfg01, mas01.

Add mgmt VLAN support for cfg01, mas01 gated by a flag in IDF:
  idf.fuel.jumphost.trunks.mgmt: True

JIRA: FUEL-338

Change-Id: I6903f9b70e5f8a88618bce28e21c7c0631a05065
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
---
 .../classes/cluster/all-mcp-arch-common/infra/maas.yml.j2    | 12 +++++++++++-
 .../classes/cluster/mcp-common-ha/infra/config.yml.j2        | 11 ++++++++++-
 .../classes/cluster/mcp-common-noha/infra/config.yml.j2      |  9 +++++++++
 3 files changed, 30 insertions(+), 2 deletions(-)

(limited to 'mcp/reclass/classes/cluster')

diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/maas.yml.j2 b/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/maas.yml.j2
index b4afdd9d1..7ee1aa13f 100644
--- a/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/maas.yml.j2
+++ b/mcp/reclass/classes/cluster/all-mcp-arch-common/infra/maas.yml.j2
@@ -163,11 +163,21 @@ parameters:
         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}
-          type: eth
         pxe_admin_interface:
           enabled: true
           name: ${_param:pxe_admin_interface}
diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/infra/config.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/infra/config.yml.j2
index 6bc508387..0e880c558 100644
--- a/mcp/reclass/classes/cluster/mcp-common-ha/infra/config.yml.j2
+++ b/mcp/reclass/classes/cluster/mcp-common-ha/infra/config.yml.j2
@@ -40,8 +40,17 @@ parameters:
         single:
           enabled: true
           type: eth
-          proto: static
           name: ${_param:single_nic}
+{%- if conf.idf.fuel.jumphost.get('trunks', {}).get('mgmt', False) and (nm.vlan_mgmt | int > 0) %}
+          proto: manual
+        single_vlan:
+          enabled: true
+          type: vlan
+          name: ${_param:single_nic}.{{ nm.vlan_mgmt }}
+          use_interfaces:
+            - ${_param:single_nic}
+{%- endif %}
+          proto: static
           address: ${_param:single_address}
           netmask: ${_param:opnfv_net_mgmt_mask}
         pxe_admin_int:
diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/infra/config.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-noha/infra/config.yml.j2
index ac53e8225..dc31a93ca 100644
--- a/mcp/reclass/classes/cluster/mcp-common-noha/infra/config.yml.j2
+++ b/mcp/reclass/classes/cluster/mcp-common-noha/infra/config.yml.j2
@@ -29,6 +29,15 @@ parameters:
           enabled: true
           name: ${_param:opnfv_fn_vm_secondary_interface}
           type: eth
+{%- if conf.idf.fuel.jumphost.get('trunks', {}).get('mgmt', False) and (nm.vlan_mgmt | int > 0) %}
+          proto: manual
+        single_int_vlan:
+          enabled: true
+          type: vlan
+          name: ${_param:opnfv_fn_vm_secondary_interface}.{{ nm.vlan_mgmt }}
+          use_interfaces:
+            - ${_param:opnfv_fn_vm_secondary_interface}
+{%- endif %}
           proto: static
           address: ${_param:single_address}
           netmask: ${_param:opnfv_net_mgmt_mask}
-- 
cgit