
# Copyright 2017-present Open Networking Foundation
#
# 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.


---
# dhcpd/defaults/main.yml

# http://serverfault.com/questions/40712/what-range-of-mac-addresses-can-i-safely-use-for-my-virtual-machines
hwaddr_prefix: "c2a4"

site_name: placeholder-sitename
site_suffix: "{{ site_name }}.test"

# Management IP range from DHCP settings
mgmt_ipv4_first_octets: "192.168.200"

# node lists
head_lxd_list: []
physical_node_list: []

dns_search:
  - "{{ site_suffix }}"

dns_servers:
  - "{{ mgmt_ipv4_first_octets }}.1"

dhcpd_subnets:
  - interface: mgmtbr
    cidr: "{{ mgmt_ipv4_first_octets }}.1/24"
    dhcp_first: 129
    dhcp_last: 254
    other_static:
      - physical_node_list
      - head_lxd_list

# example dhcpd_subnets:
#
# dhcpd_subnets:
#   - interface: eth1
#     cidr: 192.168.200.1/24
#     dhcp_first: 129
#     dhcp_last: 254
#     tftp_server: 192.168.200.1
#     static_nodes:
#       - name: node1
#         ipv4_last_octet: 30
#         filename: boot.tftp
#     other_static:
#       - head_lxd_list

