Skip to content

Documentation

Operating systems

Two ways to get an operating system onto a machine. Cloning a prepared template is the fast one and the default. Installing over the network is the one you need when there is nothing to clone from: a bare machine, or a distribution you want installed rather than copied.

The catalogue

Your catalogue is the list of operating systems you offer. Each entry is linked to something concrete per integration: a template on your hypervisor, or a network installation profile.

An integration with no linked operating system cannot be ordered from, and the order form says so with a link to the tab that fixes it. The count is aware of the installation method: an integration set to clone from templates does not count profiles it will never use.

Templates

A template is a machine on your own hypervisor that Provibr clones. You can build one yourself, or let the platform build one for you: the catalogue page hands out a command you run on your own node, which fetches a cloud image, prepares it and turns it into a template.

Preparing an image is a fixed sequence: copy it, read its architecture, grow the filesystem, update the package index, install what a cloud machine needs, configure it, verify that root login over SSH works, check that host keys will be regenerated, wipe machine-specific identity, and take a checksum.

The image library itself is maintained by your provider, not by you. What you manage is which entries your organisation offers and which template each one points at on each integration.
A template's identifier has to sit outside the machine ID range on the integration. Inside the range, the allocator would hand out that identifier eventually and the next order would clone from itself.

Installing over the network

The agent can serve a network boot itself: it answers the boot request, hands out a boot loader, serves the kernel and the installer, and provides the answer file that makes the installation unattended. Nothing has to run on your network beforehand.

Profiles

A profile is one installation described end to end. There is a set your provider maintains that you can clone, and there are your own.

  • Distribution, release and architecture, and the answer format that belongs to it.
  • Where the installation medium comes from: served by the agent, which works without a route to the internet, or fetched from a mirror, which needs one.
  • Network: from the boot server, or a fixed address taken from your own address management.
  • Disk layout, SSH policy, extra packages, locale, keyboard and time zone.
  • Commands to run after the installation, either inside the installer or inside the installed system.

The service on the agent

Network installation is switched on per agent, on its own tab. You choose which network interface it listens on, and the interface choice is enforced by the kernel rather than by the program.

By default the agent answers alongside the address server you already have, adding only what a network boot needs. It can also hand out addresses itself, but that is presented as a test facility: it needs one specific interface and one address block, it asks for confirmation, and it switches itself off again after a day.

The agent also reports other boot servers it sees on the same segment, because two of them answering the same machine is the kind of problem that is invisible from a distance.

Running an installation

You start it from the server's settings tab. Provibr checks everything it can check before the button does anything: the agent supports it, the integration is set to install over the network, the service is on, the machine has known hardware addresses, and the profile has everything it needs.

The order matters and is deliberate. Your agent is told to listen first, and only once it confirms is the machine powered on. The other way round, the machine would boot before anything was listening, get no answer and quietly fall back to its disk.

The root password and the SSH keys go into the answer file the installer reads. The rendered file is never stored, and the audit trail records only that those fields were filled in.

An installation overwrites the disk. That is why starting one needs its own permission and why you have to type the server's name first.

When it does not boot

The agent records what it saw, stage by stage: whether the service was listening, whether a boot request arrived, whether the boot loader was fetched, whether the kernel started, whether the installer called back. Reaching a stage proves the ones before it, so the last stage reached is the whole diagnosis.

  • No request at all: the machine never asked. Check that it boots from the network and that the agent is on the right segment.
  • A request arrived but did not match: the hardware address in the request is not the one recorded on the server.
  • The answer was sent but the boot loader was never fetched, usually because of another boot server on the same segment, or a firmware that cannot reach the agent's port.
  • The boot loader ran but the kernel, the initial ramdisk or the answer file failed.
  • The installer started and never reported back. From here on it is the installation itself, and its own log is the place to look.
Hardware and network addresses are masked in this timeline unless you have the permission to see them in full. This is also a feature your provider switches on.

The cache on the agent

Whatever the agent has to fetch for an installation is kept on its disk, addressed by checksum and verified by signature. The second machine you install therefore does not download it again.

From the agent's cache tab you can inspect what is there, fetch something in advance, verify it, delete an entry and empty the whole cache. Viewing and changing are separate permissions.

An entry that is in use or still downloading cannot be deleted, and the panel says which of the two it is. The cache has a budget; if you lower it below what is already stored, the panel shows that you are over rather than pretending you are not.