@@ -365,6 +365,76 @@ remove the service requirement matching the host with the command
365365The mapping is actually removed at the next ` aq reconfigure ` for the host after modifying
366366the 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
370440Initial installation of a node in Quattor is managed by the AII component that generally runs on
0 commit comments