-
Notifications
You must be signed in to change notification settings - Fork 110
Add docs for foreman_ansible_director plugin #4730
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from 5 commits
d279598
9a4ac08
2b1cd66
9e56306
faa6f4c
c7b3dcf
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| :_mod-docs-content-type: ASSEMBLY | ||
|
Check warning on line 1 in guides/common/assembly_build-and-manage-ansible-execution-environments.adoc
|
||
|
|
||
| include::modules/con_build-and-manage-ansible-execution-environments.adoc[] | ||
|
|
||
| include::modules/ref_supported-python-versions.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_build-an-ansible-execution-environment-by-using-web-ui.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_build-an-ansible-execution-environment-by-using-cli.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_build-an-ansible-execution-environment-by-using-api.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_change-an-ansible-execution-environment-by-using-web-ui.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_change-an-ansible-execution-environment-by-using-cli.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_change-an-ansible-execution-environment-by-using-api.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_delete-an-ansible-execution-environment-by-using-web-ui.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_delete-an-ansible-execution-environment-by-using-cli.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_delete-an-ansible-execution-environment-by-using-api.adoc[leveloffset=+1] | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| :_mod-docs-content-type: ASSEMBLY | ||
|
Check warning on line 1 in guides/common/assembly_configure-hosts-by-using-ansible.adoc
|
||
|
|
||
| include::modules/con_configure-hosts-by-using-ansible.adoc[] | ||
|
|
||
| include::modules/proc_assign-an-ansible-environment-to-a-host-by-using-web-ui.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_assign-an-ansible-environment-to-a-host-by-using-cli.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_assign-an-ansible-environment-to-a-host-by-using-api.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_assign-ansible-roles-to-a-host-by-using-web-ui.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_assign-ansible-roles-to-a-host-by-using-cli.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_assign-ansible-roles-to-a-host-by-using-api.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_unassign-ansible-roles-from-a-host-by-using-web-ui.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_unassign-ansible-roles-from-a-host-by-using-cli.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_unassign-ansible-roles-from-a-host-by-using-api.adoc[leveloffset=+1] | ||
|
|
||
| // TODO: Assign via host registration/provisioning/host groups? | ||
|
|
||
| include::modules/proc_apply-ansible-based-configuration-to-a-host-by-using-web-ui.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_apply-ansible-based-configuration-to-a-host-by-using-cli.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_apply-ansible-based-configuration-to-a-host-by-using-api.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_run-an-ansible-playbook-on-a-host-by-using-web-ui.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_run-an-ansible-playbook-on-a-host-by-using-cli.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_run-an-ansible-playbook-on-a-host-by-using-api.adoc[leveloffset=+1] | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,32 @@ | ||
| :_mod-docs-content-type: ASSEMBLY | ||
|
Check warning on line 1 in guides/common/assembly_customize-ansible-content.adoc
|
||
|
|
||
| include::modules/con_customize-ansible-content.adoc[] | ||
|
|
||
| include::modules/con_types-of-overrides.adoc[leveloffset=+1] | ||
|
|
||
| // TODO: Retest procedure | ||
| include::modules/proc_customize-default-values-of-ansible-variables-by-using-web-ui.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_customize-default-values-of-ansible-variables-by-using-cli.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_customize-default-values-of-ansible-variables-by-using-api.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_customize-values-of-ansible-variables-using-simple-matchers-by-using-web-ui.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_customize-values-of-ansible-variables-using-simple-matchers-by-using-cli.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_customize-values-of-ansible-variables-using-simple-matchers-by-using-api.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_customize-values-of-ansible-variables-using-custom-matchers-by-using-web-ui.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_customize-values-of-ansible-variables-using-custom-matchers-by-using-cli.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_customize-values-of-ansible-variables-using-custom-matchers-by-using-api.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_customize-values-of-ansible-variables-for-a-host-by-using-web-ui.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_customize-values-of-ansible-variables-for-a-host-by-using-cli.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_customize-values-of-ansible-variables-for-a-host-by-using-api.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/ref_ansible-variable-precedence.adoc[leveloffset=+1] | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,33 @@ | ||
| :_mod-docs-content-type: ASSEMBLY | ||
|
Check warning on line 1 in guides/common/assembly_import-and-manage-ansible-content.adoc
|
||
|
|
||
| include::modules/con_import-and-manage-ansible-content.adoc[] | ||
|
|
||
| include::modules/proc_import-ansible-content-from-ansible-galaxy-by-using-web-ui.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_import-ansible-content-from-ansible-galaxy-by-using-cli.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_import-ansible-content-from-ansible-galaxy-by-using-api.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_import-ansible-content-from-a-git-repository-by-using-web-ui.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_import-ansible-content-from-a-git-repository-by-using-cli.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_import-ansible-content-from-a-git-repository-by-using-api.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_import-ansible-content-based-on-a-yml-file-by-using-web-ui.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_import-ansible-content-based-on-a-yml-file-by-using-cli.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_import-ansible-content-based-on-a-yml-file-by-using-api.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_delete-imported-ansible-content-by-using-web-ui.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_delete-imported-ansible-content-by-using-cli.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_delete-imported-ansible-content-by-using-api.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_delete-versions-of-imported-ansible-content-by-using-web-ui.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_delete-versions-of-imported-ansible-content-by-using-cli.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_delete-versions-of-imported-ansible-content-by-using-api.adoc[leveloffset=+1] | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,47 @@ | ||
| :_mod-docs-content-type: ASSEMBLY | ||
|
Check warning on line 1 in guides/common/assembly_manage-ansible-environments.adoc
|
||
|
|
||
| include::modules/con_manage-ansible-environments.adoc[] | ||
|
|
||
| include::modules/proc_create-an-ansible-lifecycle-environment-path-by-using-web-ui.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_create-an-ansible-lifecycle-environment-path-by-using-cli.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_create-an-ansible-lifecycle-environment-path-by-using-api.adoc[leveloffset=+1] | ||
|
|
||
| // TODO: Retest with Ansible lifecycle environments in LEP: if it does not work, add limitation/explain that users must delete all LE first/can only delete empty LEP | ||
| include::modules/proc_delete-an-ansible-lifecycle-environment-path-by-using-web-ui.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_delete-an-ansible-lifecycle-environment-path-by-using-cli.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_delete-an-ansible-lifecycle-environment-path-by-using-api.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_create-an-ansible-lifecycle-environment-by-using-web-ui.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_create-an-ansible-lifecycle-environment-by-using-cli.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_create-an-ansible-lifecycle-environment-by-using-api.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_assign-an-ansible-execution-environment-to-an-ansible-lifecycle-environment-by-using-web-ui.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_assign-an-ansible-execution-environment-to-an-ansible-lifecycle-environment-by-using-cli.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_assign-an-ansible-execution-environment-to-an-ansible-lifecycle-environment-by-using-api.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_assign-ansible-content-to-an-ansible-lifecycle-environment-by-using-web-ui.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_assign-ansible-content-to-an-ansible-lifecycle-environment-by-using-cli.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_assign-ansible-content-to-an-ansible-lifecycle-environment-by-using-api.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_promote-an-ansible-lifecycle-environment-by-using-web-ui.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_promote-an-ansible-lifecycle-environment-by-using-cli.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_promote-an-ansible-lifecycle-environment-by-using-api.adoc[leveloffset=+1] | ||
|
|
||
| // TODO: Retest deleting empty and non-empty ALE in ALEP | ||
| include::modules/proc_delete-an-ansible-lifecycle-environment-by-using-web-ui.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_delete-an-ansible-lifecycle-environment-by-using-cli.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_delete-an-ansible-lifecycle-environment-by-using-api.adoc[leveloffset=+1] | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| :_mod-docs-content-type: ASSEMBLY | ||
|
|
||
| include::modules/con_set-up-ansible-integration-with-project.adoc[] | ||
|
|
||
| include::modules/proc_install-the-ansible-director-plugin-on-project-server.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_install-the-ansible-director-plugin-on-smart-proxies.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_install-the-hammer-cli-plugin-for-ansible-director.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_configure-the-ansible-director-plugin-by-using-web-ui.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_configure-the-ansible-director-plugin-by-using-cli.adoc[leveloffset=+1] | ||
|
|
||
| include::modules/proc_configure-the-ansible-director-plugin-by-using-api.adoc[leveloffset=+1] |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| :_mod-docs-content-type: CONCEPT | ||
|
|
||
| [id="build-and-manage-ansible-execution-environments"] | ||
| = Build and manage Ansible Execution Environments | ||
|
|
||
| [role="_abstract"] | ||
| You can manage and build Ansible Execution Environments in {Project} to define custom environments to configure hosts. | ||
| Ansible Execution Environments are OCI-based container images built based on specific base container images and include a specific Ansible version. | ||
|
|
||
| Ansible Execution Environments give you control over the environment used to run Ansible Playbooks and Ansible roles against hosts to configure them. | ||
| The base container image defines the Python version. | ||
|
|
||
| // TODO: Explain this better from a user perspective | ||
| Ansible Execution Environments are part of organizations. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| :_mod-docs-content-type: CONCEPT | ||
|
|
||
| [id="configure-hosts-by-using-ansible"] | ||
| = Configure hosts by using Ansible | ||
|
|
||
| [role="_abstract"] | ||
| You can use Ansible to configure hosts through {Project}. | ||
| Ansible is an automation engine that helps you standardize and control your environment. | ||
|
|
||
| You can define your configuration payload, namely Ansible collections, roles, and variables, in {Project} and then run them on arbitrary sets of hosts. | ||
|
|
||
| [IMPORTANT] | ||
| ==== | ||
| If you assign an Ansible environment to a host and apply the configuration through {Project}, {SmartProxy} starts an Ansible Execution Environment to configure your host based on the assigned Ansible roles. | ||
| After a successful remote execution task, your host is configured. | ||
| If you unassign the Ansible environment from your host, the configuration of your host does not revert to its original state. | ||
| ==== |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| :_mod-docs-content-type: CONCEPT | ||
|
|
||
| [id="customize-ansible-content"] | ||
| = Customize Ansible content | ||
|
|
||
| [role="_abstract"] | ||
| You can customize Ansible content in {Project} to deviate from default settings in Ansible collections and roles to configure hosts. | ||
|
|
||
| By convention, all Ansible collections and roles provide default values for variables. | ||
| By customizing the default values, you can adjust the Ansible content to your environment. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| :_mod-docs-content-type: CONCEPT | ||
|
|
||
| [id="import-and-manage-ansible-content"] | ||
| = Import and manage Ansible content | ||
|
|
||
| [role="_abstract"] | ||
| You can import and manage Ansible content in {Project} to configure hosts. | ||
|
|
||
| You can use Ansible Director to import versioned Ansible content that you use in combination with Ansible Execution Environments and Ansible environments to configure hosts. | ||
| Ansible content can rely on any Ansible core version and any Python version. | ||
|
|
||
| // TODO: Explain this better from a user perspective | ||
| Ansible content is part of organizations. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| :_mod-docs-content-type: CONCEPT | ||
|
|
||
| [id="manage-ansible-environments"] | ||
| = Manage Ansible environments | ||
|
|
||
| [role="_abstract"] | ||
| You can manage Ansible environments in {Project} to configure hosts based on their assigned Ansible environment. | ||
|
|
||
| You can use Ansible Director to control Ansible content that you use to configure hosts by defining and assigning Ansible environments. | ||
| Ansible environments are similar to lifecycle environments to distribute content to hosts. | ||
|
|
||
| An Ansible lifecycle environment path is a list of consecutive lifecycle environments. | ||
| You can promote content from left to right. | ||
|
|
||
| Each Ansible lifecycle environment path contains one or more Ansible lifecycle environments. | ||
| Each Ansible lifecycle environment is a set of Ansible content. | ||
|
|
||
| // TODO: Explain this better from a user perspective | ||
| Ansible environments are part of organizations. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| :_mod-docs-content-type: CONCEPT | ||
|
|
||
| [id="set-up-ansible-integration-with-{project-context}"] | ||
| = Set up Ansible integration with {Project} | ||
|
|
||
| [role="_abstract"] | ||
| You can configure hosts with Ansible collections or Ansible roles that rely on specific Ansible and Python versions. | ||
|
|
||
| By default, {Team} supports Ansible that is packaged for the platform your {ProjectServer} or {SmartProxyServer} runs on. | ||
| If you want to configure different client platforms that rely on different Ansible or Python versions, you can use the Ansible Director plugin. | ||
| The Ansible Director plugin allows you to manage Ansible content, Ansible Execution Environments, and Ansible environments independent of your {Project} platform. | ||
|
|
||
| // TODO: Reword to better explain that you can technically use them in parallel but it's most likely not necessary. | ||
| You can use the Ansible plugin and Ansible Director plugin simultaneously on {Project} but they are unrelated. | ||
|
Comment on lines
+9
to
+14
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Could this be split out into a separate overview-like chapter? |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| :_mod-docs-content-type: CONCEPT | ||
|
|
||
| [id="types-of-overrides"] | ||
| = Types of overrides | ||
|
|
||
| [role="_abstract"] | ||
| You can override values of Ansible variables at different levels in {Project}. | ||
|
|
||
| By convention, all Ansible collections and roles provide default values. | ||
| You can customize these values at different levels and in different scopes. | ||
|
|
||
| Global overrides:: | ||
| You can overwrite the default value for all hosts in {Project} by using global overrides. | ||
| Global overrides are used by {Project} in favor of default values from Ansible collections and roles. | ||
|
|
||
| Matchers:: | ||
| You can use simple or custom matchers to override values in {Project} for specific sets of hosts. | ||
| For example, you can create a matcher for specific subnets or host groups. | ||
| Simple and custom matchers override global overrides. | ||
|
|
||
| Hosts:: | ||
| You can override values for individual hosts in {Project}. | ||
| Overrides at a host level take precedence over any other value definition in {Project}. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are a lot of sections here (15). So that made me think: How to reduce the number of modules?
The idea I had was to reconsider what the user story is. Rather than "I want to import..."/"I want to delete...", should the main focus in fact be "I want to manage and be in control of my Ansible content"? That's a tiny shift in mindset but could help redesign the procedures into something like:
It could be a way to reduce the number of procedures because you'd effectively combine them into a smaller list of more wholesome procedures that cover more, but in context of what the user's actual goal is.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This applies to some of the other assemblies as well so I'd suggest to look at options for reimagining the underlying user stories there as well.