updated templates and scripts for Airship 1.3
[yaml_builds.git] / tools / j2 / serverrc.j2
1 ##############################################################################
2 # Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.        #
3 #                                                                            #
4 # Licensed under the Apache License, Version 2.0 (the "License"); you may    #
5 # not use this file except in compliance with the License.                   #
6 #                                                                            #
7 # You may obtain a copy of the License at                                    #
8 #       http://www.apache.org/licenses/LICENSE-2.0                           #
9 #                                                                            #
10 # Unless required by applicable law or agreed to in writing, software        #
11 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT  #
12 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.           #
13 # See the License for the specific language governing permissions and        #
14 # limitations under the License.                                             #
15 ##############################################################################
16
17 # Add proxy settings if required for your environment
18 # export http_proxy=http://your.proxy.com:8080/
19 # export https_proxy=http://your.proxy.com:8080/
20 #
21
22 # host name for server
23 SRV_NAME={{yaml.genesis.name}}
24
25 # out of band interface information for server (idrac/ilo/etc)
26 SRV_OOB_IP={{yaml.genesis.oob}}
27 SRV_OOB_USR={{yaml.ipmi_admin.username}}
28 SRV_OOB_PWD={{yaml.ipmi_admin.password}}
29
30 # mac address of server to be used during the build - not required for Dell servers
31 {% if 'mac_address' in yaml.genesis %}
32 SRV_MAC={{yaml.genesis.mac_address}}
33 {% endif %}
34
35 # the boot device is the device name on which the OS will be loaded
36 SRV_BOOT_DEVICE={{yaml.hardware.device_aliases|selectattr('key', 'equalto', 'bootdisk') | map(attribute='name')|first|replace("/dev/","")}}
37 SRV_CEPH_DEVICE={{yaml.hardware.device_aliases|selectattr('key', 'equalto', 'cephjournal1') | map(attribute='name')|first|replace("/dev/","")}}
38
39 # ipxe script to use - based on the os version and kernel to install
40 # valid options are script-hwe-16.04.6-amd64.ipxe or script-16.04.6-amd64.ipxe
41 SRV_BLD_SCRIPT=script-hwe-16.04.6-amd64.ipxe
42
43 # template xml file to set bios and raid configuration settings
44 SRV_BIOS_TEMPLATE={% if 'bios_template' in yaml.genesis %}{{yaml.genesis.bios_template|default("",true)}}
45                   {% else %}{{yaml.hardware.bios_template|default("",true)}}
46                   {% endif %}
47 SRV_BOOT_TEMPLATE={% if 'boot_template' in yaml.genesis %}{{yaml.genesis.boot_template}}
48                   {% else %}{{yaml.hardware.boot_template}}
49                   {% endif %}
50 SRV_HTTP_BOOT_DEV={% if 'http_boot_device' in yaml.genesis %}{{yaml.genesis.http_boot_device}}
51                   {% else %}{{yaml.hardware.http_boot_device}}
52                   {% endif %}
53
54 # tempalte to run to configure OS after first boot
55 # current options are: firstboot.sh.template, firstboot-genesis.sh.tempate or firstboot-airship-iab.sh.template
56 SRV_FIRSTBOOT_TEMPLATE=firstboot-genesis.sh.template
57 SRV_KERNEL_PARAMS="{% if 'platform' in yaml %}{% for key, value in yaml.platform.kernel_params.items() %}{{key}}={{value}}{{ ' ' if not loop.last else '' }}{% endfor %}{% endif %}"
58
59 # VLAN to use during build and for final network configuration
60 SRV_VLAN={{yaml.networks.host.vlan}}
61 SRV_STORAGE_VLAN={{yaml.networks.storage.vlan}}
62 SRV_CALICO_VLAN={{yaml.networks.ksn.vlan}}
63 SRV_NEUTRON_VLAN={{yaml.networks.neutron.vlan}}
64 SRV_PXE_INF={{yaml.networks.pxe.interface}}
65 SRV_VXLAN_INF={% if 'vxlan' in yaml.networks %}{{yaml.networks.vxlan.interface}}{% endif %}
66
67 # basic network information for dhcp config and final server network settings
68 SRV_MTU=9000
69 SRV_IP={{yaml.genesis.host}}
70 SRV_STORAGE_IP={{yaml.genesis.storage}}
71 SRV_CALICO_IP={{yaml.genesis.ksn}}
72 SRV_NEUTRON_IP={{yaml.genesis.neutron}}
73 SRV_PXE_IP={{yaml.genesis.pxe}}
74 SRV_VXLAN_IP={% if 'vxlan' in yaml.networks %}{{yaml.genesis.vxlan}}{% endif %}
75
76 SRV_SUBNET={{yaml.networks.host.cidr | cidr_subnet}}
77 SRV_NETMASK={{yaml.networks.host.cidr | cidr_netmask}}
78 SRV_GATEWAY={{yaml.networks.host.routes.gateway}}
79 SRV_DNS="{% if 'dns' in yaml.networks.host %}{{yaml.networks.host.dns.servers}}{% else %}{{yaml.dns.upstream_servers|join(' ')}}{% endif %}"
80 SRV_DOMAIN={% if 'dns' in yaml.networks.pxe and 'domain' in yaml.networks.pxe.dns %}{{yaml.networks.pxe.dns.domain}}
81            {% else %}{{yaml.dns.domain}}
82            {% endif %}
83 SRV_DNSSEARCH={% if 'dns' in yaml.networks.pxe and 'domain' in yaml.networks.pxe.dns %}{{yaml.networks.pxe.dns.domain}}
84               {% else %}{{yaml.dns.domain}}
85               {% endif %}
86 SRV_NTP=ntp.ubuntu.org
87
88 # root password for server being built
89 SRV_PWD={{yaml.genesis.root_password}}
90
91 # network bond information
92 SRV_BOND={{yaml.networks.primary}}
93 {% for slave in yaml.networks.slaves %}
94 SRV_SLAVE{{loop.index}}={{slave.name}}
95 {% endfor %}