Installing the solution distribution on the server
General information | A must-read
The solution distribution image is based on Debian. This material is not intended to teach you how to install a classic Debian-based distribution.
For flexibility when installing the solution on servers, two types of installation images are provided: for the primary host, which includes the central orchestration server component, and for secondary hosts, which do not. The primary image can be re-installed on other hosts in the future to extend the central server.
The image for the primary node can also be used to install secondary nodes, as it contains all packages.
Attention!
In any type of installation when partitioning disks you need to allocate 2.5x of RAM for SWAP.
After installing the solution you need to configure the system. To do this, use the configuration instructions: Configuring and licensing the solution after installation
Instructions for the different types of installation
Installation using ISO images
Application
When there is physical access to the servers;
When there is a fast network connection to the server and the ability to mount the ISO image in the KVM interface (or equivalent) of the server over the network.
Installation instructions - physical server access or IPMI/KVM access
Obtain the images using the link provided or offline with physical transfer of the solution:
CODEinstall_primary.iso install_secondary.isoMount a virtual disk using IPMI interface (or equivalent) or insert a USB drive of suitable size
(>= 16Gb) into the server with a pre-recorded image via theddutility;Select boot from Virtual Media / USB in BIOS;
Install the solution according to the general installation procedure (see installation video): on the primary server
install_primary.iso, on the secondary serverinstall_secondary.iso.
Installation with IPXE or ipxe.iso image via IPMI/KVM
Application
When there is a slow network connection to a server with an IPMI/KVM management interface with the ability to connect ISO images + there is another secondary server on the network with the customized server, or a public secondary server on the Internet (usually https://assets.aircloud.org/menu.ipxe) that can be accessed from the network of the customized server.
Instructions for installing from a public IPXE server
Use the link https://assets.aircloud.org/menu.ipxe for IPXE installation. You must be provided with a login and password for access. If the server console does not have a built-in IPXE installation, use the IPXE image: https://boot.ipxe.org/ipxe.iso.
Detailed installation steps:
Obtain the images (https://boot.ipxe.org/ipxe.iso):
CODEipxe.isoIn the IPMI/KVM interface, mount
ipxe.isoto the server where we put the product and boot from this ISO;At the moment of booting there will be an opportunity to get a console for entering commands
. To do this you should pressCtrl+B. The moment is easy to miss, so the best tactic would be to keep pressing this combination all the time.Network configuration:
If there is a dhcp server on the network that will give out the ip for that server, then type the
dhcpcommand in the console;For static configuration it is necessary to find out the name of the network interface with the
ifstatcommand:CODEiPXE> ifstat net0: 52:54:00:3b:fa:dd ... [Link:up, TX:0 TXE:0 RX:0 RXE:0]here the name of the interface is
net0
Next, type the
configcommand and get to the configuration menu. You can navigate through the menu using the arrows and theEnterkey;In this menu there will be a "directory"
net0/or with your interface name. Enter it and set the values in the fieldsgateway,ip,netmask,dnsactual for your network;Then exit the menu by pressing
Ctrl+X.You can check the configuration by entering the
routecommand in the console. Your network settings should be displayedStart the installation. Enter the command
CODEchain https://assets.aircloud.org/menu.ipxeA screen will appear with a choice of distribution type - primary or secondary. Select the desired distribution:

A screen will appear asking for a
login and password. After entering the correct login and password, the distribution installation will start:
Install the solution following the general installation instructions.
Instructions on how to deploy and connect your own IPXE server
Obtain one of the following images:
CODEnetboot_primary.tar netboot_secondary.tarDownload the required image to the auxiliary server;
Extract the image to a directory
CODEmkdir /opt/nextop-install cd /opt/nextop-install tar xvf /path/to/netboot_primary.tarChange the configuration (optional)
In the config.jsonfile you can configure limitation of file downloading by login and password.
Thehttp_server_userandhttp_server_passoptions are responsible for thisStarting the installation server
CODEcd /opt/nextop-install ./serverInside
netboot_primary.tarandnetboot_secondary.tar images there is anipxe.isofile
. It should be either downloaded from the auxiliary server or unpacked locally and taken from there;In the IPMI/KVM interface, boot the server in IPXE boot mode. If it is not available, in IPMI/KVM-interface mount
ipxe.iso(https://boot.ipxe.org/ipxe.iso) on the server where you want to install the product and boot from this ISO-image;At the moment of booting there will be an opportunity to get a console for entering commands
. To do this you need to pressCtrl+B. The moment is easy to miss, so the best tactic would be to keep pressing this combination at all times;Network configuration:
If there is a DHCP server on the network that will issue an IP for this server, then type the
dhcpcommand in the console;For static configuration it is necessary to find out the name of the network interface with the
ifstatcommand:CODEiPXE> ifstat net0: 52:54:00:3b:fa:dd ... [Link:up, TX:0 TXE:0 RX:0 RXE:0]here the name of the interface is
net0.
Next, type the
configcommand and get to the configuration menu. You can navigate through the menu using the arrows and theEnterkey;In this menu there will be a "directory"
net0/or with your interface name. Enter it and set the values in the fieldsgateway,ip,netmask,dnsactual for your network;Then exit the menu by pressing
Ctrl+X;You can check the configuration by entering the
routecommand in the console. Your network settings should be displayed;Start the installation. Enter the command:
CODEchain http://<configured_auxiliary_server_ip>/menu.ipxeIf a login and password was set in config
.json, the login and password screen will appear;Install the solution following the general installation instructions.
Installation using a PXE image via IPMI/KVM
Application
Suitable when the installation is to be performed on a server that supports PXE boot, has DHCP configuration capability, and has a secondary server to store the installation image.
Installation instructions
Obtain images:
CODEnetboot_primary.tar netboot_secondary.tarUpload the required image to the secondary server;
Extract the image to a directory:
CODEmkdir /opt/nextop-install cd /opt/nextop-install tar xvf /path/to/netboot_primary.tarEnable tftpd in config
.json. Set the option"enable_tftpd": true;
# /opt/nextop-install/config.json
{
"http_server_port": "80",
"http_server_host": "",
"http_server_user": "",
"http_server_pass": "",
"log_file": "",
"enable_tftpd": true
}
Also in the same config you can configure access restriction by login and password (optional). The options
http_server_userandhttp_server_passare responsible for this;Configure in the
DHCP-server next-server=<auxiliary_server_ip>andfilename=undionly.kpxe;
config forisc-dhcp-server isgiven as an exampleCODEdefault-lease-time 600; max-lease-time 7200; allow booting; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.3 192.168.0.253; option broadcast-address 192.168.0.255; option routers 192.168.0.1; # gateway option domain-name-servers 192.168.0.1; # dns next-server <configured_auxiliary_server_ip>; filename "undionly.kpxe"; group { next-server <configured_auxiliary_server_ip>; host tftpclient { filename "undionly.kpxe"; } }Start the installation server:
CODEcd /opt/nextop-install ./serverIn the IPMI/KVM interface, boot the server in IPXE boot mode;
At the moment of booting there will be an opportunity to get a console for entering commands
. To do this you need to pressCtrl+B. The moment is easy to miss, so the best tactic is to keep pressing this combination.Network configuration: in the console type the command
dhcp.Start the installation. Enter the command:
- CODE
chain http://<configured_auxiliary_server_ip>/menu.ipxe If a login and password were specified in config
.json. the login and password screen appears;Install the solution following the general installation instructions.
Installation over the Internet using a PXE image via IPMI/KVM
Application
Suitable when the target server supports PXE boot but does not support mounting an ISO image. It is possible to configure a DHCP server.
Installation instructions
Configure in
DHCP-server next-server=<nextop_server_ip>andfilename=undionly.kpxe.
The config forisc-dhcp-server isgiven as an example:
default-lease-time 600;
max-lease-time 7200;
allow booting;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.3 192.168.0.253;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1; # gateway
option domain-name-servers 192.168.0.1; # dns
next-server <nextop_server_ip>;
filename "undionly.kpxe";
group {
next-server <nextop_server_ip>;
host tftpclient {
filename "undionly.kpxe";
}
}
In the IPMI/KVM interface, boot the server in PXE boot mode;
At the moment of booting there will be an opportunity to get a console for entering commands
. To do this you need to pressCtrl+B. The moment is easy to miss, so the best tactic is to keep pressing this combination.Network configuration: in the console type the command
dhcp
Start the installation. Enter the command- CODE
chain https://assets.aircloud.org/menu.ipxe A menu with the choice of distribution will appear

After selecting the distribution, the bootloader will ask for login and password

After entering the correct login and password, the installer will be launched
Install the solution according to the general installation instructions
Debugging
This section will provide useful materials and links to fix problems that may arise.
Logs
In the Debain installer the logs are written to /var/log/syslog by default
The only utilities available to upload them are wget (neither ssh nor curl are installed by default).
wget -O- --post-file=/var/log/syslog {server_ip_address_here}
A primitive server on python3
import http.server as server
class HTTPRequestHandler(server.SimpleHTTPRequestHandler):
def do_POST(self):
cont_len = int(self.headers['Content-Length'])
with open("syslog", 'wb') as output_file:
output_file.write(self.rfile.read(cont_len))
self.send_response(200, 'Created')
self.end_headers()
self.wfile.write('Logs saved'.encode('utf-8'))
if __name__ == '__main__':
server.test(HandlerClass=HTTPRequestHandler)
Another easy way to get the logs:
On any available server, run:
nc -l 0.0.0.0 10000 > syslog.txt
On the server we want to pick up from syslog:
cat /var/log/syslog | nc {server_ip_addreess_here} 10000