SUSE brings a power-packed toolkit to make the life of data center sysadmins simpler – Machinery. Machinery is similar to the sysprep solution from Microsoft to some extent. Machinery can perform configuration discovery, system validation and service migration to multiple devices in a predefined way. It is a collection of diverse utilities working in unison. It makes a large part of the process automated.
The key concept of Machinery is the Universal System Description which describes the content of a system. The description can be stored, compared to other descriptions, analyzed, modified or used to replicate a system from a description. There’s a standard format for the System Description.
The system description is structured into “scopes”. A scope covers a specific part of the configuration of the inspected system such as installed packages, repositories, or configuration files. Scopes supported at the time of writing: changed-managed-files, config-files, groups, os, packages, patterns, repositories, services, unmanaged-files, users.
- Configuration discovery: Analyse a system and extract the config and installed software. Generate a description which can be used to replicate the system, to track its history, or to use it as a reference for other systems.
- System validation: Capture reference configs in templates, track changes, validate system against a known good configuration.
- Service migration: Migrate systems in a heterogeneous environment. Migrate physical systems to the cloud, one operating system version to another in an automated and repeatable way.
- Inspecting a system and collecting information
- Reviewing system description
- Deployment with configuration and app migration
Machinery support flavours of SLES and OpenSUSE at the time of writing. It can be installed from source on other systems but we haven’t tested how well it works of non-SUSE platforms like Ubuntu. We definitely hope that it officially supports other major distributions soon.
The installation links for SUSE operating systems can be found in Machinery homepage (linked below).
machinery by itself is a command with several subcommands to specify the task. To check all the options, run:
$ man machinery