Automate Operating System Installation

Attune provides a solution to streamline the OS installation process. It works across Windows and Linux on many physical or virtual controllers, such as:

Or you can create bootable flash drives if you don’t have access to a controller.

Getting Started

Setup the Worker

A worker is key in creating ISO files. Workers handle tasks. These tasks include unpacking ISO files. They also involve adding drivers and settings.

You will send files to the controller and call APIs.

The worker can be on macOS, Linux, or Windows. Attune Projects work with Windows, macOS, and Linux workers.

Here is a list of the setup projects to clone:

Follow the instructions within the project to setup your worker.

Understanding the process

Two parts make up the OS installation automation.

  1. Creating the ISO files and

  2. Building the Machine.

The two parts merged into Glue Projects, performing a unique process.

Creating the ISO(s)

To make an ISO image, set up separate Attune Projects. Each OS and worker type needs Blueprints for ISO creation.

The ISO creation process is controller-independent. No controller-specific details needed.

Tasks needing controller info go in Controller APIs Project.

Project Naming

The following way names the projects to create the ISO’s.

Create {os_name} ISO with {method} built on {worker_type}.

os_name examples:

  • Red Hat Enterprise Linux RHEL

  • Windows

  • Ubuntu

  • Debian

method examples:

  • Kickstart

  • Preseed

  • autoinstall

  • autounattend

worker_type examples:

  • Windows

  • macOS or Linux

Parameters

This Project will need a worker to build the ISO image. This worker can be the device Attune is running on or another device. We will name this device:

Automation Worker {type}

We will name the parameters for the new operating system that we are creating:

New OS {type}

type examples:

  • Node

  • User: {account such as ‘root’, ‘Administrator’, or ‘non privileged’}

  • Base Directory

Blueprints

We will name the Blueprint:

Create {os_distribution} {installation_method} ISO.

os_distribution examples:

  • Red Hat Enterprise Linux 8 (RHEL8)

  • Windows 10 (Win10)

  • Windows Server 2019 (Win2019)

installation_method (for Windows only) examples:

  • Single

  • Dual

  • WinPE

Attaching Drivers

The device drivers and ISO creation projects work independently. Drivers go into a drop directory before ISO creation. When creating an ISO, it copies drivers into it.

Create new projects for your devices drivers and add to this growing list.

Test and Cleanup

The Project will include a Blueprint to test the installation. It will also include a Blueprint to clean the build files on the worker.

Building the Machine

In this section, we’ll set up distinct Attune Projects for each controller. To ensure Blueprints work on any operating system, we can also make a bootable flash disk.

We’ll name these projects and specify details. These include the device running scripts, the controller, host machine, and build machine. Additionally, we’ll include information on CPU count and boot ISO directory.

Our goal is to make Blueprints in the Controller APIs Project compatible with any OS. Yet, Linux and Windows differ. So, complete OS agnosticism may not always be possible.

Project Naming

The Projects perform processes on machine controllers and virtual hosts. Here are their names:

{controller} APIs from {worker_type}

controller examples:

  • iDrac

  • PiKVM

  • VMWare ESXi

worker_type examples:

  • Windows

  • macOS or Linux

Or, the Project Name for creating bootable USB disks will differ.

Parameters

This Project may need a device to run scripts and send commands to the controller. This device can be the Attune Server or another device. We will name this device:

Automation Worker {type}

Name the controller or host machine:

Controller {type}

We will name the machine that we are going to build or rebuild:

Build Machine {type}

type examples:

  • Node

  • ESXi Host

  • vCenter Node

  • User: {account such as ‘root’ or ‘non privileged’}

  • CPU Count

  • Boot ISO Directory

Putting it all Together (Glue Projects)

This last part is about glue projects. They help make Plans for building machines easier. The key is setting parameters and removing duplicates.

Project Naming

The Projects perform the whole workflow. They install an OS on a machine. The following names are:

{controller} {os_name} Installer from a {worker_type} Machine

controller examples:

  • iDrac

  • PiKVM

  • VMWare ESXi

os_name examples:

  • Red Hat Enterprise Linux RHEL

  • Windows

  • Ubuntu

  • Debian

worker_type examples:

  • Windows

  • macOS or Linux

Parameters

When linking Blueprints into the Glue Project, set Parameters in advance. Also, combine any duplicate Parameters.

For an example of a Glue Project: PiKVM Windows Installer from a Windows Machine

Wrapping Up: Streamlining OS Installation

This framework automates installing different OS with Attune Projects. It covers creating ISO images, setting up machines, and integrating components. It focuses on clear naming, scalability, and system-agnostic design. This approach simplifies OS installations, making them efficient and reliable. Users get automated installations on various hardware and virtual setups.