Skip to content

Commit 262b832

Browse files
committed
Aquilon doc: add documentation on configuring cluster
1 parent 7c99492 commit 262b832

3 files changed

Lines changed: 75 additions & 0 deletions

File tree

_aquilon/management.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,76 @@ remove the service requirement matching the host with the command
365365
The mapping is actually removed at the next `aq reconfigure` for the host after modifying
366366
the service requirements.
367367

368+
## Using Aquilon clusters
369+
370+
[Clusters][aquilon_details] are intended to represent in Aquilon a group of hosts that must be configured in
371+
the same way and will host other Aquilon machines, typically hypervisors in a cloud. Like hosts, they have
372+
an archetype and personality attached. It allows to ensure that all hosts that are
373+
part of the cluster receive the same configuration. The cluster personality is added to the host, in addition
374+
to the host personality (each cluster has a plenary template describing the cluster configuration and
375+
personality that is included in the configuration of all hosts belonging to the cluster). Except for specific
376+
requirements, the host personality of a clustered host is generally kept minimal, just providing the basic
377+
OS configuration.
378+
379+
Configuring a cluster involves:
380+
* Creating the cluster archetype and personality
381+
* Creating the cluster
382+
* Adding hosts (hypervisors) to the cluster
383+
* Using the cluster as the "machine location" for virtual machines
384+
385+
### Creating the cluster archetype and personality
386+
387+
A cluster archetype is created the same way as as [host archetype](#adding-archetypes),
388+
with the exception that `--cluster_type compilable` option must be added. A typical example would be:
389+
390+
```bash
391+
aq add_archetype --archetype cluster_test --compilable --cluster_type compute
392+
```
393+
394+
Personality is created the same way as for a [host personality](#personalities)). The same personality
395+
(and archetype) can be used with several clusters.
396+
397+
Like for host archetypes, it is possible to [bind](#binding-features-to-personalities) a feature to a cluster personality.
398+
399+
400+
### Creating the cluster
401+
402+
A cluster is created with `aq add_cluster`. For example, to create a cluster `cluster_test` that will
403+
use the personality `os_hv_test` from archetype `cluster_test`, use the following command:
404+
405+
```bash
406+
aq add cluster --cluster cluster_test --archetype cluster_test --personality os_hv_test
407+
--down_hosts 0 --building hq --sandbox your/sandbox
408+
```
409+
410+
In the previous command, `--down_hosts` is set to 0 as Aquilon doesn't make a direct use of this value
411+
(an external monitoring tool would be required). For `--building` and `--sandbox`, use values appropriate
412+
to your site (sandbox name must be in the form `user/sandbox_name`).
413+
414+
### Adding hosts to the cluster
415+
416+
After creating the cluster, it is necessary to add or more hosts as the cluster members (e.g. hypervisors in a
417+
cluster representing a cloud). The host must have been created with the [standard procedure](/aquilon/configuration.html#declaring-hosts)
418+
before adding it to the cluster. This is done with the command `aq cluster`.
419+
420+
For example, to add a node `hv1.example.com` in the cluster `cluster_test`:
421+
422+
```bash
423+
aq cluster --cluster cluster_test --hostname hv1.example.com
424+
```
425+
426+
Note that if the host was previously part of another cluster, it will be removed from the original cluster.
427+
428+
### Binding virtual machines to the cluster
429+
430+
Hosts are associated with the cluster through the machine they use. When creating the machine, use the
431+
option `--cluster` instead of `--rack`, `--desk` or `--chassis`. One the machine is configured,
432+
[add the hosts][aquilon_hosts] to Aquilon using the same procedure as for hosts using bare metal machines.
433+
434+
It is not possible to update a machine that was initially configured to use a bare metal machine to become
435+
a virtual machine. It is possible to change the cluster hosting a machine (or change a virtual machine hosted
436+
by a host to a VM hosted by a cluster) with `aq update_machine` command with the `--cluster` option.
437+
368438
## Initial Installation
369439

370440
Initial installation of a node in Quattor is managed by the AII component that generally runs on

_aquilon/technical_details.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,10 @@ thresholds associated with the cluster, like the minimum or maximum number of ho
124124
any time. Clusters can also be used to describe a HA cluster. Note that Aquilon is not a replacement for the
125125
cluster middleware: it just allows to represent a group of machines managed by such a middleware.
126126

127+
Clusters, like hosts, have an archetype and personality attached. It allows to ensure that all hosts that are
128+
part of the cluster receive the same configuration. The cluster personality is added to the host, in addition
129+
to the host personality.
130+
127131
Once a cluster is defined, it can be used as an alternative to a machine object to describe where is running
128132
a host. In this case, Aquilon doesn't track on which cluster node the host is running: it lets the middleware
129133
do the scheduling, assuming that all hosts in the cluster are equivalent.

_includes/link_definitions.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ This file contains link definitions that can be used in reference links.
77
[aquilon_configuration]: /aquilon/configuration.html
88
[aquilon_details]: /aquilon/technical_details.html
99
[aquilon_domains]: /aquilon/technical_details.html#domains
10+
[aquilon_hosts]: /aquilon/configuration.html#declaring-hosts
1011
[aquilon_install]: /aquilon/00-install.html
1112
[aquilon_management]: /aquilon/management.html
1213
[aquilon_plenary]: /aquilon/technical_details.html#plenary-templates

0 commit comments

Comments
 (0)