2011-04-29 20:37:04 +00:00
|
|
|
[[!meta title="Bootstrapping configuration and installation servers"]]
|
|
|
|
|
|
|
|
## Introduction
|
|
|
|
|
|
|
|
Imagine you can start from beginning in a new environment. There
|
|
|
|
are no automatic frameworks to install and configure systems
|
|
|
|
in place.
|
|
|
|
|
|
|
|
## Installation versus Configuration
|
|
|
|
|
|
|
|
We need a system to install machines and one to configure machines.
|
|
|
|
Although there are systems out there which try to do both at the
|
|
|
|
same time, the experience is having two specialised tools for this job
|
|
|
|
is the better choice: Each tool can focus on its own task best.
|
|
|
|
|
|
|
|
Some tools even enforce a reinstallation, if something needs to be
|
|
|
|
reconfigured, which is a good example why having two tools is the
|
|
|
|
better choice.
|
|
|
|
|
|
|
|
Seperating the installation from the configuration also allows you
|
|
|
|
to have the newly setup system minimally configured and adjust it
|
|
|
|
on demand, wheras having both in the same step would require
|
|
|
|
to define the use at installation time.
|
|
|
|
|
|
|
|
## Where to start?
|
|
|
|
|
|
|
|
Now the question is, which tool do we install first? The automatic
|
|
|
|
installation or configuration?
|
|
|
|
From a logical way on how a system is built, the installation
|
|
|
|
method should be preferred, because only an installed system can
|
|
|
|
be configured. But as you can see shortly, this is a bad choice,
|
|
|
|
as it results in the following steps:
|
|
|
|
|
|
|
|
* Manual installation of a system
|
|
|
|
* Manual installation of installation tool
|
|
|
|
* Manual configuration of installation tool
|
|
|
|
* Automatic installation of a new system for the configuration tool (optional)
|
|
|
|
* Manual installation of configuration tool
|
|
|
|
* Manual configuration of the configuration tool
|
|
|
|
* Automatic configuration of installation and configuration tool possible
|
|
|
|
|
|
|
|
If we change the order, we'll benefit from an automatic infrastructure
|
|
|
|
earlier:
|
|
|
|
|
|
|
|
* Manual installation of a system
|
|
|
|
* Manual installation of a configuration tool
|
|
|
|
* Manual configuration of the configuration tool
|
|
|
|
* Automatic installation of an installation tool
|
|
|
|
* Automatic configuration of an installation tool
|
|
|
|
* Automatic installation of a new system for the configuration or installation tool (optional)
|
|
|
|
|
|
|
|
## Ok, but what to do with these information?
|
|
|
|
|
2011-04-29 21:33:09 +00:00
|
|
|
As you might have watched my recent activities,
|
2011-04-29 20:37:04 +00:00
|
|
|
I've written a new
|
|
|
|
[[configuration management tool named cdist|software/cdist]],
|
|
|
|
started a project to install
|
|
|
|
[[unix installers named cuni|software/cuni]] and try to
|
|
|
|
bring together the [[unix community in the u2u project|net/u2u]].
|
|
|
|
|
|
|
|
The idea described above is the result of an old discussion, but
|
|
|
|
not having an installation framework at home a current problem.
|
|
|
|
|
|
|
|
## The plan
|
|
|
|
|
|
|
|
As **cdist** is ready to be used in production mode, I plan to write
|
|
|
|
some **cdist** types to setup installation servers soon.
|
|
|
|
|
|
|
|
Watch this blog for updates, if you want to install a installation
|
|
|
|
server via configuration management or begin to bootstrap a UNIX
|
|
|
|
infrastructure.
|
|
|
|
|
|
|
|
[[!tag eth sysadmin unix]]
|