-
Notifications
You must be signed in to change notification settings - Fork 471
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
Update Python requirements for Ansible inclusion requirements document #281
Conversation
This doesn't yet have an example, but there's already one a bit further down in the document. |
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 good to me other than my one language suggestion, but I may have other feedback after I think about it more. Thanks for working on it!
docs/docsite/rst/community/collection_contributors/collection_requirements.rst
Outdated
Show resolved
Hide resolved
docs/docsite/rst/community/collection_contributors/collection_requirements.rst
Outdated
Show resolved
Hide resolved
Co-authored-by: Maxwell G <[email protected]>
@@ -85,34 +85,36 @@ Python requirements for a collection vary between **controller environment** and | |||
|
|||
One example scenario where the "even if" clause comes into play is when using cloud modules. These modules mostly run on the controller node but in some environments, the controller might run on one machine inside a demilitarized zone which cannot directly access the cloud machines. The user has to have the cloud modules run on a bastion host/jump server which has access to the cloud machines. | |||
|
|||
An **eligible controller Python version** for a collection is a Python version that is supported on the controller side by at least one ansible-core version that the collection supports. Similarly, an **eligible target Python version** for a collection is a Python version that is supported on the target side by at least one ansible-core version that the collection supports. The eligible controller and target Python versions can be determined from the :ref:`ansible_core_support_matrix` and from the ``requires_ansible`` value in ``meta/runtime.yml`` in the collection. |
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.
An **eligible controller Python version** for a collection is a Python version that is supported on the controller side by at least one ansible-core version that the collection supports. Similarly, an **eligible target Python version** for a collection is a Python version that is supported on the target side by at least one ansible-core version that the collection supports. The eligible controller and target Python versions can be determined from the :ref:`ansible_core_support_matrix` and from the ``requires_ansible`` value in ``meta/runtime.yml`` in the collection. | |
An **eligible controller Python version** for a collection is a Python version that is supported on the controller side by at least one ansible-core version that the collection supports. Similarly, an **eligible target Python version** for a collection is a Python version that is supported on the target side by at least one ansible-core version that the collection supports. The eligible controller and target Python versions can be determined from the :ref:`ansible_core_support_matrix` and from the ``requires_ansible`` value in ``meta/runtime.yml`` in the collection. |
- can we replace the word
eligible
with a synonym if possible?allowed
oracceptable
maybe? can be easier to understand for not native speakers - can we add an example? something like
For example, if your collection supports ansible-core version A (supports Python ...) and ansible-core version B (supports Python ...), the acceptable controller Python version is ...
?. Same for target versions.
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.
Hmm, 'acceptable' could be ok, or maybe 'admissible'. I'd like to hear some more comments on this, also from native english speakers :)
About adding an example: there is already one starting directly after the diff that GitHub shows ends, in the part on documentation requirements. Is that one enough, or should we have another one 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.
I'd agree with the word acceptable
than allowed
I will also like to suggest that this part of the sentence "An eligible controller Python version for a collection is a Python version that is supported on the controller side by at least one ansible-core version that the collection supports."
could be rewritten as "An acceptable controller Python version for collection is a Python version that is supported on the controller side by at least one ansible-core version that the collection supports."
Similarly, for target versions, take off the a
before collection
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.
Are you sure that removing the a
before collection
is fine? That sounds really wrong to me.
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.
about the examples, if there are any, it's OK
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.
acceptable
and/or desirable
sounds like good options here.
I agree, removing a
before collection
does not sound right.
"An acceptable controller Python version for a collection is the Python version(s) that is supported on the controller side by at least one ansible-core version that the collection supports."
the Python version(s)
does this change sound more accurate?
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.
I'll throw another one into the mix and say suitable
because it has less negative/weird connotation than acceptable
and desirable
. Also eligible
doesn't quite fit imo. Something can be eligible without really being suitable.
.. _coll_controller_req: | ||
|
||
Controller environment | ||
~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
In the controller environment, collections MUST support Python 2 (version 2.7) and Python 3 (Version 3.6 and higher), unless required libraries do not support these versions. Collections SHOULD also support Python v3.5 if all required libraries support this version. | ||
Collections MUST support all eligible controller Python versions in the controller environment, unless required libraries do not support these Python versions. The :ref:`Steering Committee <steering_responsibilities>` can grant other exceptions on a case-by-case basis. |
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.
Collections MUST support all eligible controller Python versions in the controller environment, unless required libraries do not support these Python versions. The :ref:`Steering Committee <steering_responsibilities>` can grant other exceptions on a case-by-case basis. | |
Collections MUST support all eligible controller Python versions in the controller environment, unless required libraries do not support these Python versions. The :ref:`Steering Committee <steering_responsibilities>` can grant other exceptions on a case-by-case basis. |
i would replace eligible
also here (see the comment above) and everywhere with a synonym.
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 this all be simplified to:
Collections MUST support all Python versions listed in refansible_core_support_matrix
for all ansible-core versions that the collection supports. The exception is if required libraries for the collection do not support these Python versions. Steering committee blablabla...
Then we avoid having to define 'eligible' python versions entirely have less for the reader to ...read and understand.
`
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.
I think it's too late to make larger changes to this, since we already started voting on it - see ansible-community/community-topics#268. Right now we should stick so simple wording changes or small formulation changes that don't change meanings.
Also if we simplify it, it should be
Collections MUST support all Python versions listed in :ref:
ansible_core_support_matrix
in the Controller Python column for all ansible-core versions that the collection supports.
Also this needs to be repeated six times in the text (sometimes with Controller Python, sometimes with Target Python). I'm not sure that really improves readability.
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.
let's merge it as voted and then think about simplifications. I think the requirements (especially Python-related) look hard to read and understand overall (at least to me). But let's do it in a dedicated separate PR
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 core matrix refers to versions as "supported", maybe that is the language to use?
This PR was approved by the vote in ansible-community/community-topics#268, which accepted it (ansible-community/community-topics#251 (comment)). |
Backport to stable-2.14: 💚 backport PR created✅ Backport PR branch: Backported as #348 🤖 @patchback |
Backport to stable-2.15: 💚 backport PR created✅ Backport PR branch: Backported as #349 🤖 @patchback |
Thanks everyone! I guess we can use ansible-community/community-topics#251 to discuss improved wording, or if someone wants they can also create a PR for that and we can discuss in there. |
#281) * Update Python requirements for Ansible inclusion requirements document. * Avoid passive voice. Co-authored-by: Maxwell G <[email protected]> --------- Co-authored-by: Maxwell G <[email protected]> (cherry picked from commit 08263fc)
#281) * Update Python requirements for Ansible inclusion requirements document. * Avoid passive voice. Co-authored-by: Maxwell G <[email protected]> --------- Co-authored-by: Maxwell G <[email protected]> (cherry picked from commit 08263fc)
#281) (#348) Co-authored-by: Maxwell G <[email protected]> (cherry picked from commit 08263fc) Co-authored-by: Felix Fontein <[email protected]>
#281) (#349) Co-authored-by: Maxwell G <[email protected]> (cherry picked from commit 08263fc) Co-authored-by: Felix Fontein <[email protected]>
See ansible-community/community-topics#251, in particular ansible-community/community-topics#251 (comment).
Closes #68.