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
[ssh_connection] section in ansible.cfg stopped working after 2.9, but isn't reflected in (at least) the ansible.cfg file of the repo #75982
Comments
Files identified in the description: If these files are incorrect, please update the |
|
I'm quite frustrated to have found out about this the hard way. Something wrong was going on with one of our playbook and it turns out it was because the pipelining was no longer enabled, because it was located in the While I understand that these type of refactoring must happen, I'm baffled that this change was not documented in any of the porting guide. I don't think that it is expected that every Ansible user must read all the changelogs to catch this type of changes, and that is why the porting guides exist. Please, can this information be added to the relevant porting guide? Thank you. |
First, the 'invalidation' of this method was an accident, we did not mean to remove it. As a policy we have strict deprecation periods for these things, so there should be plenty of notice ahead of time. This was mostly due to an incorrect assumption of what other parts of the code were doing and the lack of specific tests for every possible configuration option, while most of this was fixed we could not easily backport all of it as it was a change in behavior of the code (which ignored some settings and hardcoded others), but that mostly affects 2.9. To avoid further confusion we have also removed the 'example' ansible.cfg and given instructions for it to be generated directly from the 'working options' (via As for the 'current' state of the ssh/pipelining configuration, the latest versions of 2.10/2.11 and above should all handle the new AND the old configuration settings, why there should be no issues with 'porting' across versions at this point. If you still find one, please let me know the exact version you are using so we can verify and correct this. needs_info |
@Porkepix This issue is waiting for your response. Please respond or the issue will be closed. |
Dunno what should I add here, I think I provided everything that was needed? |
I am sorry if I am necrobumping this but I've just found this the hard way too.
I was running Ansible 2.12.5 and the options inside I am trying to migrate the options to the new configuration format but I am missing several options that appear to be gone now. Inside the Where are these options? Are they just gone? |
Is this still a problem, if so what options are broken and what Ansible versions are affected. If there is still anything outstanding that doesn't work we need to look further into this but from what I can see our ssh connection plugin documents the required ansible config ini options so things should be working.
The options are defined on the SSH connection plugin itself under the DOCUMENTATION. For example ansible/lib/ansible/plugins/connection/ssh.py Lines 79 to 80 in b2c0095
needs_info |
@Porkepix This issue is waiting for your response. Please respond or the issue will be closed. |
I believe this issue can be closed now. Now the changes are in the documentation: https://docs.ansible.com/ansible/latest/collections/ansible/builtin/ssh_connection.html |
Summary
It seems the whole
[ssh_connection]
section in theansible.cfg
file stopped working after 2.9, #73688 might be part of where it happened (thanks @sivel for the link)Problem is that the
ansible.cfg
file isn't up to date, at least regarding that: the whole section here https://github.com/ansible/ansible/blob/stable-2.11/examples/ansible.cfg#L376 seems deprecated. This is particularly impacting for options such aspipelining
which resulted, in our case in brutal performances regressions, with CI times multiplied by 2 to 3.Places such as https://github.com/ansible/ansible/pull/73688/files#diff-38cec806ea1a1ee7c3a286c7865334ecfba7ccc49e21d4e8fb8ec1b17938fda6R201 might also need an update.
cc @bcoca as we talked about this on IRC.
Should all of this be fixed for the source of information in past stable branches (2.10, 2.11) and doc regenerated? I also can't seem to find the move of those configurations to different sections in https://docs.ansible.com/ansible/devel/porting_guides/porting_guides.html so, should those be updated aswell?
@bcoca talked on irc about bringing back the
[ssh_connection]
, but I'm not sure if he was talking about 2.12 only or 2.10 and 2.11 as well, nor if it's a good idea to have options available to three different places/sections of the file. I do think, though, that improvements doc/porting guides on that regard is important for people stumbling on such issue, especially if most of the migrating people are yet to come.Issue Type
Bug Report
Component Name
ansible.cfg
Ansible Version
Configuration
$ ansible-config dump --only-changed
OS / Environment
Linux/Mac
Steps to Reproduce
Expected Results
The documentation files should be representative of the real existing options. Same goes for the migration paths.
Actual Results
There are currently issues, especially in the `ansible.cfg` file.
Code of Conduct
The text was updated successfully, but these errors were encountered: