summaryrefslogtreecommitdiffstats
path: root/mcp/scripts/virsh_net/net_public.xml.j2
blob: bc9d64dc16f7e95f991222fcaa59d2858ef8745a (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
<!--
 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
-->
{%- set cluster = {'has_virtual_nodes': False} %}
{%- for node in conf.nodes %}
  {%- if not cluster.has_virtual_nodes and node.node.type == 'virtual' %}
    {%- set _ = cluster.update({'has_virtual_nodes': True}) %}
  {%- endif %}
{%- endfor %}
{%- if conf.idf.net_config.public is defined %}
  {%- set public_network = conf.idf.net_config.public.network %}
  {%- set public_prefix = conf.idf.net_config.public.mask %}
{%- else %}
  {%- set public_network = '10.16.0.0' %}
  {%- set public_prefix = '24' %}
{%- endif %}
<network>
  <name>public</name>
  <bridge name="public"/>
{%- if cluster.has_virtual_nodes %}
{#- Ideally, jumpserver would have a real Linux bridge we will hook to.
    In case it doesn't, we use this virsh network as a *mock* public.
    The *mock* public should NOT overlap with the real public in any way. #}
  <forward mode="nat"/>
  <ip address="{{ public_network | ipaddr_index(1) }}" netmask="{{ public_prefix | netmask }}"/>
{%- endif %}
</network>