neutron-gateway:
      charm: "./{{ ubuntu.release }}/neutron-gateway"
      num_units: 1
{% if os.service.bindings %}
{% if opnfv.spaces_dict.data is defined %}
      bindings:
        data: admin-api
{% else %}
      bindings:
        data: internal-api
{% endif %}
{% endif %}
      options:
        openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}"
{% if os.api.worker_multiplier %}
        worker-multiplier: {{ os.api.worker_multiplier }}
{% endif %}
{% if os.network.controller == 'nosdn' %}
{% if opnfv.ext_port is defined  %}
{% if opnfv.data_port is defined  %}
        bridge-mappings: physnet1:br-ex physnet2:br-data
        data-port: br-ex:{{ opnfv.ext_port }} br-data:{{ opnfv.data_port }}
{% else %}
        bridge-mappings: physnet1:br-ex
        data-port: br-ex:{{ opnfv.ext_port }}
{% endif %}
{% endif %}
{% elif os.network.controller == 'onos' %}
        plugin: onos
{% if opnfv.ext_port is defined  %}
{% if opnfv.data_port is defined  %}
        bridge-mappings: physnet1:br-data external:br-ex
        data-port: br-data:{{ opnfv.data_port }} br-ex:{{ opnfv.ext_port }}
{% else %}
        bridge-mappings: external:br-ex
        data-port: br-ex:{{ opnfv.ext_port }}
{% endif %}
{% endif %}
{% if os.network.sfc %}
        profile: onos-sfc
{% endif %}
{% elif os.network.controller == 'odl' %}
        plugin: ovs-odl
{% if opnfv.ext_port is defined  %}
{% if opnfv.data_port is defined  %}
        bridge-mappings: physnet1:br-ex physnet2:br-data
        data-port: br-ex:{{ opnfv.ext_port }} br-data:{{ opnfv.data_port }}
{% else %}
        bridge-mappings: physnet1:br-ex
        data-port: br-ex:{{ opnfv.ext_port }}
{% endif %}
{% endif %}
{% else %}
{% if opnfv.ext_port is defined  %}
        ext-port: {{ opnfv.ext_port }}
{% endif %}
{% endif %}
        instance-mtu: 1400
      to:
        - "nodes/0"
{# Empty block to avoid bad block trim #}