* 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.
* Update yaml-style in password-lookup example
##### SUMMARY
Update the yaml-style in a password-lookup example to match best-practices.
##### ISSUE TYPE
- Docs Pull Request
##### COMPONENT NAME
password_lookup plugin
##### ANSIBLE VERSION
devel
* remove whitespace
* 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.
* Unify login behavior between 1Password lookup plugins and module
- Use the same names for all credential aspects
- Only require the minimal amount of information for each
- Add more examples
* Change parameter terms
- use terms in line with 1Password documentation.
- update examples
- update tests
* Improve error messages in lookup plugin
* Unify onepassword_facts with lookup plugins
- use same methods and logic for signing in or reusing existing session
- unify terms with lookup plugins
* Change rc test for determing login
An rc other than 1 can be returned when a current login session does not exist.
* Create AnsibleModuleError class
ansible.errors is not available to modules, so create an AnsibleModuleError class within the module
Do not user os.path.expanduser since this is already done by virtue of the type being "path" in the argument spec.
* Add note about risk with fact caching sensitive data
* Add note on op version that was used for testing
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
* Ensure that the src file contents is converted to unicode in diff info. Fixes#45717
* Fix up and cleanup
* The diff functionality in the callback plugins should have the
to_text() calls removed since we're now doing it in ActionBase
* catching of UnicodeError and warnings in the callback diff
functionality from 61d01f549f haven't been
needed since we switched to to_text so remove them.
* Add a note to ActionBase's diff function giving an example of when the
diff function will be inaccurate and how to fix it
* Fix callback get_diff() tests
I believe the unittests of callback's get_diff() were wrong. They were
sending in a list where strings were expected. Because previous code
was transforming the lists into strings via their repr, the previous
tests did not fail but they would have formatted the test cases output
in an odd way if we had looked at it.
* Try to intuit proper plugins to send to ansible-connection
* Move sub-plugins to init so that vars will be populated in executor
* Fix connection unit tests
* win async: use async_dir for the async results file directory
* tried to unify POSIX and PowerShell async implementations of async_dir
* fix sanity issue
* handle yum and dnf lockfiles - fixes#44120
Signed-off-by: Adam Miller <admiller@redhat.com>
* fix logic problem to properly check for dnf lockfile glob
Signed-off-by: Adam Miller <admiller@redhat.com>
* Added documentation for collectstatic --clear.
Added a description of the --clear argument used with the Django management
command, collectstatic. (When #1810 added this feature the documentation
was not updated).
no such option "config" for diff_against argument.
Further below, there is an example of eos_config using diff_against with a valid option.
+label: docsite_pr
Also fixes an error related to the required parameters. The l3out parameter is required but only 'name' was being accepted, and that should only be the alias.
* 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
* Add the key_name/value_name options to dict2items - as with items2dict, allow users to configure the key/value name for dict2items, add "version added" and examples
* Added example to register result of a ping test, including a wait_for command.
* added names to tasks
* updated examples to remove deprecated commands etc
* removed group_var
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.
* Link to the Galaxy platforms list from the meta file template
Fixes https://github.com/ansible/galaxy/issues/52.
* make ansible/ansible text match mazer text on platforms
* 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.
* reboot: Fix typo and support bare Linux systems
This fixes a problem for bare Linux systems that do not support 'who -b' or 'uptime -s'.
* Accumulate stdout and stderr information
* 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
* Suggest full fingerprint for apt_key.
Background: https://gwolf.org/node/4070 (Gunnar Wolf: Stop it with those short PGP key IDs!)
I've put the full fingerprint into the examples.
* avoids the phrase 'best practice'
* Merge issue
* Update cnos_rollback.py
* Updating license for the refactored method
* Update cnos_rollback.py
* Removing the BSD License as suggested by Legal
* To add Documentation for ENOS as well as CNOS
* Merge issue
* Revert "To add Documentation for ENOS as well as CNOS"
This reverts commit 80e6e39054be0c3a8f95d16dc39ca9d93baf8c4b.
* Adding Docs for ENOS and CNOS
* Update cnos.py
* Update cnos_rollback.py
* Update cnos.py
* Update platform_cnos.rst
* Update platform_enos.rst
* Removed version 2.7
* Removing 2.7
* Return correct version on installed VyOS
Previously existing regexp will shows only "VyOS" without numeric output of router version.
For example: from "Version: VyOS 1.1.6" only VyOS will be written in ansible_net_version variable
For more informative output numeric value should be returned as well
* Fixed unittests
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.
* win_script: add support for become and centralise exec wrapper builder
* satisfying the pep8 gods
* do not scan for module dependencies when running as a script
- use context manager for dealing with the checksum file
- use loop that can tolerate zero, one, or more items return rather than the previous expression which would break if anything other than exactly one item was returned
* Show multi-line messages in debug documentation
* Add two-line entry
* Indicate that jinja2 filters are not applied here
* Fix to incorrect documentation change
* Make the following scripts idempotent so that we only have to rebuild changed docs, not all docs:
* plugin_formatter
* generate_man
* dump_keywords.py
* dump_config.py
* testing_formatter.sh
* To change all CLIs present in the code to latest CNOS CLI. One bug of executing with Lenovo Jakku switch is also getting fixed.
* To change the file names as the commands have changed from display to show
* To change to new CLI in test_cnos_comand.py as well
* multiple parents issues in diff
* Integration tests for missing functionality
* add testcase for other platforms. vnxos does not support qos so need to find a command chain on v-nxos for multiple parets. junos uses on-device diff so should not need this.
* Fix for issue when any candidate parent did not meet the exact line in running-config
* DCI runs eos_config without become flag
* Clarify the creates and removes options
The description for the creates and removes options were worded poorly. This change improves readability and is easier to understand.
Double negatives are BAD
+label: docsite_pr
* Fix trailing whitespace
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.
* Added client_cert and client_key modules parem
* Use url_argument_spec to init module arguments
* Do not compare version and readOnly
* Convert HTTPResponse content to text before json.loads
* Added password in secureJsonPayload when datasource type is postgres
* Update postgresql_user.py
md5sum generates output with hypen. Something like the following
```
$ echo "md5$(echo -n 'verysecretpasswordJOE' | md5sum)"
md5d011966da94d776cf59bf6dbde240e5d -
```
We need to remove hyphen from the output. Also the command by itself is incorrect
```
echo "md5$(echo -n 'verysecretpasswordJOE' | md5sum")
```
double quotes must be after right parenthesis
```
echo "md5$(echo -n 'verysecretpasswordJOE' | md5sum)"
```
+label: docsite_pr
* Update postgresql_user.py
Add curly braces
On all supported Pythons, the io.BytesIO is always a stream
implementation using an in-memory bytes buffer. Makes code slightly more
forward compatible by reducing use of the six module.
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>
* Fix enabling my.meraki.com
- A parameter of "no" wouldn't be picked up
- Check for False in addition to whether it exists
* Clean up disable_my_meraki parameter check
* Use a sensible default for k8s merge_type
The sensible default for merge_type is `['strategic-merge', 'merge'].
However, we can't make this the default default, as we need to support
users who are using openshift 0.6.0, where the merge_type parameter is
unsupported.
* Refactor k8s test suite for merge_type tests
Allow tests with pre-merge-type openshift and post-merge-type
openshift.
* expect ssh_key_data to be a string instead of path
ssh_key_data should be a string filled with the private key
the old behavior can be archived with a lookup
Fixes#45119
* clarifies ssh_key_data description, adds newline
* 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 diff_ignore_lines option issue for candidate configuration
* diff_ignore_lines option is to handle the running config fetch from
remote host and ignore the lines that are auto updated eg: commit time and date
* This option should not be used while processing candidate (input) configuration
* Fix review comment
Added examples on how to use "keyed_groups", "hostnames", and "compose"
The compose example shows how to set the ansible_host var for a host to either the public or private ip. This is necessary when you set your hostname by name instead of ip
"python-netaddr" is an OS package, but "netaddr" is the pypi package needed in python. Suggesting OS packages for python libs seems in bad form. I like the syntax "python's netaddr" to explain what package manager would have it.
* 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
Tested an install on a Nexus 5596 and was failing due that this model will send an output of "Another install procedure maybe in progress" when running the show install all while the install is running. This is how the module knows that an install is being processed. In my case, it will not match that conditional statement.
* Previously when checking out a subdirectory, if changes are made in the
repository that aren't present in the subdirectory (i.e. in a different
branch or similiar) then the changes handler still kicks in even though
the content of this working copy hasn't necessarily changed. Now we parse
the output of svn update and fire if anything changes at all.
* Previously when checking out a subdirectory, if changes are made in the
repository that aren't present in the subdirectory (i.e. in a different
branch or similiar) then the changes handler still kicks in even though
the content of this working copy hasn't necessarily changed. Now we parse
the output of svn update and svn switch, firing if anything changes at all.
* Should not be executable
* ==None doesn't do what I want, is None does
* Add definitive to valid_simple_controls in pamd module
* Add changelog fragment for issue 44278
* Adjusted module name to not include path or extension
Previously, it returned no additional information:
"msg": "Could not update catalogue"
Now it passes that reason with the error message:
{"changed": false, "msg": "Could not update catalogue [77]: pkg: Insufficient privileges to update the repository catalogue.\n"}
build its intersection set and unnecessarily unique the final result.
The prior use of the intersect() function within the list comprehension
conditional leads to the function being called for every value in the input
list being processed, not efficient. When the input lists a,b are large,
the Ansible run time and resource utilization wildly increases generally
never completing the operation.
Unique of the intersection result is unnecessary as the source list union()
is already unique.