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
[WIP] Docs: Ansible Control Node #74164
base: devel
Are you sure you want to change the base?
Conversation
Correct terminology.
@@ -29,6 +29,12 @@ when a term comes up on the mailing list. | |||
ansible-base | |||
Used only for 2.10. The installable package (RPM/Python/Deb package) generated from the `ansible/ansible repository <https://github.com/ansible/ansible>`_. See ``ansible-core``. | |||
|
|||
Ansible control node | |||
FIXME. Also make it clear that "local" plugins (lookups, etc) run here. |
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.
Could someone please help provide a detailed description of what's the control node is and what does and doesn't run on it.
Different types of plugins, local_actions, etc
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.
@gundalow see https://docs.ansible.com/ansible/latest/network/getting_started/basic_concepts.html#control-node - the text there is a shared snippet, and we can certainly use the same description here
@@ -396,6 +402,13 @@ when a term comes up on the mailing list. | |||
Ansible will never feel like assembly programming). There are an | |||
infinite number of variable names you can use for registration. | |||
|
|||
Remote node |
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.
Could someone please help provide a detailed description of what's the remote node is and what does and doesn't run on it.
If you are running with an ssh-jump host is that a remote node, or something else, do we have a specific term for that?
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.
We typically don't call this a remote
node, but a target
or managed
node. Since the node can actually be local.
Only modules execute on a target node.
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.
Yup, realised that after I progressed. I've asked Nitz to raise this at the architects meeting and confirm terminology, then I'll update.
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.
We did talk about this yesterday, and I think we decided on effectively:
- Control Node
- Target Node
- Some 3rd term to describe networking and cloud targets, since Target Node means the node where module code runs. However with networking the module is running in a different place than the "resource" that is being managed. This couldn't really been decided on. We mentioned "automation target" or "target resource".
Note that in the product/platform we often call "target node" the "managed node", but managed carries extra connotations that don't universally apply.
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.
We use 'managed node' here as well: https://docs.ansible.com/ansible/latest/network/getting_started/basic_concepts.html#managed-nodes
We picked that because it can describe network devices or other nodes that are not "systems" or "machines" . . . what connotations does the phrase have that don't apply universally?
I'm not against changing to 'target node', necessarily, just trying to understand the thinking.
@@ -850,15 +850,15 @@ DEFAULT_LOAD_CALLBACK_PLUGINS: | |||
DEFAULT_LOCAL_TMP: | |||
name: Controller temporary directory |
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.
fix this
@@ -359,7 +359,7 @@ COVERAGE_REMOTE_OUTPUT: | |||
COVERAGE_REMOTE_PATHS: | |||
name: Sets the list of paths to run coverage for. | |||
description: | |||
- A list of paths for files on the Ansible controller to run coverage for when executing on the remote host. | |||
- A list of paths for files on the Ansible controll node to run coverage for when executing on the remote host. |
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.
controll -> control
description: | ||
- This connection plugin allows ansible to execute tasks on the Ansible 'controller' instead of on a remote host. | ||
- This connection plugin allows ansible to execute tasks on the Ansible control node instead of on a remote node. |
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.
remote
or target
here ?
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 looks like it should remain remote. Maybe remote host
is the right thing here as well, though, not remote node
. That way both words remain different than what we're standardizing on for the target node
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 connection plugin allows ansible to execute tasks on the Ansible control node instead of on a remote node. | |
- This connection plugin allows Ansible to execute tasks on the Ansible control node instead of on a remote host. |
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.
The reason it should be remote host is that, almost by definition, any connection plugin allows Ansible to execute tasks on the target node
. What's different about the local connection plugin is that instead of primarily being used to make a remote host the target, the local connection plugin can only target the control node
to run the tasks on.
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.
Nice cleanup! I put a few questions/comments in below.
@@ -29,6 +29,12 @@ when a term comes up on the mailing list. | |||
ansible-base | |||
Used only for 2.10. The installable package (RPM/Python/Deb package) generated from the `ansible/ansible repository <https://github.com/ansible/ansible>`_. See ``ansible-core``. | |||
|
|||
Ansible control node | |||
FIXME. Also make it clear that "local" plugins (lookups, etc) run here. |
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.
@gundalow see https://docs.ansible.com/ansible/latest/network/getting_started/basic_concepts.html#control-node - the text there is a shared snippet, and we can certainly use the same description here
@@ -33,7 +33,7 @@ Other: | |||
====== | |||
|
|||
* **Upgrading**: If upgrading from ``ansible < 2.10`` or from ``ansible-base`` and using pip, you must ``pip uninstall ansible`` or ``pip uninstall ansible-base`` before installing ``ansible-core`` to avoid conflicts. | |||
* Python 3.8 on the controller node is a soft requirement for this release. ``ansible-core`` 2.11 still works with the same versions of Python that ``ansible-base`` 2.10 worked with, however 2.11 emits a warning when running on a controller node with a Python version less than 3.8. This warning can be disabled by setting ``ANSIBLE_CONTROLLER_PYTHON_WARNING=False`` in your environment. ``ansible-core`` 2.12 will require Python 3.8 or greater. | |||
* Python 3.8 on the control node is a soft requirement for this release. ``ansible-core`` 2.11 still works with the same versions of Python that ``ansible-base`` 2.10 worked with, however 2.11 emits a warning when running on a control node with a Python version less than 3.8. This warning can be disabled by setting ``ANSIBLE_CONTROLLER_PYTHON_WARNING=False`` in your environment. ``ansible-core`` 2.12 will require Python 3.8 or greater. |
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.
+1 for fixing these
@@ -396,6 +402,13 @@ when a term comes up on the mailing list. | |||
Ansible will never feel like assembly programming). There are an | |||
infinite number of variable names you can use for registration. | |||
|
|||
Remote node |
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.
We use 'managed node' here as well: https://docs.ansible.com/ansible/latest/network/getting_started/basic_concepts.html#managed-nodes
We picked that because it can describe network devices or other nodes that are not "systems" or "machines" . . . what connotations does the phrase have that don't apply universally?
I'm not against changing to 'target node', necessarily, just trying to understand the thinking.
@@ -359,7 +359,7 @@ COVERAGE_REMOTE_OUTPUT: | |||
COVERAGE_REMOTE_PATHS: | |||
name: Sets the list of paths to run coverage for. | |||
description: | |||
- A list of paths for files on the Ansible controller to run coverage for when executing on the remote host. | |||
- A list of paths for files on the Ansible controll node to run coverage for when executing on the remote host. |
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.
as bmillemathias said:
- A list of paths for files on the Ansible controll node to run coverage for when executing on the remote host. | |
- A list of paths for files on the Ansible control node to run coverage for when executing on the remote host. |
SUMMARY
[ ] Move from
remote node
totarget node
(as sometimes it isn't remote)[ ] Drop
Ansible
fromcontrol node
?[ ] Case insensitive search to find other instances
FIXME: More places to review
This will need backporting.
ISSUE TYPE