calculate subnet/netmask from cidr
[yaml_builds.git] / tools / j2 / serverrc.j2
index 3f68e92..d20c2ab 100644 (file)
 # host name for server
 SRV_NAME={{yaml.genesis.name}}
 
-# server oem - Dell or HPE (case sensitive)
-SRV_OEM={{yaml.genesis.oem}}
-
 # out of band interface information for server (idrac/ilo/etc)
 SRV_OOB_IP={{yaml.genesis.oob}}
 SRV_OOB_USR={{yaml.ipmi_admin.username}}
 SRV_OOB_PWD={{yaml.ipmi_admin.password}}
 
 # mac address of server to be used during the build - not required for Dell servers
-{% if 'genesis.mac_address' in yaml %}
+{% if 'mac_address' in yaml.genesis %}
 SRV_MAC={{yaml.genesis.mac_address}}
 {% endif %}
 
-# name of network interface used during build when ipxe.efi is booted and when os is booted
-# ipxe numbers ports from 0-n in pci bus order.
-# the netx value will depend on how many nics are in the server
-# and which pci device number is assigned to the slot
-SRV_IPXE_INF={{yaml.networks.pxe.inf}}
-
-# the build interface is the nic used by the Ubuntu installed to load the OS
-SRV_BLD_INF={{yaml.networks.slaves[0].name}}
-
 # the boot device is the device name on which the OS will be loaded
 SRV_BOOT_DEVICE={{yaml.disks[0].name}}
 SRV_CEPH_DEVICE={{yaml.disks[1].name}}
 
 # ipxe script to use - based on the os version and kernel to install
-# valid options are script-hwe-16.04.4-amd64.ipxe or script-16.04.4-amd64.ipxe
-SRV_BLD_SCRIPT=script-hwe-16.04.5-amd64.ipxe
+# valid options are script-hwe-16.04.6-amd64.ipxe or script-16.04.6-amd64.ipxe
+SRV_BLD_SCRIPT=script-hwe-16.04.6-amd64.ipxe
 
 # template xml file to set bios and raid configuration settings
-SRV_BIOS_TEMPLATE={{yaml.genesis.bios_template}}
-SRV_BOOT_TEMPLATE={{yaml.genesis.boot_template}}
-SRV_HTTP_BOOT_DEV={{yaml.genesis.http_boot_device}}
+SRV_BIOS_TEMPLATE={% if 'bios_template' in yaml.genesis %}{{yaml.genesis.bios_template}}
+                  {% else %}{{yaml.hardware.bios_template}}
+                  {% endif %}
+SRV_BOOT_TEMPLATE={% if 'boot_template' in yaml.genesis %}{{yaml.genesis.boot_template}}
+                  {% else %}{{yaml.hardware.boot_template}}
+                  {% endif %}
+SRV_HTTP_BOOT_DEV={% if 'http_boot_device' in yaml.genesis %}{{yaml.genesis.http_boot_device}}
+                  {% else %}{{yaml.hardware.http_boot_device}}
+                  {% endif %}
 
 # tempalte to run to configure OS after first boot
 # current options are: firstboot.sh.template, firstboot-genesis.sh.tempate or firstboot-airship-iab.sh.template
@@ -67,6 +61,7 @@ SRV_STORAGE_VLAN={{yaml.networks.storage.vlan}}
 SRV_CALICO_VLAN={{yaml.networks.ksn.vlan}}
 SRV_NEUTRON_VLAN={{yaml.networks.neutron.vlan}}
 SRV_PXE_INF={{yaml.networks.pxe.interface}}
+SRV_VXLAN_INF={{yaml.networks.vxlan.interface}}
 
 # basic network information for dhcp config and final server network settings
 SRV_MTU=9000
@@ -75,12 +70,17 @@ SRV_STORAGE_IP={{yaml.genesis.storage}}
 SRV_CALICO_IP={{yaml.genesis.ksn}}
 SRV_NEUTRON_IP={{yaml.genesis.neutron}}
 SRV_PXE_IP={{yaml.genesis.pxe}}
-SRV_SUBNET={{yaml.networks.host.subnet}}
-SRV_NETMASK={{yaml.networks.host.netmask}}
+SRV_VXLAN_IP={{yaml.genesis.vxlan}}
+SRV_SUBNET={{yaml.networks.host.cidr | cidr_subnet}}
+SRV_NETMASK={{yaml.networks.host.cidr | cidr_netmask}}
 SRV_GATEWAY={{yaml.networks.host.routes.gateway}}
-SRV_DNS="{{yaml.networks.host.dns.servers}}"
-SRV_DOMAIN={{yaml.networks.host.dns.domain}}
-SRV_DNSSEARCH={{yaml.networks.host.dns.domain}}
+SRV_DNS="{% if 'dns' in yaml.networks.host %}{{yaml.networks.host.dns.servers}}{% else %}{{yaml.dns.upstream_servers|join(' ')}}{% endif %}"
+SRV_DOMAIN={% if 'dns' in yaml.networks.pxe and 'domain' in yaml.networks.pxe.dns %}{{yaml.networks.pxe.dns.domain}}
+           {% else %}{{yaml.dns.domain}}
+           {% endif %}
+SRV_DNSSEARCH={% if 'dns' in yaml.networks.pxe and 'domain' in yaml.networks.pxe.dns %}{{yaml.networks.pxe.dns.domain}}
+              {% else %}{{yaml.dns.domain}}
+              {% endif %}
 SRV_NTP=ntp.ubuntu.org
 
 # root password for server being built
@@ -91,3 +91,4 @@ SRV_BOND={{yaml.networks.primary}}
 {% for slave in yaml.networks.slaves %}
 SRV_SLAVE{{loop.index}}={{slave.name}}
 {% endfor %}
+