Unattended Compute Node Installation

Note

The unattended compute node installation is supported from Danube Cloud version 3.0.

The compute node installation can be automated by placing an answers.json file into the /private folder on the newly created USB flash drive. The /private/answers.json should contain a flat JSON object with all the configuration values that should be automatically used as answers by the installer. If an answer is missing or invalid, the installer will stop at the question and wait for a valid answer.

Note

Since version 4.3 the installer always saves the /usbkey/answers.json with all install answers (passwords are scrambled) and you can use it to replicate the install.

Example answers.json file
{
    "config_console": "vga",
    "skip_instructions": true,
    "simple_headers": true,
    "accept_eula": false,
    "advanced_install": false,
    "datacenter_name": "My datacenter",
    "etherstubs": "",
    "admin_ip": "192.168.12.10",
    "admin_netmask": "255.255.255.0",
    "admin_gateway": "192.168.12.1",
    "admin_vlan_id": "",
    "deploy_opnsense": "false",
    "add_nictags": true,
    "external_add_nictag": true,
    "external_add_ip": false,
    "external_preserve_mac": false,
    "internal_add_nictag": false,
    "storage_add_nictag": false,
    "headnode_default_gateway": "192.168.12.1",
    "dns_resolver1": "<default>",
    "dns_resolver2": "<default>",
    "dns_search": "<default>",
    "ntp_host": "<default>",
    "skip_ntp_check": false,
    "install_to_hdd": false,
    "disk_layout": "<default>",
    "root_password": "Passw0rd",
    "hostname": "<default>",
    "remote_node": false,
    "mgmt_admin_ip": "192.168.12.101",
    "cfgdb_admin_ip": "192.168.12.105",
    "esdc_install_password": "nbusr123",
    "admin_email": "root@example.com",
    "skip_final_confirm": true,
    "auto_reboot": "false"
}
Another example answers.json file with OPNSense VM
{
  "skip_instructions": "true",
  "simple_headers": "true",
  "config_console": "vga",
  "accept_eula": "true",
  "advanced_install": "1",
  "datacenter_name": "MyDC",
  "admin_nic": "00:0c:29:73:af:1b",
  "admin_ip": "10.11.11.11",
  "admin_netmask": "255.255.255.0",
  "admin_vlan_id": "11",
  "add_nictags": "1",
  "external_add_nictag": "true",
  "external_nic": "00:0c:29:73:af:1b",
  "external_add_ip": "true",
  "external_ip": "10.100.10.167",
  "external_netmask": "255.255.255.0",
  "external_vlan_id": "",
  "external_preserve_mac": "false",
  "internal_add_nictag": "true",
  "internal_nic": "00:0c:29:73:af:1b",
  "internal_add_ip": "false",
  "storage_add_nictag": "false",
  "deploy_opnsense": "1",
  "opnsense_admin_ip": "10.11.11.1",
  "opnsense_external_ip": "dhcp",
  "opnsense_external_mac": "auto",
  "headnode_default_network": "external",
  "dns_resolver1": "8.8.8.8",
  "dns_resolver2": "8.8.4.4",
  "dns_search": "local",
  "ntp_host": "0.smartos.pool.ntp.org",
  "install_to_hdd": "true",
  "disk_layout": "single",
  "root_password": "Passw0rd",
  "hostname": "n01.local",
  "mgmt_admin_ip": "10.11.11.111",
  "esdc_install_password": "Passw0rd",
  "admin_email": "root@example.com",
  "skip_final_summary": "true",
  "skip_final_confirm": "true",
  "auto_reboot": "false"
}
answers.json options
Installer option Note
config_console The boot console selected in the boot loader menu (vga, ttya, ttyb, ttyc).
skip_instructions default: false
simple_headers default: false
accept_eula default: false
advanced_install default: false; If false, some options in the answers.json file may be ignored.
datacenter_name  
etherstubs default: (empty); Comma-separated list of etherstub names.
admin_nic  
admin_ip  
admin_netmask default: 255.255.255.0
admin_vlan_id default: 0
add_nictags default: false; Must be true if other NIC tags should be configured.
<nictag>_add_nictag default: false; Valid values for <nictag> are: external, internal, storage.
<nictag>_nic Requires <nictag>_add_nictag to be true.
<nictag>_add_ip default: false; Requires <nictag>_add_nictag to be true.
<nictag>_ip Requires <nictag>_add_nictag to be true.
<nictag>_netmask default: 255.255.255.0; Requires <nictag>_add_nictag to be true.
<nictag>_vlan_id default: 0; Requires <nictag>_add_nictag to be true.
<nictag>_preserve_mac default: false; Requires <nictag>_add_nictag to be true.
deploy_opnsense default: no
opnsense_external_ip dhcp or IP address
opnsense_external_mac auto or MAC address or node (take node’s MAC from external NIC)
headnode_default_network admin or external, related to OPNSense VM
headnode_default_gateway default: first IP address in the admin subnet
admin_gateway default: first IP address in the admin subnet
dns_resolver1 default: 8.8.8.8
dns_resolver2 default: 8.8.4.4
dns_search default: local
ntp_host default: 0.smartos.pool.ntp.org
skip_ntp_check default: false
install_to_hdd default: false
disk_layout The default value will automatically confirm the suggested disk layout. Possible values are: default, single, mirror, raidz1, raidz2, raidz3, manual.
root_password  
hostname default: node02.<dns_search> or node01.<dns_search> for the first compute node
mgmt_admin_ip default: admin_ip + 1; Used only for the first compute node.
cfgdb_admin_ip Used for any other than the first compute node.
esdc_install_password  
remote_node default: true if cfgdb_admin_ip is outside the admin subnet; otherwise false
admin_email  
skip_final_summary default: false
skip_final_confirm default: false
auto_reboot default: false (wait for USB stick removal confirm)