Skip to content

Commit

Permalink
Controller User Guide UI update chapters 1-11 (#1350)
Browse files Browse the repository at this point in the history
* Controller User Guide UI update chapters 1-11

https://issues.redhat.com/browse/AAP-23672

Affects `controller-user-guide`

* Peer review edits
  • Loading branch information
EMcWhinn authored May 17, 2024
1 parent 936395a commit db72580
Show file tree
Hide file tree
Showing 7 changed files with 39 additions and 36 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,13 @@ ifdef::context[:parent-context: {context}]

:context: search-controller

Use {ControllerName}'s search tool for search and filter capabilities across multiple functions.
An expandable list of search conditions is available from the *Advanced* option from the *Name* menu in the search field.
Use {ControllerName}'s search tool for search and filter capabilities across many functions.
An expandable list of search conditions is available from the *Name* menu in the search field.

From there, use the combination of *Set Type*, *Key*, and *Lookup type* to filter.
//The following options are not available in 2.5:
//From there, use the combination of *Set Type*, *Key*, and *Lookup type* to filter.

image:search-bar-key.png[key sheet]
//image:search-bar-key.png[key sheet]

include::platform/ref-controller-search-tips.adoc[leveloffset=+1]
include::platform/ref-controller-values-for-search-fields.adoc[leveloffset=+2]
Expand Down
38 changes: 20 additions & 18 deletions downstream/modules/platform/con-controller-overview-details.adoc
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
[id="con-controller-overview-details"]

= Real-time playbook output and exploration
{ControllerNameStart} enables you to watch playbooks run in real time, seeing each host as they check in.
With {ControllerName} you can watch playbooks run in real time, seeing each host as they check in.
You can go back and explore the results for specific tasks and hosts in great detail, search for specific plays or hosts and see just those results, or locate errors that need to be corrected.

= "Push Button" automation
{ControllerNameStart} enables you to access your favorite projects and re-trigger execution from the web interface.
Use {ControllerName} to access your favorite projects and re-trigger execution from the web interface.
{ControllerNameStart} asks for input variables, prompts for your credentials, starts and monitors jobs, and displays results and host history.

= Simplified role-based access control and auditing
{ControllerNameStart} enables you to:
With {ControllerName} you can:

* Grant permissions to perform a specific task to different teams or explicit users through _role-based access control_ (RBAC).
Example tasks include viewing, creating, or modifying a file.
Expand All @@ -18,7 +18,7 @@ Example tasks include viewing, creating, or modifying a file.

{ControllerNameStart} records the history of operations and who made them, including objects edited and jobs launched.

If you want to give any user or team permissions to use a job template, you can assign permissions directly on the job template. Credentials are full objects in the {ControllerName} RBAC system, and can be assigned to multiple users or teams for use.
If you want to give any user or team permissions to use a job template, you can assign permissions directly on the job template. Credentials are full objects in the {ControllerName} RBAC system, and can be assigned to many users or teams for use.

{ControllerNameStart} includes an _auditor_ type. A system-level auditor can see all aspects of the systems automation, but does not have permission to run or change automation.
An auditor is useful for a service account that scrapes automation information from the REST API.
Expand All @@ -27,10 +27,10 @@ An auditor is useful for a service account that scrapes automation information f
* For more information about user roles, see xref:con-controller-rbac[Role-Based Access Controls].

= Cloud and autoscaling flexibility
{ControllerNameStart} includes a powerful optional provisioning callback feature that enables nodes to request configuration on demand.
{ControllerNameStart} includes a powerful optional provisioning callback feature that enables nodes to request configuration on-demand.
This is an ideal solution for a cloud auto-scaling scenario and includes the following features:

* It integrates with provisioning servers like Cobbler and deals with managed systems with unpredictable uptimes.
* It integrates with provisioning servers such as Cobbler and deals with managed systems with unpredictable uptimes.
* It requires no management software to be installed on remote nodes.
* The callback solution can be triggered by a call to `curl` or `wget`, and can be embedded in `init` scripts, kickstarts, or preseeds.
* You can control access so that only machines listed in the inventory can request configuration.
Expand All @@ -46,13 +46,14 @@ By including an {Galaxy} `requirements.yml` file in your project directory, {Con
For more information, see xref:ref-projects-galaxy-support[Ansible Galaxy Support].

= Inventory support for OpenStack
Dynamic inventory support is available for OpenStack. This enables you to target any of the virtual machines or images running in your OpenStack cloud.
Dynamic inventory support is available for OpenStack. With this you can target any of the virtual machines or images running in your OpenStack cloud.

For more information, see xref:ref-controller-credential-openstack[Openstack].
For more information, see the xref:ref-controller-credential-openstack[OpenStack credential type] section.

= Remote command execution
Use remote command execution to perform a simple tasks, such as adding a single user, updating a single security vulnerability, or restarting a failing service.
Any task that you can describe as a single Ansible play can be run on a host or group of hosts in your inventory, enabling you to manage your systems quickly and easily.
Any task that you can describe as a single Ansible play can be run on a host or group of hosts in your inventory.
You can manage your systems quickly and easily.
Because of an RBAC engine and detailed audit logging, you know which user has completed a specific task.

= System tracking
Expand Down Expand Up @@ -96,7 +97,7 @@ For more information, see xref:controller-setting-up-insights[Setting up Insight


= Custom Virtual Environments
Custom Ansible environment support enables you to have different Ansible environments and specify custom paths for different teams and jobs.
With Custom Ansible environment support you can have different Ansible environments and specify custom paths for different teams and jobs.

= Authentication enhancements
Automation controller supports:
Expand All @@ -105,30 +106,31 @@ Automation controller supports:
* SAML
* token-based authentication

LDAP and SAML support enable you to integrate your enterprise account information in a more flexible manner.
With LDAP and SAML support you can integrate your enterprise account information in a more flexible manner.

Token-based authentication permits authentication of third-party tools and services with {ControllerName} through integrated OAuth 2 token support.

= Cluster management
Run-time management of cluster groups enables configurable scaling.
Run time management of cluster groups enables configurable scaling.

= Workflow enhancements
To model your complex provisioning, deployment, and orchestration workflows, you can use {ControllerName} expanded workflows in several ways:

* *Inventory overrides for Workflows* You can override an inventory across a workflow at workflow definition time, or at launch time.
{ControllerNameStart} enables you to define your application deployment workflows, and then re-use them in multiple environments.
* *Convergence nodes for Workflows* When modeling complex processes, you must sometimes wait for multiple steps to finish before proceeding.
{ControllerNameStart} workflows can replicate this; workflow steps can wait for any number of previous workflow steps to complete properly before proceeding.
Use {ControllerName} to define your application deployment workflows, and then re-use them in many environments.
* *Convergence nodes for Workflows* When modeling complex processes, you must sometimes wait for many steps to finish before proceeding.
{ControllerNameStart} workflows can replicate this; workflow steps can wait for any number of earlier workflow steps to complete properly before proceeding.
* *Workflow Nesting* You can re-use individual workflows as components of a larger workflow.
Examples include combining provisioning and application deployment workflows into a single workflow.
* *Workflow Pause and Approval* You can build workflows containing approval nodes that require user intervention.
This makes it possible to pause workflows in between playbooks so that a user can give approval (or denial) for continuing on to the next step in the workflow.

For more information, see xref:controller-workflows[Workflows in {ControllerName}]
For more information, see xref:controller-workflows[Workflows in {ControllerName}].

= Job distribution

Take a fact gathering or configuration job running across thousands of machines and divide it into slices that can be distributed across your {ControllerName} cluster for increased reliability, faster job completion, and improved cluster use.
Take a fact gathering or configuration job running across thousands of machines and divide it into slices that can be distributed across your {ControllerName} cluster.
This increases reliability, offers faster job completion, and improved cluster use.

For example, you can change a parameter across 15,000 switches at scale, or gather information across your multi-thousand-node RHEL estate.

Expand All @@ -139,7 +141,7 @@ For more information, see xref:controller-job-slicing[Job Slicing].

= Limit the number of hosts per organization
Many large organizations have instances shared among many organizations.
To ensure that one organization cannot use all the licensed hosts, this feature enables superusers to set a specified upper limit on how many licensed hosts can be allocated to each organization.
To ensure that one organization cannot use all the licensed hosts, this feature enables superusers to set a specified upper limit on how many licensed hosts can that you can allocate to each organization.
The {ControllerName} algorithm factors changes in the limit for an organization and the number of total hosts across all organizations.
Inventory updates fail if an inventory synchronization brings an organization out of compliance with the policy.
Additionally, superusers are able to over-allocate their licenses, with a warning.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ For more information, see link:{BaseURL}/red_hat_ansible_automation_platform/{Pl
. Launch {ControllerName} for the first time.
The *Subscription Management* screen displays.
+
image::controller-gs-subscription-management.png[Subscription Management]
//image::controller-gs-subscription-management.png[Subscription Management]
+
. Retrieve and import your subscription by completing either of the following steps:
.. If you have obtained a subscription manifest, upload it by navigating to the location where the file is saved.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ To upload a subscriptions manifest, first set up your subscription allocations:

.Procedure
. Navigate to https://access.redhat.com/management/subscription_allocations.
The *Subscriptions Allocations* page contains no subscriptions until you create one.
The *Subscriptions Allocations* page has no subscriptions until you create one.
//+
//image::subscription-allocations-empty.png[Subscriptions allocation]
//+
Expand All @@ -15,28 +15,28 @@ The *Subscriptions Allocations* page contains no subscriptions until you create
[NOTE]
====
If *Create New subscription allocation* does not display, or is disabled, you do not have the proper permissions to create subscription allocations.
To create a subscription allocation, you must either be an Administrator on the Customer Portal, or have the Manage Your Subscriptions role.
To create a subscription allocation, you must either be an Administrator on the Red Hat Customer Portal, or have the *Manage Your Subscriptions* role.
Contact an `access.redhat.com` administrator, or organization administrator who can grant you permission to manage subscriptions.
====

. Enter a *Name* for your subscription and select *{SatelliteVers}* from the *Type* drop-down menu.
+
image::subscription-allocations-create.png[Create a Subscriptions Allocation]
//image::subscription-allocations-create.png[Create a Subscriptions Allocation]
+
. Click btn:[Create].
+
When your subscriptions manifest is successfully created, the number indicated next to *Entitlements* indicates the number of entitlements associated with your subscription.
+
image::subscription-allocations-details-bottom.png[Details of subscription allocations]
//image::subscription-allocations-details-bottom.png[Details of subscription allocations]

== Setting up a subscriptions manifest

To obtain a subscriptions manifest, you must add an entitlement to your subscriptions through the *Subscriptions* tab.

.Procedure
. Click the btn:[Subscriptions] tab.
. Click the *Subscriptions* tab.
. If there are no subscriptions to display, click btn:[Add Subscriptions].
. The following screen enables you to select and add entitlements to put in the manifest file.
. On the following screen you can select and add entitlements to put in the manifest file.
+
image::aap-subscriptions.png[{PlatformNameShort} subscriptions]
+
Expand All @@ -48,7 +48,7 @@ This enables you to split up a subscription, for example: 400 nodes on a develop
[NOTE]
====
You can apply multiple subscriptions to a single installation by adding multiple subscriptions of the same type to a manifest file and uploading them.
Similarly, a subset of a subscription can be applied by only allocating a portion of the subscription when creating the manifest.
Similarly, you can apply a subset of a subscription by only allocating a part of the subscription when creating the manifest.
====

. Click btn:[Submit].
Expand Down
4 changes: 2 additions & 2 deletions downstream/modules/platform/ref-controller-licenses.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

= Component licenses

To view the license information for the components included in {ControllerName}, refer to `/usr/share/doc/automation-controller-<version>/README`.
To view the license information for the components included in {ControllerName}, see `/usr/share/doc/automation-controller-<version>/README`.

where `<version>` refers to the version of {ControllerName} you have installed.

To view a specific license, refer to `/usr/share/doc/automation-controller-<version>/*.txt`.
To view a specific license, see `/usr/share/doc/automation-controller-<version>/*.txt`.

where `*` is the license file name to which you are referring.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ The {ControllerName} license defines the number of Managed Nodes that can be man

A typical license says "License Count: 500", which sets the maximum number of Managed Nodes at 500.

For more information on managed node requirements for licensing, see https://access.redhat.com/articles/3331481.
For more information about managed node requirements for licensing, see https://access.redhat.com/articles/3331481.

[NOTE]
====
Expand Down
6 changes: 3 additions & 3 deletions downstream/modules/platform/ref-controller-search-tips.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@
= Rules for searching

These searching tips assume that you are not searching hosts.
Most of this section still applies to hosts but with some subtle differences.
//Most of this section still applies to hosts but with some subtle differences.

* The typical syntax of a search consists of a field (left-hand side) and a value (right-hand side).
* The typical syntax of a search consists of a field, followed by a value.
* A colon is used to separate the field that you want to search from the value.
* If the search has no colon (see example 3) it is treated as a simple string search where `?search=foobar` is sent.

The following are examples of syntax used for searching:

. `name:localhost` In this example, the user is searching for the string `localhost' in the name attribute.
. `name:localhost` In this example, the user is searching for the string `localhost` in the name attribute.
If that string does not match something from *Fields* or *Related Fields*, the entire search is treated as a string.
. `organization.name:Default` This example shows a Related Field Search.
The period in `organization.name` separates the model from the field.
Expand Down

0 comments on commit db72580

Please sign in to comment.