* Add parent pid to persistent connection socket path hash
Fixes#33192
* Add parent pid in persistent connection socket path hash
to avoid using same socket path for multiple simultaneous
connection to same remote host.
* Ensure unique persistent socket path for each ansible-playbook run
* Fix CI failures
Provide Vault App role method to the lookup.
https://www.vaultproject.io/docs/auth/approle.html
Usage :
`{{ lookup('hashi_vault', 'secret=secret/hello:value auth_method=approle role_id=myroleid secret_id=mysecretid url=http://myvault:8200')}}`
You can skip `role_id` and `secret_id` if you set `VAULT_ROLE_ID` and `VAULT_SECRET_ID` environment variables.
* Fix vyos on network_cli on python3
bytes do not have format() in Python3
* Push connection to tasks, with bonus connection=local test
* Run tests without explicit connection set
* Add/update START messages where appropriate
* Change cast_list_to_dict to more generic rekey_on_member
cast_list_to_dict was taking an arbitrary data format in and returning
an arbitrary data format out. Rework this to be a more generic function
which creates a dict of dicts based on a member of the dict.
Remove cast_dict_to_list since rekey_on_member handles the use cases we
know about and cast_dict_to_list suffers from the same problems as
cast_list_to_dict. If this is still needed we could think about filters
we could add to do this in a short jinja2 pipeline.
* Fix bare excepts (bare excepts even catch sys.exit())
Previously if a child's group vars section was defined before the
child group itself, an edge case would be hit where the state of the
pending declaration would process as var and therefore drop the
child pending declaration context. This would result in the group
vars defined for the parent group being out of scope for the child
group.
Example:
[web:children]
appnodes
proxies
[web:vars]
deployment_type=prod
[appnodes:vars]
foo_var=true
[appnodes]
appnodes[1:3].example.com
[proxies:vars]
bar_var=true
[proxies]
proxies[1:3].example.com
Previously the deployment_type variable would be out of scope for
both the appnodes and proxies groups. This patch fixes that.
Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>
* Fix _clean_result for debug callback with 1 char var names
The check in _clean_results was removing any keys that happened
to be one of the chars in ('invocation') instead of the string
'invocation'. This was meant to be a tuple but there was no comma
so the for iterated the string instead of the tuple.
Introduced in 9dba580204fcc7d95d4ca2ea2ae4ce23fe28c2ed
Update unit test to catch this.
Fixes#33723
* Use .pop() to remove invocation from results dict
In base callback _clean_results, simplify the way the
'invocation' item is removed.
Add some more unit tests.
* fixes guess_os for netconf connections
This change fixes invalid calls to play_context when the network_os is
not set and the connection attempts to guess the network_os. The method
will now check the correct values for ssh key file and allow agent
instead of returning errors.
* fix up pep8 issues
* - Netconf plugin addition for iosxr
- Utilities refactoring to support netconf and cliconf
- iosx_banner refactoring for netconf and cliconf
- Integration testcases changes to accomodate above changes
* Fix sanity failures, shippable errors and review comments
* fix pep8 issue
* changes run_command method to send specific command args
* - Review comment fixes
- iosxr_command changes to remove ComplexDict based command_spec
* - Move namespaces removal method from utils to netconf plugin
* Minor refactoring in utils and change in deprecation message
* rewrite build_xml logic and import changes for new utils dir structure
* - Review comment changes and minor changes to documentation
* * refactor common code and docs updates
* Adds a tmsh command fallback
The bigip terminal plugin assumes that the remote shell is tmsh.
This is not always true. The remote shell may be bash sometimes.
This adds a different shell command in the case that bash is the
remote shell
* Fixing upstream errors
* Refactor common network shared and platform specific code into package (part-1)
As per proposal #76 refactor common network shared and platform specific
code into sub-package.
https://github.com/ansible/proposals/issues/76
* ansible.module_utils.network.common - command shared functions
* ansible.module_utils.network.{{ platform }} - where platform is platform specific shared functions
* Fix review comments
* Fix review comments
* In order to maintain a single api call across
netconf and cli transport from module code change
signature of commit api to accept genric args.
* Fix doc string
Fixes#33406Fixes#33405
* Fix typo in network_cli for sendonly
* Send `abort` to remote device in case configuration fails
* Fix indentation issue in eos_static_route integration test
* Revert network_cli change
* Refactor VyOS to use cliconf
* Use show configuration commands on get_config
* Remove debug statement
* Construct command/answer/prompt if needed and fix commit comments
* Convert command/prompt/answer to bytes