-
Notifications
You must be signed in to change notification settings - Fork 96
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Define host group settings persistance * Edit host group settings hierarchy and priorities * Split host group settings into a separate module * Split host group-related modules into a separate assembly --------- Co-authored-by: Jeremy Lenz <jlenz@redhat.com> Co-authored-by: Shimon Shtein <sshtein@redhat.com>
- Loading branch information
Showing
6 changed files
with
153 additions
and
34 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
include::modules/con_working-with-host-groups.adoc[] | ||
|
||
include::modules/con_host-group-settings-and-nested-host-groups.adoc[leveloffset=+1] | ||
|
||
include::modules/proc_creating-a-host-group.adoc[leveloffset=+1] | ||
|
||
include::modules/proc_creating-a-host-group-for-each-lifecycle-environment.adoc[leveloffset=+1] | ||
|
||
include::modules/proc_adding-a-host-to-a-host-group.adoc[leveloffset=+1] | ||
|
||
include::modules/proc_changing-the-host-group-of-a-host.adoc[leveloffset=+1] |
133 changes: 133 additions & 0 deletions
133
guides/common/modules/con_host-group-settings-and-nested-host-groups.adoc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,133 @@ | ||
[id="Host_Group_Settings_and_Nested_Host_Groups_{context}"] | ||
= Host Group Settings and Nested Host Groups | ||
|
||
A host group can define many settings for hosts, such as Lifecycle Environment, Content View, or Ansible roles that are available to the hosts. | ||
|
||
IMPORTANT: When you change the settings of an existing host group, the new settings do not propagate to the hosts assigned to the host group. | ||
Only Puppet class settings get updated on hosts after you change them in the host group. | ||
|
||
You can create a hierarchy of host groups. | ||
Aim to have one base level host group that represents all hosts in your organization and provides general settings, and then nested groups that provide specific settings. | ||
|
||
{Project} applies host settings in the following order when nesting host groups: | ||
|
||
* Host settings take priority over host group settings. | ||
* Nested host group settings take priority over parent host group settings. | ||
|
||
.Nested Host Group Hierarchy | ||
==== | ||
You create a top-level host group named *Base* and two nested host groups named *Webserver* and *Storage*. | ||
The nested host groups are associated with multiple hosts. | ||
You also create host `custom.example.com` that is not associated with any host group. | ||
You define the operating system on the top-level host group (*Base*) and Ansible roles on the nested host groups (*Webservers* and *Storage*). | ||
[cols="1,1,1,2"] | ||
|=== | ||
|Top-level host group |Nested host group |Hosts |Settings inherited from host groups | ||
.4+|*Base* | ||
This host group applies the `{EL}{nbsp}8.8` operating system setting. | ||
// Rows related to Webservers | ||
.2+|*Webservers* | ||
This host group applies the `linux-system-roles.selinux` Ansible role. | ||
|*webserver1.example.com* | ||
.2+a|Hosts use the following settings: | ||
* `{EL}{nbsp}8.8` defined by host group *Base* | ||
* `linux-system-roles.selinux` defined by host group *Webservers* | ||
|*webserver2.example.com* | ||
// Rows related to Storage | ||
.2+|*Storage* | ||
This host group applies the `linux-system-roles.postfix` Ansible role. | ||
|*storage1.example.com* | ||
.2+a|Hosts use the following settings: | ||
* `{EL}{nbsp}8.8` defined by host group *Base* | ||
* `linux-system-roles.postfix` defined by host group *Storage* | ||
|*storage2.example.com* | ||
// Row related to No host group | ||
2+|[No host group] | ||
|*custom.example.com* | ||
|No settings inherited from host groups. | ||
|=== | ||
==== | ||
|
||
.Nested Host Group Settings | ||
==== | ||
You create a top-level host group named *Base* and two nested host groups named *Webserver* and *Storage*. | ||
You also create host `custom.example.com` that is associated with the top-level host group *Base*, but no nested host group. | ||
You define different values for the operating system and Ansible role settings on the top-level host group (*Base*) and nested host groups (*Webserver* and *Storage*). | ||
[cols="1,1,1,2"] | ||
|=== | ||
|Top-level host group |Nested host group |Host |Settings inherited from host groups | ||
.5+a|*Base* | ||
This host group applies these settings: | ||
* The `{EL}{nbsp}8.8` operating system | ||
* The `linux-system-roles.selinux` Ansible role | ||
// Rows related to Webservers | ||
.2+a|*Webservers* | ||
This host group applies these settings: | ||
* The `{EL}{nbsp}8.9` operating system | ||
* No Ansible role | ||
|*webserver1.example.com* | ||
.2+a|Hosts use the following settings: | ||
* The `{EL}{nbsp}8.9` operating system from host group *Webservers* | ||
* The `linux-system-roles.selinux` Ansible role from host group *Base* | ||
|*webserver2.example.com* | ||
// Rows related to Storage | ||
.2+a|*Storage* | ||
This host group applies these settings: | ||
* No operating system | ||
* The `linux-system-roles.postfix` Ansible role | ||
|*storage1.example.com* | ||
.2+a|Hosts use the following settings: | ||
* The `{EL}{nbsp}8.8` operating system from host group *Base* | ||
* The `linux-system-roles.postfix` Ansible role from host group *Storage* | ||
|*storage2.example.com* | ||
// Row related to custom.example.com | ||
|[No nested host group] | ||
|*custom.example.com* | ||
a|Host uses the following settings: | ||
* The `{EL}{nbsp}8.8` operating system from host group *Base* | ||
* The `linux-system-roles.selinux` Ansible role from host group *Base* | ||
|=== | ||
==== | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
[id="Working_with_Host_Groups_{context}"] | ||
= Working with Host Groups | ||
|
||
A host group acts as a template for common host settings. | ||
Instead of defining the settings individually for each host, use host groups to define common settings once and apply them to multiple hosts. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters