The rpc method should be exposed to the modules over the connection rpc
mechanism. This fix will expose the rpc method to call generalized rpc
endpoints on remote devices
This fixes an indention bug introduced in
45a9f96774
that was causing the virtualization_role to be set to 'host'
for many cases incorrectly.
Fixes https://github.com/ansible/ansible/pull/21621
(the issue mentioned in the pr)
* galaxy remove incorrect check for role path before extraction
Fixes#35217
Currently lib/ansible/galaxy/role.py checks roles_path and will
ignore paths that don't currently exist which it should not because
the path will attempt to be created by the role extraction process
(which is valid and expected behavior) and if unable to write at the
time of role extraction into the role_path, that error will be
handled properly at that point in the process.
Signed-off-by: Adam Miller <admiller@redhat.com>
* add test case for galaxy install with rolefile and rolepath
Verify we don't regress GitHub Issue #35217
Signed-off-by: Adam Miller <admiller@redhat.com>
* fix the integration test
Signed-off-by: Adam Miller <admiller@redhat.com>
* double quote for shellcheck glob warning
Signed-off-by: Adam Miller <admiller@redhat.com>
* fix galaxy install tests to not need remote resources
Signed-off-by: Adam Miller <admiller@redhat.com>
* make shellcheck sanity tests happy
Signed-off-by: Adam Miller <admiller@redhat.com>
* prep git global conf for running the galaxy install tests in docker
Signed-off-by: Adam Miller <admiller@redhat.com>
* move ansible-galaxy tests into their own target, make git conf non-global
Signed-off-by: Adam Miller <admiller@redhat.com>
* fix up tests based on feedback
Signed-off-by: Adam Miller <admiller@redhat.com>
* remove extra newline from aliases file
Signed-off-by: Adam Miller <admiller@redhat.com>
* Revert model and serialnum to older version
* Add stacked versions of model and serialnum as separate facts
* Add unit test to check stacked output
* Alter model regex to address #34768
Change the code and comments around recovering from a TypeError in
handling the return value from lookup plugins to make it clearer what
we're recovering from.
Enforce module deprecation.
After module has reached the end of it's deprecation cycle we will replace it with a docs stub.
* Replace deprecated modules with docs-only sub
* Use of deprecated past deprecation cycle gives meaningful message (see examples below)
* Enforce documentation.deprecation dict via `schema.py`
* Update `ansible-doc` and web docs to display documentation.deprecation
* Document that structure in `dev_guide`
* Ensure that all modules starting with `_` have a `deprecation:` block
* Ensure `deprecation:` block is only used on modules that start with `_`
* `removed_in` A string which represents when this module needs **deleting**
* CHANGELOG.md and porting_guide_2.5.rst list removed modules as well as alternatives
* CHANGELOG.md links to porting guide index
To ensure that meaningful messages are given to the user if they try to use a module at the end of it's deprecation cycle we enforce the module to contain:
```python
if __name__ == '__main__':
removed_module()
```
* Add an AWS Direct Connect virtual interface module
Fix DirectConnectError exception wrapper to be compatible with fail_json_aws()
* Fix documentation and handle BotoCoreErrors as well
* Add the aws and ec2 documentation fragments
* add purge option for secondary ip addresses and fix changed to reflect when addresses are modified
* Improve option documentation and make the secondary_private_ip_addresses option required if purging secondary private ip addresses.
* ec2_eni: update version_added to 2.5 for purge_secondary_private_ip_addresses option.
* Add aws_ses_identity module
* Update CI alias, add BotoCoreError exception handling.
* Add SES and SNS permissions to hacking/aws_config to run aws_ses_identity integration tests
* Fix edit_config multiline commands on IOS
The current code for multiline commands in IOS is broken: If you
pass a dict containing a command, prompt and answer it is seen
later as unicode string, but if you do a json.loads it fails
as the keys/values are enclosed in single quotes but JSON requires
double quotes.
Fixes#23539
* Fix pep8
* Use ast literal_eval
It's safe to use, as it is just for types and wont execute arbitrary code.
This adds a new module called vmware_vm_vm_drs_rule. This module add
affinity/antiaffinity rule for VM-VM in given cluster.
Fixes: #32109
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
Fix adds ipa host_add functionality of generating random
passwords for host enrollement. This fix also preserves the
idempotency of host_add and host_mod IPA APIs.
Fixes: #30328
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* Added 'quota_id','sso', 'boot_menu', 'usb_support', 'serial_console' fields to ovirt_vms module
* always run ansible-test first
* always run ansible-test first 2
* suggested changes applied
* refactors nios api shared code to handle provider better
This change refactors the shared code to be easily shared between
modules, plugins and dynamic inventory scripts. All parts now implement
the provider arguments uniformly.
This also provides a centralized fix to suppress urllib3 warnings coming
from the requests library implemented by infoblox_client
* fix up pep8 errors
* fix missing var name
* add checking of interfaces, providing defaults or errors if required keys are not defined
* fix so that iteration of interfaces only happens if defined
* permit tagging of lambda functions
Signed-off-by: fernandoalex <jfernandoalex@gmail.com>
* changed iteritems for items and test for identity to is not
* fixed task name in example
* module object was not being passed to the function
Module object was not being passed to the funtions whitch was causing error in the error handling.
* Use compare_aws_tags
Check for attribute and fail if botocore needs to be updated
Update version_added
* Fix examples
* pep8
* Remove unnecessary var
Handle BotoCoreError
ecs_taskdefinition_facts should not populate ansible_facts with
so much information.
Better to just return the contents of the dict directly.
Reduce line lengths, use AnsibleAWSModule, don't reimplement
camel_dict_to_snake_dict.
`wait_for_instances: no` means do not wait for instances to become
InService/Healthy before terminating them. It does not mean don't
wait for the ASG to delete.
Not waiting for the ASG to delete can cause problems when recreating it.
Ensure that waiting for the ASG to delete respects `wait_timeout`.
Add `iam_user` module that supports check mode
Based entirely on `iam_group` with check mode support added.
Does not support management of groups, so as not to interfere with the
`iam_group` module.
* Update the copyright
* Remove e.message from exception handling since it is not available on python 3
* New aws_region_facts module to be able to get facts from AWS regions
* Fix copyright
Handle BotoCoreError too
Remove exception handling around around boto3_conn
Fix docs
Fix version_added
* Update metadata_version
Fix return doc
* Adding new code for new module and new module_utils with the pip pyfmg package
* Changed login and logout functionality and renamed mod_utils file as well as cleaned up PEP8 syntax
* Removing extra Ansible parameters and fixing more syntax issues
* Fixing more syntax issues and comparing against previous FTNT script module
* Changing import location to pass syntax checks
* Fixing pylint errors
* Removing test files
* Add unit tests and enabling a login session check within main in order to throw error if network connection exception
* Fixing syntax issues for adding unit tests
* Changing case for pip package requirements
* adding comments
* adding version restriction on pip package for testing
* adding version restriction on pip package for testing
* More comments
* Fixing documentation errors and add the ability to skip a test if it isn't present
* Fixing Pep8 error with whitespace (tab) in the row
Do not assume that all exception constructors accept a single string
argument. For example UnicodeError's __init__ takes 5 parameters:
encoding, object, start, end, reason.
Also, if e.message is present but empty, fall back on stringifying
the exception occurrence.
Fixes#35270
* Add transfer checksum verification in copy module, to ensure that the file was transferred to the remote successfully. Fixes#35029
* Guard on no checksum
* Add version_added
* New module: ec2_vpc_egress_igw
* minor pep8 fix and doc update
* add test dir and files
* add tests for gateway module
* fix up return documentation per review
* remove HAS_BOTO3 stuff as it is handled in AnsibleAWSModule per review
* fix an error with failure message and add custom handler for non-existent vpc ID
* add additional tests and update tests per review
* ignore errors on clean up tasks
* update module copyright to newer format
* fix exception handling since BotoCoreError doesnt have response attribute
* actually fix exception handling this time so it works with Py3 as well
* add functionality to create thin pool / volume on Linux LVM to lvol module
add `thinpool' parameter.
change `lv' parameter to not required.
To create thin poll, specify `thinpool'(, `vg' and `size') parameter and omit `lv' parameter.
It will create thin pool, nameed by `thinpool' parameter.
To create thin volume, specify both `thinpool' and `lv' parameter (also `vg' and `size' paramter is need).
It will create thin volume on `thinpool' pool, named by `lv' parameter.
Thin volume and pool can delete whith 'state=absent' parameter.
Thin volume is resizable like normal volume.
Thin pool can extend, but not reduce. This limitation is in Linux's LVM.
* Add thin volume support
- Based on f816618
- Indicate that either lv or thinpool are required parameters using
AnsibleModule's required_one_of.
- Resolve conflict with snapshot functionality
* Fix typo in documentation
* Fix and simplify logical volume check
* Rebase fixes
* Convert examples to native YAML syntax
* Fix failure with snapshot creation
* Properly fail when trying to snapshot a thinpool volume
* Don't fail when no size given for thin volume snapshot
Fixesansible/ansible-modules-extras#2478
* Convert old style required property sneaked in through rebase
* Fix 'too many leading #' syntax check
* Module to generate Diffie-Hellman parameters
Implements #32577
* Add integration tests for openssl_dhparam
* Slightly refactor check to prevent unnecessary regeneration
* Fix code smell in tests
Highly annoying to have to do this again and again and again as the rules change during the game
* Using module.run_command() and module.atomic_move() from a tempfile.
* Remove underscore variable
Ansible prefers dummy
* fix broken import
Error was:
lib/ansible/modules/cloud/azure/azure_rm_dnsrecordset.py:223:0: NameError: name 'ARecord' is not defined
* doc: use formatting functions
* remove unused dict
If the module is set to absent, read all possible configurations and remove them.
i.e. not just do a 'no switchport', as leaving around other options make
the logic handling harder.
If the user wants to remove switchport, remove all config for the interface
and finally push a 'no switchport'.
Also, I needed to map all possible params from interface regardless if state
is absent or present, so I can later detect what I need to remove in case of absent.
* Fix debug logs failing with persistent connection
Fixes#33047
* As debug logs are written on stdout, it interrupts
the communication between ansible-connection(background)
process and main process. To avoid this add a string similar
to exactly identify the response string.
* Remove unwanted code in ansible-connection
* Fix review comments
* Fix spurious log emitted on ansible-connection stdout issue
* ansible-connection which runs as a background process sends a
json string (contains response received from remote device)
to foreground ansible-playbook process over stdout.
* If in case debug flag is enabled the connection_loader api
invoked from ansible-connection `ssh = connection_loader.get('ssh', class_only=True)`
results in emitting debug logs on stdout. This spurious log
interfere with the actual response and results in failure while
reading json string in ansible-playbook process
* To avoid this save stdout of ansible-connection and redirect it string
buffer to accumulate all the logs emitted by core API's
* Add these logs in `result['messages']` which is send a json string after reinstating saved stdout
* Remove unwanted code in ansible-connection
* Fix review comment
* adding support to manage ipa services
* IPA Services does not have a description
* fixes from code review
* Cosmetic changes (indentation) + documentation
* adds support for using connection=netconf
This change updates the module to provide support for using
connection=netconf instead of connection=local. If connection=netconf
is used, then the various connection arguments will be silently ignored.
* adds netconf plugin default
This adds a default implementation for netconf plugins if the network_os
is not specified. The default plugin will implement only the standard
netconf rpcs
* fix up pep8 issues
* Don't skip an inventory source just because it has a comma, make sure it's also doesn't exist as a path. Fixes#34931
* Add integration test for inventory path with commas
* Adding enos_config.py action plugin to create backup properly
* Changing BSD to GPL
* Changing License file to GPL
* Updating enos_config.py
* Updated copy right year to 2017
* Look for password prompts at the beginning of the line only
* Adds secondary checks for the supplied sub-prompts
Handles the case for enable prompts where enable_pass may be incorrect
and the deivce is still prompting for the password
* * Changes to enable network_cli and netconf on modules.
* limits connection local for single TC per playbook.
* * adds a note on why only 1 TC is executed with connection: local
* adds two new infoblox lookup plugins
* nios - lookup plugin to return nios objects to the playbook
* nios_next_ip - lookup plugin to return the next avaiable ip address
* adds some additional examples to nios lookup
* fix up pep8 failures
* updates in response to review comments