##############################################################################
# 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 %}
{%- import 'net_macros.j2' as ma with context %}
{%- set vlan_private_start = (nm.vlan_private | string).rsplit('-')[0] %}
---
classes:
  - cluster.mcp-common-noha.openstack_gateway
  - service.neutron.gateway.opendaylight.single
  - cluster.mcp-odl-noha
parameters:
  linux:
    network:
      interface:
{%- if '-ovs-' in conf.MCP_DEPLOY_SCENARIO %}
        {{ nm.ctl01.nic_private }}:
          ovs_port_type: OVSPort
          type: ovs_port
          bridge: br-prv
          ovs_bridge: br-prv
        br-prv:
          enabled: true
          type: ovs_bridge
          mtu: ${_param:interface_mtu}
          proto: static
          address: ${_param:tenant_address}
          netmask: ${_param:opnfv_net_private_mask}
          use_interfaces:
            - {{ nm.ctl01.nic_private }}
{%- else %}
        br-mesh:
          enabled: true
          type: bridge
          mtu: ${_param:interface_mtu}
          proto: static
          address: ${_param:tenant_address}
          netmask: ${_param:opnfv_net_private_mask}
          use_interfaces:
            - {{ ma.interface_str(nm.ctl01.nic_private, vlan_private_start) }}
{%- endif %}
    system:
      file:
        /var/tmp/odl_hostconfig.patch:
          contents: |
            420c420
            <                 if datapath_types.find(datapath_type) >= 0)
            ---
            >                 if datapath_type in datapath_types)
            460c460
            <         return subprocess.check_output(command_line).strip()  # nosec
            ---
            >         return subprocess.check_output(command_line).strip().decode()  # nosec