Automate Operating System Installation

The section on automating operating system installation outlines best practices for using Attune Projects to streamline the installation process across various controllers such as:

It covers three main areas:

Creating ISO Image: This involves setting up distinct Attune Projects for each operating system, with Blueprints for creating various OS release ISOs. Projects are named following a specific pattern and include parameters for the device used to build the ISO image, the new operating system’s name, and configurations like the user account and boot loader type. It also includes steps for testing the installation and cleaning up build files post-installation.

Building the Machine: This part focuses on creating separate Attune Projects for each controller, aiming to make Blueprints as operating system agnostic as possible. The naming convention for these projects and parameters required, such as the device running scripts, the controller or host machine, and the build machine, are outlined. It also includes specifics like CPU count and boot ISO directory.

Putting it all Together (Glue Projects): The final section deals with glue projects, designed to simplify creating Plans for the complete workflow of building or rebuilding a machine. It emphasises the importance of pre-defining parameters and consolidating duplicate parameters in these projects. The naming convention for these projects integrates the operating system, installation method, and controller type.

Overall, the guide provides a comprehensive framework for automating operating system installations using Attune Projects, emphasising structure, naming conventions, and parameterisation to ensure efficiency and scalability.

Creating ISO Image

Each operating system will have its own self contained Attune Project with Blueprints to create the various operating system release ISO’s.

Project Naming

The Projects to create the ISO’s are named the following way:

Automate {os_name} Installation with {method}.

os_name examples:

  • Red Hat Enterprise Linux RHEL

  • Windows

  • Ubuntu

  • Debian

method examples:

  • Kickstart

  • Preseed

  • autoinstall

  • autounattend

Create ISO

Creating the ISO images will be completely independent of the controller used to build the machine. Any actions that require knowledge of the controller being used are to be placed in the Controller APIs Project.

Parameters

This Project will need a device to build the ISO image. This device can be the Attune Server or another device. This device will be named:

Automation Worker {type}.

The new operating system to be created will be named:

New OS {type}.

type examples:

  • Node

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

  • Base Directory

  • Boot Loader is BIOS

Test and Cleanup

The Project will include a Blueprint for testing the installation and a Blueprint to Cleanup the Build Files post installation.

Building the Machine

Each controller will have its own self contained Attune Project with Blueprints to perform various actions on the controller.

Where possible, Blueprints in the Controller APIs Project will be operating system agnostic. In some cases the differences between linux and windows make this impossible.

Project Naming

The Projects to perform processes on machine controllers and virtual hosts are named the following way:

{controller} APIs.

controller examples:

  • iDrac

  • PiKVM

  • VMWare ESXi

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. This device will be named:

Automation Worker {type}.

The controller or host machine will be named:

Controller {type}.

The machine to be built or rebuilt will be named:

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)

The objective of the glue project is to streamline and simplify the creation of Plans to perform the end-to-end workflow building or re-building a machine.

Project Naming

The Projects to perform the end-to-end workflow installing an operating system on a machine are named the following way:

Automate {os_name} Installation with {method} on {controller}

Parameters

When linking Blueprints into the glue Project, pre-define Parameters and combine the duplicate Parameters.

Wrapping Up: Streamlining OS Installation

This is a detailed framework for automating the installation of various operating systems using Attune Projects. It thoroughly outlines the processes for creating ISO images, building machines with different controllers, and integrating these components into cohesive glue projects. Emphasising structured naming conventions, clear parameterisation, and a focus on scalability and system-agnostic design, this approach streamlines the often complex task of operating system installations. By leveraging this framework, users can achieve more efficient, reliable, and automated installations across a diverse range of hardware and virtual environments.