Don't fail when policy, requestPayment, tagging or versioning API is not
implemented by the endpoint and if related parameters policy, requester_pays,
tags or versioning are None.
* cleanup is already tested.
* Add test for paused.
* Add recreate and restart tests.
* timeout is a common docker option
* Implement paused and fix paused test.
* Add changelog.
* Improve paused test.
migration is disabled. The PR adds new option to force migrate
the VMs. This is required for hosted engine migration since
automatic migration is disabled for HE VM by default.
shade is not used anymore by the `os_*` modules.
PR #40532 replaces `shade` library by `openstacksdk`. This commit clean
up some references to the old library. It's similiar to what has been
done in PR #40784.
* add filters variable to allow servers to be selected based on arbitrary nova properties
* update docs to fix yaml
* add required info for filters variable in the docs
* bump version number
* clean up documentation
* More generic comparison code from docker_container to docker_common.
* More flexibility if a is None and method is allow_to_present.
Note that this odes not affect docker_container, as there a is never None.
* Update docker_secret and docker_config: simplify labels comparison.
* Added unit tests.
* Use proper subsequence test for allow_more_present for lists.
Note that this does not affect existing code in docker_container, since lists
don't use allow_more_present. Using allow_more_present will only be possible
in Ansible 2.8.
* pep8
* docker_image: Fix up 'changed' event in force mode
This is the same as https://github.com/ansible/ansible/pull/19235 except it applies to all image-building modes (building the image locally, loading the image from an archive, or pulling the image), rather than only when pulling the image.
* Use 'dummy' rather than '_' as unused variable name.
* Add changelog fragment for pull request #33754
Due to refactoring of task_error and wait_for_task method,
SSL thumbprint was lost in error message. This fixes the
retry mechanism of AddHost task.
Fixes: #47563
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* initial commit of facts module for Memset VPS/dedicated server products
* add missing brace
* add integration tests (disabled until we have a mock API to test against)
* bump ansible release version to 2.8
* initial commit of facts module to return usage of a Memstore cloudstorage product
* switch API wrapper to use basic auth instead of passing the api_key in the body
* add integration tests (disabled until we have a mock API to test against)
* bump ansible release version to 2.8
* integration test for docker_swarm_service
* ensure stack de-initialization
* Set default value for 'configs' parameter to None
Docker-py uses None as a default value for configs.
Using the same default here allows to create services on older docker
setups (docker_api<1.30).
* Set default value for 'update_order' parameter to None
Docker-py uses None as a default value for update_order.
Using the same default here allows to create services on older docker
setups (docker_api<1.29)
* Set default value for 'publish.mode' parameter to None
Docker-py uses None as a default value for publish_mode.
Using the same default here allows to create services on older docker
setups (docker_api<1.32)
* Allow tests to run on older version of docker.
* remove workarounds for old docker versions
* test correct swarm cleanup
* changelog fragment for docker_swarm_service defaults change
This PR is fixing following issues:
1) Don't try to check password.
2) Check options.
3) Order wasn't adding at the end, as doc says.
Signed-off-by: Ondra Machacek <omachace@redhat.com>
* Add Support of healthcheck in docker_container module
Fixes#33622
Now container can be started with healthcheck enabled
Signed-off-by: Akshay Gaikwad <akgaikwad001@gmail.com>
* Extend docker_container healthcheck (#1)
* Allowing to disable healthcheck.
* Added test for healthcheck.
* Make sure correct types are used.
* Healthcheck needs to be explicitly disabled with test: ['NONE'].
* pep8 fixes
Signed-off-by: Akshay Gaikwad <akgaikwad001@gmail.com>
* Fix bug if healthcheck interval is 1 day or more
`timedelta` object has days too and seconds are up to one day.
Therefore use `total_seconds()` to convert time into seconds.
Signed-off-by: Akshay Gaikwad <akgaikwad001@gmail.com>
* Add test for healthcheck when healthcheck is not specified
This is to avoid the situation when healthcheck is not specified and
treat this as healthcheck is changed or removed.
Signed-off-by: Akshay Gaikwad <akgaikwad001@gmail.com>
* Convert string syntax for healthcheck test to CMD-SHELL
Also add another test case to check idempotency when healthcheck test
is specified as string
Signed-off-by: Akshay Gaikwad <akgaikwad001@gmail.com>
* Playbook fails if minimun docker version is not satisfy for healthcheck
This is to make more consistent with other non-supported options.
Signed-off-by: Akshay Gaikwad <akgaikwad001@gmail.com>
* Behave better if auto_remove and output_logs are combined. Warn if output cannot be retrieved because of auto_remove.
* Add tests.
* Added changelog.
Currently there is no way to reset the custom_compatibility_version to
NULL. If we provide a empty string('') to custom_compatibility_version,
it will fail with error "IndexError: list index out of range" at _get_minor
function.
To reset the custom_compatibility_version, we have to pass None value to
types.Version. The PR fixes the same.
* New module vmware_host_powermgmt_policy
* minor changes
Signed-off-by: Christian Kotte <christian.kotte@gmx.de>
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* New module vmware_host_ipv6
* Minor changes
Signed-off-by: Christian Kotte <christian.kotte@gmx.de>
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
If a "domain" parameter is provided, use it in looking up the user ID.
Additionally, if both a domain and project parameter are provided, then
remove the domain ID from the list of filter criteria after having used
it to look up both the user and the project. OpenStack will not allow us
to apply both a project ID (which implies a domain) and a domain ID as a
search filter.
Fixes#42911
* Add datacenter_name alias
* Improve vcenter_folder module
* add check mode support
* fix VM folder deletion
* fix folder deletion under parent folder
* fix (host) folder creation if two datacenters are present
Fixes: https://github.com/ansible/ansible/issues/45900
This PR fixes the case when the cloud_init_persist was used, but we
still sent use_cloud_init=False, which is in oVirt API evaluated as not
to use cloud_init in first VM execution. This patch is changing it to
send just None, instead of False.
Signed-off-by: Ondra Machacek <omachace@redhat.com>
* Add runtime option to docker_container module
Signed-off-by: Antoine Bardoux <abardoux@nvidia.com>
* Add changelog fragment
Signed-off-by: Antoine Bardoux <abardoux@nvidia.com>
* Add idempotency test for docker_container.runtime
Signed-off-by: Antoine Bardoux <abardoux@nvidia.com>
##### SUMMARY
The azure_rm_cdnprofile module was missing a valid sku 'standard_microsoft'. Added it to the list of valid choices.
##### ISSUE TYPE
- Bugfix Pull Request
##### COMPONENT NAME
azure_rm_cdnprofile
##### ANSIBLE VERSION
```
ansible 2.8.0.dev0
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/home/user/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/python2.7/dist-packages/ansible
executable location = /usr/local/bin/ansible
python version = 2.7.15rc1 (default, Apr 15 2018, 21:51:34) [GCC 7.3.0]
```
##### ADDITIONAL INFORMATION
It was not possible to deploy using the 'standard_microsoft' sku previously. This addition allows this.
This PR fixes the update check method so it now check also the next_run
configuration of the virtual machine if it exists.
So if previously the VM was updated with new parameters, and then reset
back, the module didn't set the parameters to be set back in next_run.
This PR fixes it so the next run configuration is set back with proper
parameters.
Signed-off-by: Ondra Machacek <omachace@redhat.com>
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1639894
Signed-off-by: Ondra Machacek <omachace@redhat.com>
* kick off
* done for the day
* beta code and test
* fix a typo
* boto3_conn and boto_exception aren't used in this code, ec2_argument_spec is used but unneeded.
* Returning when find a match avoids doing extra work, especially when pagination is involved
* add new permissions for test
* (output is changed) is preferred over accessing the attribute directly.
* pass the result through camel_dict_to_snake_dict() before returning it.
* AnsibleAWSModule automatically merges the argument_spec.
* deletes the created resources even if a test fails.
* AnsibleAWSModule automatically merges the argument_spec.
* fix typo
* fix pep8
* paginate list_repositories
* specify permissions for test
* cut the unnecessary code.
* add return doc string
* add missed ':'
* fix syntax error: mapping values are not allowed here
* add description for return
* fix syntax error
* rename module name and turn off automated integration test.
* add key_data argument
The key_data argument helps when using a private key stored in Vault.
* Add "version_added" line
Add version_added line to pass automated tests.
* remove unnecessary nesting
* Adding iam_password_policy module
* fixing various issues -- error handling, bugs
* fixing various issues based on tests
* renaming dummy var
* fixing type reference in documentation
* adding int tests and other updates
* removing typo
* fixing auth for int tests
* removing int tests for now
* readding integration tests w/ unsupported designation
* removing conflicting group
* Update aliases
* Fix unused variable
1. Add support for SCSI controller creation
2. Support for SCSI Type
3. Warn about Disk Unit Number 7
4. Allow specifying SCSI controller
5. Allow specifying Disk Unit Number
6. Idempotency
7. Remove disks
8. Do not allow to reduce disk
9. More than 15 disks support
10. No SCSI controller and unit number check
11. Thin support
12. Update documentation and example
13. Multiple Datastore and datastore cluster support
14. Check datatype of disk unit number and SCSI controller
15. Handle disk_size when it is int or float
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* Update pydoc
* Update module documentation and example
* Add aliases for name as creation_token
Fixes: #28738
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* Added secure boot enable/disable to vmware_guest_boot_manager. Also added its state to facts
* VMware does not support secure boot when boot_firmware is bios. Add some guardrails to protect the user from misconfiguration
* Address review comments
When multiple virtual machines or templates are found in environment,
module needs folder path. This fix adds facility to specify folder path
for template or virtual machine if multiples are found.
Fixes: #37087
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* Don't execute mount or umount in check mode
* The datastore was mounted or unmounted when you execute the playbook in
check mode.
* Test if running in check mode before mounting or unmounting the
datastore.
* Add support for NFS v4.1 datastores
This fix initializes current_version to None so that
module proceeds in check mode.
Fixes: #46654
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
If enable_snat is False, this should be used to build the
request, because the default value in the OpenStack Networking
API is True.
Fixes the issue #45915.
* adding explanation of replace_all_instances
How does "replace_all_instances" work? does it increase the number of instances by 1 in the Load balancer and it scales in a server and waits for it to complete its health check, OR does it terminate a node a that causes an autoscale event to happen and then adds a new server?
+label: docsite_pr
Currently, Ansible interprets variables with a True|False value as
boolean. This causes the vmware_deploy_ovf module to break, because
it can only accept string values as properties.
This fix checks if a value is boolean, and converts it to a string
if it is. Since integers do not seem to be causing the same error, this
is the only check we appear to need.
After completion, OVF properties that are boolean can be specified as
yes|no or true|false.
Closes: #45528
* Allow to specify images by hash for docker_container and docker_image_facts.
* flake8
* More sanity checks.
* Added changelog.
* Added test.
* Make compatible with Python < 3.4.
* Remove out-commented imports.
* Don't simply ignore container in present() if image is not specified.
* Use image from existing container for recreation if not specified.
* Added changelog.
* Improve comment.
* Ovirt_disk - Add ability to refresh passthrough disks
A new paramter "host" is added. When this paramter is specified the newly
created disk or an existing disk will refresh its information about the
underlying storage via the specified host. This oprion is only valid for
passthrough disks. This option requires at least the logical_unit.id to be
specified.
* Host search modification and some other minor changes.
* pep8 correction
* ovirt add snapshot delete after x days
* update logic of deleting snapshot and rename it
* update docs and names of vars
* update docs syntax
* Update ovirt_snapshot.py
* put remove logic to function
* use default removing function for snapshot
* docker_container: Honour stop_timeout when creating docker containers (#43814)
* Adjusting description to what actually happens.
See docker-py changelog for 2.7.0: 'APIClient.stop will
no longer override the stop_timeout value present in the
container’s configuration.'
* Add a test whether stop_timeout can be configured for the container.
* Added changelog.
* Integrate with comparisons (by default, ignore stop_timeout value for restarts; will be configurable with PR ansible/ansible#44789).
* Fix config change code and tests (#2)
* Improving wildcard test.
* Using correct config.
* Enable support for launch_templates in ec2_asg
* Fix asg create with LT and no version number
* Update mutually exclusive list
* Better function names
* Sorting args.
* Doing comparisons of options with container parameters in a more context-sensitive way.
This prevents unnecessary restarts, or missing restarts (f.ex. if parameters are removed from ``cmd``).
* Make blkio_weight work.
* Fix cap_drop idempotency problem.
* Making groups idempotent if it contains integers.
* Make cpuset_mems work.
* Make dns_opts work.
* Fixing log_opts: docker expects string values, returns error for integer.
* Adding tests from felixfontein/ansible-docker_container-test#2.
* Make uts work.
* Adding changelog entry.
* Forgot option security_opts.
* Fixing typo.
* Explain strict set(dict) comparison a bit more.
* Improving idempotency tests.
* Making dns_servers a list, since the ordering is relevant.
* Making dns_search_domains a list, since the ordering is relevant.
* Improving dns_search_domains/dns_servers.
* Fixing entrypoint test.
* Making sure options are only supported for correct docker-py versions.
* fixes#45941
* corrects regression introduced by #26104; when the resource group doesn't exist, the module exits prematurely with an error instead of creating it.
This is because underscores are illegals in hostnames and users might
want to create the same host names are the name of the Linode machine
(as in the report in #30059).
Closes https://github.com/ansible/ansible/issues/30059.
* Update azure_rm_virtualmachine.py
A lot of Azure images are not cloud-init ready and need to be prepared manually before attempting to use the custom_data option of this module. Adding a line to the description to make others aware. If, like me, they are used to working with AWS AMIs that all seem to have cloud-init baked in, this could prevent some troubleshooting as to why their custom_data scripts aren't running in Azure.
* fixing addition to azure_rm_virtualmachine.py
* Update azure_rm_virtualmachine.py
* final update
* fixed url syntax
* nuked trailing whitespace
* efs.py: Add support for EFS provisioned throughput
* efs_facts.py: Add support for EFS provisioned throughput
* efs_facts integration tests updated with provision throughput
* efs_facts: Tests refactoring - add failure and success playbook according to botocore version.
* efs_facts: More tests and new option descriptions adjustment
* efs_facts tests renamed to efs
* Improve iam_group exception handling
Use AnsibleAWSModule for iam_group and handle BotoCoreErrors
as well as ClientErrors. Use fail_json_aws to improve error messages
* Add minimal iam_group test suite
Update some of the read-only IAM permissions (this is not sufficient
to run the test suite but it gets further than it did until it tries
to add a (non-existent) user)
* Clean up after tests
Since 'organization' is the spelling used accross all others modules,
I think it would be better to at least have this one as a alias.
Organisation is the UK/Australia/NZ spelling, while organization is the
US one.
* Fix targets that may be a list containing strings and lists which worked prior to 2.6.
* Add ec2_group integration tests for lists of nested targets
* changelog
* Add diff mode support for lists of targets containing strings and lists.
The user can use os_loadbalancer module to configure a fully functional
load balancer by specifying the sub-resources definition in the module,
rather than combining os_listener, os_pool and os_member modules.
* Fix support for VPC capabilities such as redundant routers or region level VPC
* Add integration test cases for "region level VPC" and "distributed router" capabilities
gce_backend_service module expects healthchecks to be an array of string. The previous example incorrectly mentioned healthchecks as an array of objects each containing a `name` key.
Due to a change in python 3 filters return filter instead of list. This breaks the network name to id lookup for the docker_swarm_module. By wrapping it in list it ensures it is a list when returned and the id is extracted.
VM customization is not necessary if user is not specifying IP address
and netmask. This fix adds exception for type 'DHCP' which is set by default
if no networking details are provided.
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* rewrite get_resource_pool method for correct resource_pool selection
* only keep name if path is given for cluster, esxi_hostname or resource_pool
* Revert "only keep name if path is given for cluster, esxi_hostname or resource_pool"
* This reverts commit 50293ec763c024b0eaceac5d775ccc0ad3ff8bd7.
* if the name argument contains a path, only use the last part for matching
* remove path from cluster argument in tests
* remove find_objs in favour of reusing find_obj with an extra folder argument
* fix find_obj ignoring first if name is not given
* Refactoring related to network device
* Assign unique random temporary key while creating SCSI or/and IDE controller devices
* Add testcase for this change
Fixes: #38679
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
With this fix user can add, remove and set privileges to
an existing role with privileges.
Fixes: #44391
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* Add tests to replicate bug #44788
* Handle when userId is same account due to in-account peering
* Module defaults for main.yml
* Turn off VPC peering tests in CI
* Fix spurious `changed=True` when int is passed as tag
* Fix for all AWS module using compare_aws_tags
* Handle improperly stringified protocols and allow inconsistency between None/-1 on non-tcp protocols
* Add integration test that reproduces the same bug
* Return false if the comparsison is not equal
There are several services e.g. vmware-fdm, which does not have package name and
package description which will raise a error if queried for.
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
updates to azure_rm_sqlfirewallrule
small fixes
move sql client to common
adding state
fixed sample
fixed sanity
fixed aliases
removed unnecessary object
removed unused resource_group
changed group to less crowdy
tags
no tags on firewall rule
* Add functions to retrieve the allowed and required parameters for boto3 client methods
* Add custom waiter for stopping an RDS DB instance
* Add rds_instance module
* Add rds_instance integration tests
* address requested changes from ryansb
* address requested changes from willthames
* address requested changes from dmsimard
* Fix final snapshots
Fix idempotence with already-deleting DB instances
Remove unused import from module_utils/aws/core.py
Consolidate function to get all boto3 client method parameters and the subset of required parameters
* Add some additional rds_instance integration tests
* Add some common functions to module_utils/aws/rds
* Move common code out of rds_instance
* Remove hardcoded engine choices and require the minimum boto3
* Document wait behavior
* Provide a list of valid engines in the error message if it is invalid
Add supported methods to whitelist
Remove AWSRetry around waiter
Wait for a less crazy amount of time
Remove unused variables
* Add a test for an invalid engine option
* pep8
* Missed adding a method to the whitelist
* Use retries
* Fix some little things
* Fix more things
* Improve error message
* Support creating cross-region read replicas
* Remove unused imports
* Add retry when getting RDS instance
* Soft-check required options so module fails properly when options are missing
* Fix mariadb parameter version
* Fix cross-region read_replica creation and tests
* fix modify tests
* Fix a modification test
* Fix typo
* Remove test for option_group_name that exists for this account but may not for others and added as a TODO to do properly
* initial source of the elb_target_facts module, which gathers all
registered ELBv2 target groups for a given instance id
* updating
* initial dump of tests
* updating docs, adding AWSRetry decorators
* updating tests
* More brush up, some refactoring
* updating for sanity tests
* removing extra space
* updating elb_target_facts to use a new name for the return value, not return a fact, and use instance variables for the AWS connections. updating tests to go along with that
* updating classes to be 'new-style' classes
* Fix typos in docker_login reauthorize parameter
* Remove note about docker_login email address
Docker Hub no longer requires an email address.
* Remove check for email parameter with Docker Hub
This is no longer required, so login should not fail if it's not provided.
* Only handle cpu_shares, volume_driver, auto_remove as in _host_config().
* Don't compare log_options (resp restart_retries) if log_driver (resp restart_policy) is not specified.
* Warn that log_options (resp restart_retries) is ignored if log_driver (resp restart_policy) is not specified.
This patch adds a new `backend_config` parameter that allows to provide the
-backend-config parameter during the terraform init command.
The option allows to dynamically set the backend information, like the s3 bucket name
and statefile name.
* Working through tests and fixing dumb mistakes
* Fix sanity issues and tests. All G
* Correct type test for azure_rm_networkinterface
* azure_rm_networkinterface correct type comparison
* Post rebase cleanup
* Remove erroneous reference to dns_servers
* Create copy of HostConfig object before adding it to results.
* Create general sanitize function in docker_common. Using it for all return values of docker_container.
* Make Python 2.6 compatible.
The AWS API and console docs are inconsistent about whether EC2 instances have IAM profiles or roles. Things which follow the API tend to use profile but the console uses “IAM Role”. This adds that term to the help text so it's searchable.
+label: docsite_pr
This PR includes:
- Removal of maintainers that are listed as author in the module
- Removal of entries that do not extend the original author list
- Move ignored-statement to namespace/directory (where useful)
- In some cases, fix the authors-list or add missing github id
We end up with a list of exceptions/additions and a large set of
namespace/directory maintainers or team of maintainers.
Some entries could be further improved by discussing with some
maintainers.
* Removed modules no longer have documentation
Decided this was causing people to think that modules were supported
even after being removed. This change is a new strategy to have the
error message trying to use a removed module point people to the older
documentation.
* Add stubs for modules removed in 2.7
These are freshly removed so we want people who are still using them
when they upgrade Ansible to have a hint as to where to find information
on how to port.
* Finish properly undeprecating include
include was undeprecated earlier but not all of the pieces that marked
it as deprecated were reverted. This change fixes the remaining
pieces
* elb_application_lb: fix dangerous default of deleting an ELB if state is omitted by changing state to default to present to be more like other AWS modules
When removing an instance via its ID, it is not clearly explained that one should use the `name` parameter.
Also a simple example is provided.
+label: docsite_pr