# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # libvirt_network: # name: provision-network # spec: # forward: # mode: nat # nat: # port: # - start: 1024 # end: 65535 # bridge: # name: "prov-net-br" # stp: 'on' # delay: '0' # ip: # address: "172.22.0.1" # netmask: "255.255.255.0" # libvirt_network: # name: "{{ bm_net_name }}" # persistent: true # autostart: true # spec: # forward: # mode: nat # nat: # port: # - start: 1024 # end: 65535 # bridge: # name: "{{ bm_net_name }}" # stp: 'on' # delay: '0' # domain: # name: 'tests.baremetal.net' # localOnly: 'yes' # dns: # - forwarder: # domain: 'apps.tests.baremetal.net' # addr: '127.0.0.1' # - forwarder: # domain: 'services.tests.baremetal.net' # addr: '127.0.0.1' # ip: "{{ bm_net_0_ip_cfg }}" libvirt_network_template_default: | <network> <name>{{ net_yaml.name }}</name> {% if net_yaml.forward is defined %} {% if net_yaml.forward.mode is defined %} <forward mode='{{ net_yaml.forward.mode }}'> {% else %} <forward> {% endif %} {% if net_yaml.forward.nat is defined %} <nat> {% if net_yaml.forward.nat.port is defined %} {% for port in net_yaml.forward.nat.port %} <port start='{{ port.start | string }}' end='{{ port.end | string }}'/> {% endfor %} {% endif %} </nat> {% endif %} </forward> {% endif %} {% if net_yaml.bridge is defined %} <bridge {% if net_yaml.bridge.name is defined %} name='{{ net_yaml.bridge.name }}' {% endif %} {% if net_yaml.bridge.stp is defined %} stp='{{ net_yaml.bridge.stp | string }}' {% endif %} {% if net_yaml.bridge.delay is defined %} delay='{{ net_yaml.bridge.delay | string }}' {% endif %} /> {% endif %} {% if net_yaml.mac is defined %} <mac {% if net_yaml.mac.address is defined %} address='{{ net_yaml.mac.address }}' {% endif %} /> {% endif %} {% if net_yaml.domain is defined %} <domain {% if net_yaml.domain.name is defined %} name='{{ net_yaml.domain.name }}' {% endif %} {% if net_yaml.domain.localOnly is defined %} localOnly='{{ net_yaml.domain.localOnly | string }}' {% endif %} /> {% endif %} {% if net_yaml.dns is defined %} <dns> {% if net_yaml.dns | list %} {% for dns_item in net_yaml.dns %} {% if dns_item.forwarder is defined %} <forwarder {% if dns_item.forwarder.domain is defined %} domain='{{ dns_item.forwarder.domain }}' {% endif %} {% if dns_item.forwarder.addr is defined %} addr='{{ dns_item.forwarder.addr }}' {% endif %} /> {% endif %} {% endfor %} {% endif %} </dns> {% endif %} {% if net_yaml.ip is defined %} <ip {% if net_yaml.ip.address is defined %} address='{{ net_yaml.ip.address }}' {% endif %} {% if net_yaml.ip.netmask is defined %} netmask='{{ net_yaml.ip.netmask }}' {% endif %} > {% if net_yaml.ip.dhcp is defined %} <dhcp> {% for dhcp_item in net_yaml.ip.dhcp %} {% if dhcp_item.range is defined %} <range {% if dhcp_item.range.start is defined %} start='{{ dhcp_item.range.start }}' {% endif %} {% if dhcp_item.range.end is defined %} end='{{ dhcp_item.range.end }}' {% endif %} /> {% endif %} {% if dhcp_item.host is defined %} <host {% if dhcp_item.host.mac is defined %} mac='{{ dhcp_item.host.mac }}' {% endif %} {% if dhcp_item.host.name is defined %} name='{{ dhcp_item.host.name }}' {% endif %} {% if dhcp_item.host.ip is defined %} ip='{{ dhcp_item.host.ip }}' {% endif %} /> {% endif %} {% endfor %} </dhcp> {% endif %} </ip> {% endif %} </network>