* Extend CPU data example and output results
Add "Get CPU Model example" and output result from "Get CPU inventory". Also add example for output of the "Inventory information" to make it easier to use the examples for Ansible beginners.
+label: docsite_pr
* Remove white space from blank line
* Move check_type_str() out of basic.py
* Move check_type_list() out of basic.py
* Move safe_eval() out of basic.py
* Move check_type_dict() out of basic.py
* Move json importing code to common location
* Move check_type_bool() out of basic.py
* Move _check_type_int() out of basic.py
* Move _check_type_float() out of basic.py
* Move _check_type_path() out of basic.py
* Move _check_type_raw() out of basic.py
* Move _check_type_bytes() out of basic.py
* Move _check_type_bits() out of basic.py
* Create text.formatters.py
Move human_to_bytes, bytes_to_human, and _lenient_lowercase out of basic.py into text.formatters.py
Change references in modules to point to function at new location
* Move _check_type_jsonarg() out of basic.py
* Rename json related functions and put them in common.text.converters
Move formatters.py to common.text.formatters.py and update references in modules.
* Rework check_type_str()
Add allow_conversion option to make the function more self-contained.
Move the messaging back to basic.py since those error messages are more relevant to using this function in the context of AnsibleModule and not when using the function in isolation.
* Add unit tests for type checking functions
* Change _lenient_lowercase to lenient_lowercase per feedback
* #50877:
* add support to postgresql_privs to use "FOR { ROLE | USER } target_role"
in "ALTER DEFAULT PRIVILEGES"
* fix sanity errors
* #50877: fix documentation and add a check for correct usage
of target_roles
* #50877: fix missing absent option for default privs with target_role
* #50877: add clear description, when target_roles can be used
* #50877: fix conflicts, formatting, and add a changelog fragment
* #50877: fix sanity error E335
* #50877: swap conditions and fix error to warning msg
* #50877: add tests for default privileges
* #50877: fix tests for default privileges
* #50877: fix tests for default privileges on centos 6
* * `reconcile_candidate()`
* old code searched the ip route configs for a given prefix+nexthop and then tried to remove the route based on prefix+nexthop only; this would fail when a static route was configured with `track` values.
* new code still looks for prefix+nexthop but uses the route config it finds on the device to remove it; e.g.
* search for: `ip route 192.168.20.64/24 192.0.2.3`
* find: `ip route 192.168.20.64/24 192.0.2.3 track 1 10`
* remove: `no ip route 192.168.20.64/24 192.0.2.3 track 1 10`
* logic cleanups:
* old code did a `show run` for every prefix. This can be a lot of data when there are large configs.
* new code uses filters to only return the static route configs.
* The filters now allow a common code path so no need for default vs vrf code paths
* `sanity` test: 100% Pass rate on N9K,N7K,N6K,N3K
- Bugfix Pull Request
`nxos_static_route`
* filter() does not return a list with python3
`filter()` was breaking pytest when it ran with python3, since it returns
an iterable instead of a list with python3.
Found that I didn't really need `filter()` anyway so just removed it
* restore var names /w/want/
* [WIP] Additional DevTest Lab modules
* updates
* try global schedule again
* dtl schedule
* try full dtl schedule test
* fixing schedule
* fixed problem
* another fix
* fixed test
* different time format
* fixed absent state
* test policy idempotence
* more updates
* updated devtestlabpolicy
* fixed syntax
* updated dtl policy test
* updated image id
* fixed test
* fixed bug
* fixed bugs and docs
* fixed bug
* + small cleanup
* reenabled tests but disabled leaking tests
* disabled test
* Mention Docker SDK for Python instead of docker-py / docker.
* Docs fixes.
* Add myself as docker_container author.
* Use array syntax for running command.
* Break long lines.
* Avoid failure when docker_version is None.
* Improve docker-py vs. docker note in requirements.
* Canonicalize Docker SDK for Python upgrade instructions.
* Split long line.
* Make it clearer which hostnames are meant.
* Adding cnos_system module to Ansible.
* Adding UT, Functional test required for cnos_system. Bugs came up are fixed
* Adding more files to the cnos_system suit.
* Fixed another problem where `group-timeout` was processed before `ip igmp snooping` was enabled
* `sanity` playbook:
* N6K: `show ip igmp snooping | json` succeeds on the device but doesn't return any data in body; added a skip to the sanity playbook to keep it out of CI
* Added a setup task to do initial cleanup on the device
* initial commit
* fix execute and \r\n
* \r attempt 2
* updated with integration tests and using new csharp import
* Apply suggestions from code review
Co-Authored-By: rcanderson23 <rcanderson23@gmail.com>
* fixed small docuement inaccuracies wrt returns
* removal of state in feature result
* removal of rc
* small fixes suggested in code review
* fixed variable assigning to result
* addition of comments on conditionals for clarity on matching
* swap logic of check_mode
* set $reboot_required so it is always returned
* removal of extraneous return information
* addition of integration tests
* set installation of parent features to true
* remove 2008 from tests
* changed test for TelnetClient from NetFx3
* change of tabs to spaces
* Add test check for OS version
Adds variable types to docs
Refactors unit tests to remove deprecated parameters
Adds missing Return values to documentation
Removes deprecated modules unit tests
adds ha order, ha group and ha load as failover types
refactors main() function and module manager to accomodate new patterns
updates docs
refactors unit tests
Refactors main() function and module manager in multiple modules in line with recent changes
Adds variable types to docs
Refactors unit tests to remove deprecated parameters
* Revert "changes to clusteR"
This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.
* Revert "changes to clusteR"
This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.
* Revert "Revert "changes to clusteR""
This reverts commit f1104a37b4.
* Revert "Revert "changes to clusteR""
This reverts commit f1104a37b4.
* documentation changes
* Revert "documentation changes"
This reverts commit 02c369d0414fdff492d90865c903bdade3174261.
* Issue with port being removed and added on modify
* Workaround for moby/moby#35437 bug for ansible.docker.swarm library to provide correct leader node IP address
* Adding simple parser to separate IP address from port number for workaround
* Adding simple parser to separate IP address from port number for workaround (inline)
* Different split() method
* adds function to do version checks for bigiq
* adds version limitation to bigiq application modules
Refactors main() function and module manager in multiple modules in line with recent changes
Adds variable types to docs
Refactors unit tests to remove deprecated parameters
* win_dns: Initial work
* win_dns: initial commit
* Renaming win_dns -> win_dns_record
* win_dns_record: Fix record leakage in output
* win_dns_record: Fix erroneous minimums enforcement
It is apparently completely legitimate to specify a TTL that is below
minimum; it will just get ignored in favor of the server's minimum.
* win_dns_record: Fix new-host changes reported incorrectly
* win_dns_record: Fix TTL changes reported incorrectly
* win_dns_record: Fix existing records not recognized
* win_dns_record: Remove obsolete object
* Refactorize check mode
* Add computer_name parameter
* Refactorize diff and changed to read DNS end state
* Fix pslint tests PSUseDeclaredVarsMoreThanAssignments and PSAvoidUsingCmdletAliases
* Minor fix, misnamed variable.
* win_dns_record: Fix "changed" state in check mode
* win_dns_record: cleanups
* win_dns_record: fix TTL update not changed regression
* Add initial integration tests
* win_dns_record: integration tests
* win_dns_record: Reverted 9cf5f2d8e6
The approach from that commit breaks check mode.
* win_dns_record: de-scope some records
These are either esoteric (meaning limited realworld testing)
or require additional thought to do properly (eg MX, which
has its "priority" level).
* win_dns_records tests: Ensure DNS services are installed
* Update lib/ansible/modules/windows/win_dns_record.py
Co-Authored-By: johnboy2
* Update lib/ansible/modules/windows/win_dns_record.py
Co-Authored-By: johnboy2
* Aggregated suggestions from dagwieers
* Fix bad powershell test argument
* win_dns_record partially converted to new Powershell module interface
win_dns_record converted to new Powershell module interface, except diff
and required_if
* win_dns_record: convert diff support
* win_dns_record: convert diff support to after-before style
* Don't test for Add-WindowsFeature
* win_dns_record: Fix diff
When check mode is used diff changes must be simulated.
* Style consistency/clean-ups
* Fix integration test typos
* Improve readability of diff output
The original intention of the diff output was to resemble zone file records
(except that the zone-name is added onto each record). In that light, the
missing *record class* information (always "IN" in our case) was an oversight.
This just makes the diff output more "instantly readable" for DNS gurus.
* win_dns_record: Add diff tests
* Fix ansible-test sanity check fails
* Apply suggestions from code review
Added suggestions from dagwieers
Co-Authored-By: johnboy2 <john@jnelson.ca>
* win_dns_record: Skip 2008 and friends
* Reword error messages so they start capitalized.
* Fix sanity error
* win_dns_record: Document ttl range
* win_dns_record: Additional supportability barriers in tests
* win_dns_record: Typo
* win_dns_record: Sanity fix
* win_dns_record: Use OS-test only for compat checking
* Moving comparision functions to compare.py from common.py
* Refactors main() function and module manager in multiple modules in line with recent changes
Adds variable types to docs
Refactors unit tests to remove deprecated parameters
* Moving comparision functions to compare.py from common.py
* fixes issue with data group elements containing IPs with Route Domains
refactors main() function and module_manager to accomodate new patterns
updates doc variables
Refactors main() function and module manager in multiple modules in line with recent changes
Adds variable types to docs
Refactors unit tests to remove deprecated parameters
When haproxy is configured to track the status of a server using a
server in another backend it will not report all status as expected.
Using substring matching will solve this.
The CSV will output the server status in the following way:
MAINT: MAINT (via pxname/svname)
UP: UP
DOWN: DOWN
Haproxy doc on trach: https://cbonte.github.io/haproxy-dconv/1.8/configuration.html#5.2-track
* Add an option to parse botocore.endpoint logs for the AWS actions performed during a task
Add a callback to consolidate all AWS actions used by modules
Added some documentation to the AWS guidelines
* Enable aws_resource_actions callback only for AWS tests
* Add script to help generate policies
* Set debug_botocore_endpoint_logs via environment variable for all AWS integration tests
Ensure AWS tests inherit environment
(also remove AWS CLI in aws_rds inventory tests and use the module)
* New module postgresql_facts: Gathers facts about remote PostgreSQL instances
* New module postgresql_facts: fix default values of function
* New module postgresql_facts: add extension support
* New module postgresql_facts: fixed typo
* New module postgresql_facts: added integration test
* New module postgresql_facts: fix test error
* New module postgresql_facts: add info about min server version
* New module postgresql_facts: fix
* New module postgresql_facts: fix
* New module postgresql_facts: added repl stat tables checks
* New module postgresql_facts: fix
* New module postgresql_facts: fix
* New module postgresql_facts: fix
* New module postgresql_facts: fix
* New module postgresql_facts: fix
* New module postgresql_facts: fix
* New module postgresql_facts: fix
* New module postgresql_facts: ansible_facts -> postgresql_facts
* New module postgresql_facts: fix ci
New module postgresql_facts: revision for review
New module postgresql_facts: revision for review, fix
* fix doc
* New module postgresql_facts: add data types to param dict
* New module postgresql_facts: code refactoring
* # This is a combination of 3 commits.
# The first commit's message is:
New module postgresql_facts: incl_subset => filter
# This is the 2nd commit message:
New module postgresql_facts: fix a typo
# This is the 3rd commit message:
New module postgresql_facts: fixes
* New module postgresql_facts: incl_subset => filter
New module postgresql_facts: fix a typo
New module postgresql_facts: fixes
Various cosmetic and doc changes
* New module postgresql_facts: fix filter type
* New module postgresql_facts: fix sanity
* New module postgresql_facts: change ansible_facts to postgresql_facts
* New module postgresql_facts: fix tests
* New module postgresql_facts: fixes
* New module postgresql_facts: fixes
* New module postgresql_facts: fixes
* New module postgresql_facts: doc fixes
* New module postgresql_facts: added pretty_val
* New module postgresql_facts: added pending restart
* New module postgresql_facts: fix documentation
* New module postgresql_facts: fix documentation
* New module postgresql_facts: fixes by KN
* New module postgresql_facts: fixed sanity
* New module postgresql_facts: fixed tests
* Fix IP address support for openssl_csr.
* Remove DirName support, which doesn't work as this and seems harder to fix. Also, I don't know of an example of how it actually works.
* Stop repeating names of common config arguments in docker_container.
* Prefer tls_verify over tls for docker modules and docker_swarm inventory plugin.
* tls and tls_verify are no longer mutually exclusive.
* Share setup code between docker_* modules and docker_swarm inventory plugin.
* Add support for more parameters.
* PEP8.
* Fix typo.
* Rename host -> docker_host.
* * Adding new attribute that contains an URI which may be used in other docker swarm modules
* Change host_uri to include_host_uri parameter name
* Adding port detection/override
* Small fixes
* Some general PEP8 adjustments for better code readability
* Changing the parameter type description for clearance
* cloudstack: streamline modules doc (part 4)
* Parameter types added
* Copyright format fixes
* Doc style fixes
* Examples format fixes
* validate-module errors fixes
* cs_network_offering: Rollback of the deletion of the choice list for supported_services param
* * Workaround for Docker bug moby/moby#35437 when in some cases the Leader IP address is 0.0.0.0 instead of correct address
* Changes in docs port 2375 to 2376 to avoid confusion wherever the TLS is mentioned as this is default port for TLS connections in docker
* Imports optimization
* Adjust documentation section to match ansibot parsing
* Add comment why the workaround is required
Include path in role with directory which has 'tasks' as end.
For example, roles/sometasks/templates is now considered while searching path.
Fixes: #42585
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
The cloudscale_floating_ip module failed if no server was assigned to
the floating IP. This also adds a test to avoid a regression.
The only way to have a floating IP without a server assigned is to
delete the server where the floating IP is currently assigned. Under
normal circumstances it's not possible to have an unassigned floating
IP.
- xenserver module_util: removed dead code. Attempting to call fail_json() on
nonexistent/bad module reference is a bad idea.
- xenserver module_util: fixed a bug in wait_for_task function where function
will fail to wait indefinitely when timeout=0 is used.
- xenserver_guest module: removed unused imports.
* Pluribus Networks network cli terminal and cliconf plugins
* Changes in Unit tests and modules according to network_cli connection
* Changes in Unit tests and modules according to network_cli connection
The output of pw.getpwnam() does not distinbuish between local and remote accounts. It will return a result if an account exists locally or in the directory. When local is set to True in the task parameters, look through the local password database explicitly.
* Ensure luseradd is present for tests
* Add docs and warnings about local mode
* Add new win_domain_group_membership module.
* Add support for diff mode.
* Do not assign variable which is never used.
* Add documentation for the `domain_*` options.
* Let ansible handle the exceptions.
The test if the group exists is useless as the first action on the
groups fails with the same error message if it does not exist.
* Add comments why we need the try/catch
* Rework diff handling.
Just return before/after state and let ansible do the working out of the
diff.
* Minor cleanups according to PR
* Switch from Get-AdUser/Group to Get-AdObject
so we can add/remove service accounts, or computers too.
* Cleanup PowerShell code
* Update host with additional host vars from the reservation details
* Add toggle for additional API calls and incorporate strict_permissions
* version_added
* Fix netbox url with string concat
* Add logic to trim extra / at the end of api_endpoint
See PR#49943
* Add in strip of any trailing '/'
* Update logic to look at the self.get_option of api_endpoint
* Update to move to remove if logic and just strip the api_endpoint
* Allow parent groups to be variables or literal, requires {{ }}
* Check strict before failing on templating errors
* Don't add a group if an invalid parent group was provided
* avoid using Postgres formatting function
* add tests for ALL FUNCTIONS IN SCHEMA
* documentation and changelog
* requested changes in tests
* fixed changelog
* Add source option.
* Split force parameter into force_source, force_absent and force_tag.
* Move all build-related options into a suboption called build.
* Add changelog.
In pyyaml versions before 5.1 the default_flow_style for yaml.dump
was None. Starting with 5.1 it is now False. This change explicitly
sets the value to None to maintain the original to_yaml behavior.
The change to pyyaml was made in the following commit:
507a464ce6
* AWS: new module ec2_transit_gateway fixes#49376
* Add permissions neeeded for integration tests
* uncomment nolog on creds
* add unsupported to integration test aliases
* remove the shippable/aws/group alias so doesn't conflict with unsupported
* ovirt: default save true in setup host networks
Default value for save updated network configuration
during setup host networks is set to true.
* ovirt: default save true in setup host networks
Default value for save updated network configuration
during setup host networks is set to true.
* ovirt: default save true in setup host networks
Default value for save updated network configuration
during setup host networks is set to true.
* Update ovirt_host_network.py
* ovirt: default save true in setup host networks
Default value for save updated network configuration
during setup host networks is set to true.
* ovirt: default save true in setup host networks
Default value for save updated network configuration
during setup host networks is set to true.
* Remove redundant return statements for module.exit_json
* Doc changes
* Typo fixes
* Refactor for check_mode
Based upon work of pilou-
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
When user specifies the JUMP value to 'tee', gateway is required.
This fix adds new parameter 'gateway' to support this functionality.
Fixes: #53170
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* Adding support for IP identifiers according to https://tools.ietf.org/html/draft-ietf-acme-ip-05.
* Add changelog.
* Make sure that the authorizations return value is unchanged for CSRs with DNS-only SANs.
* Remove unneeded import.
* type -> identifier_type
* Python 2.6 compatibility.
* Fix unit tests.
* Add IP address normalization.
* Extend tests.
* Move data into fixtures.
* Adjust BOTMETA.
* nxos_linkagg: `group` type mismatch causes idempotency failure
* `group` values need to be cast; e.g.
```
want = {'group': '20'}
have = {'group': 20}
```
* Found with N7K `sanity` test
* nxos_linkagg: change group param type to str
function changed to do in place replacement, should be less expensive even with copy as it avoids 'sub copies', can compose with module_args_copy to create replacement for old behavior
attempt to fix#52910
* handle lists and subdicts correctly
* added missing exception case, which was not noticed since 'cleaning' was not working
* added comments to clarify exceptions
* cloudscale_server: remove required parameter check
The valid parameter combinations are already checked by the API. There
is no need to check a subset of this in the Ansible module as well. This
makes it more likely that future changes in the API won't require
changes in the Ansible module.
* cloudscale_server: add password parameter
Recent revisions of the cloudscale.ch API allow setting a password for a
server. Add this option to the cloudscale_server module.
* create overridable sanitation function
* now used in aws, gce and azure plugins
* added new option to these plugins to work in conjunction with general toggle to make it easier
to emulate inventory script behavior.
* Don't raise AnsibleConnectionFailure if the ssh_process has already died. Fixes#53487
* Better support for file not found messages
* Add changelog fragment
* Add support to automate multiple systems
Currently `redfish_utils` module can support only one system.
These changes introduce the ability to support multiple systems.
* Update - add support to automate multiple systems
* Introduce `aggregate()` to avoid code duplication in `get_multi___` like
methods.
* Remove "set" related methods
* include systems URI in each aggregated entry
* rebased
* Fixes KeyError and merge errors
* modify regex to use implicit charsets this should solve issues in py3 and unicode names
* fix issue with subgroups in yaml inventory
* clarify deprecation message
* separated per name warning from deprecation
* move noise to verbosity, simplify warnings
* fix docs to reflect actual 'good' practice
* change toggle to choice list to give users more options
* changelog
* combine provided variables and host vars inside of constructing groups to take into account composed variables
let composed variables "win"
* fix whitespace
* Allow user to control hash behavior
* Remove dependency to psycopg2 with dump/restore
'dump' and 'restore' state only need pg_dump and pg_restore. These tools
don't use psycopg2 so this change tries to avoid the use of it in these
cases.
The db_exists test was replaced with an error detection when piping to
compression program, using a FIFO file. This effectively reverts #39483,
that was a fix for #39412.
* Fix typo
* Add changelog fragment
* Add note for dump and restore not requiring psycopg2
* Fix YAML syntax
* Update lib/ansible/modules/database/postgresql/postgresql_db.py
Co-Authored-By: Glandos <bugs-github@antipoul.fr>
* Revert "changes to clusteR"
This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.
* Fix issue and unit tests
* update to firewall
* fix import issues
* Revert "Revert "changes to clusteR""
This reverts commit 2713c75f31.
* fix docs
* stop pylint on unicode line, line can only be run in python2
* Review comment
* add pylint skip
* add pylint skip
* Output warnings from docker daemon on container create and update.
* Accept warning for blkio_weight instead of idempotency.
* Value quoting.
* Avoid loop variable conflict.
* Add changelog.
* Make one test case faster.
* Add 'Docker warning: ' prefix.
* Add a generalized warning reporting function.
* Add rollback_config
* Add change log fragment
* Fix broken test
* Actually fix broken tests
* Add rollback_config example
* Default rollback_config as None
* Abort early if rollback_config does not exist
The `oif_ps` attr expects a list of dicts but it also supports keyword 'default'.
When the playbook specifies `oif_ps: default` the `nxos_igmp_interface` module fails:
```
"msg": "Elements value for option oif_ps is of type <type 'str'> and we were unable to convert to dict: dictionary requested, could not parse JSON or key=value"
```
This test used to work afaik so I believe `AnsibleModule` may have changed at some point to enforce strict type checking, causing this failure. I did not see another way to handle both list & str types for the same attr so I just set it to `raw`.
`nxos_igmp_interface/tests/common/sanity` now has 100% pass rate.
- More info added to module docs.
- Fixed errors and typos in module docs.
- Added parameter types to module docs.
- Some error messages are fixed and/or changed to be more helpful.
- Some code comments changed and added.
- Updated unit tests that test changed error messages.
- Improved module examples.
- Improved docs for custom_params xenserver_guest module parameter
* Add mount options
* Remove mount readonly default
* Fix driver_config test
* Add documentation
* Add changelog fragment
* Properly indent tmpfs_ options
* Use correct service suffix for mount tests
* Check for None value on tmpfs usage check
* Document change of mounts.readonly return key
* Use correct change log type
* Really use correct change log type
* Revert changing mount.readonly to read_only
* Configurable list of facts modules (#31783)
- allow for args dict for specific modules
- add way to pass parameters
- avoid facts poluting test
- move to 'facts gathered' flag
- add 'gathering' setting tests
- allow parallel option in case serialization is too slow
- added support to automatically map network facts
uses "smart" connection mapping
* Raise OpenSSLBadPassphraseError if passphrase is wrong.
* Improve handling of passphrase errors.
Current behavior for modules is: if passphrase is wrong (or wrongly specified), fail.
Current behavior for openssl_privatekey is: if passphrase is worng (or wrongly specified), regenerate.
* Add changelog.
* Add tests.
* Adjustments for some versions of PyOpenSSL.
* Update lib/ansible/modules/crypto/openssl_certificate.py
Improve text.
Co-Authored-By: felixfontein <felix@fontein.de>
Fixes a bug where parse_distribution_file_ClearLinux() was called on CoreOS (and probably many other distros) and it returned True since it successfully parses the distribution file. Since this file exists on many Linux distributions and they are a very similar format, add an additional check to make sure it is Clear Linux.
Change the order in which distribution files are processed so NA is last. This prevents a match on CoreOS hosts since they also have /etc/os-release and the called matching function for NA is very general and will match CoreOS.
* Add changelog
* Add unit tests
Only add tests for Clear Linux parsing since that was the cause of this issue.
* Make "absent" runnable with specifying NVR in DNF module.
* Fix indent and comment.
* Adjust indent.
* Fix removing multiple packages with NVR.
* Replace nevra_strict with nevra , since it's not included in libdnf on Fedora 28.
Currently, there is no way to reset the network profile of vNIC profiles
to "No Network Filter". To reset the vNIC profile, we have to pass an
None value to "types.NetworkFilter". The patch allows to reset it by
passing empty string ('') to "network_filter".
* nxos_igmp_snooping: group-timeout fails when igmp snooping disabled
group-timeout config will be rejected by the device if `ip igmp snooping` is disabled.
* raise a failure for this condition
* reorder the command list so that group-timeout is always last
* SA fixes
* SA fixes
* only call gt_dependency if gt
* Support FOREIGN DATA WRAPPER and FOREIGN SERVER in postgresql_privs module
* Added available from note to fdw and fs object types
* Integration tests, examples in documentation
* Complete integration tests
* [docker_image] fix the changed state for tagging and pushing
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
* [docker_image] add tests for (force) tagging and force pushing
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
* [docker_image] add a news fragment for the fixed force tag/push behavior
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
* Fix for "AttributeError: 'module' object has no attribute 'cursors'" (#49191) (#1)
* Fix for "AttributeError: 'module' object has no attribute 'cursors'" (#49191)
* Adding changelog fragment for issue #49191 and the following PR.
* Update lib/ansible/module_utils/mysql.py
Co-Authored-By: timorunge <timorunge@users.noreply.github.com>
* Fixed crash with hidden files
added "-force" parameter on "Get-Item" cmdlet. this is needed to get file info if the file is "hidden"
without this option modules like win_file, win_template, win_copy crashes on hidden files. this is because with "test-path" it sees that the file exists, but "get-item" can't get the file info.
for more information on "-force option": https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-item
* Add changelog and integration tests
* fix tests for older Windows versions
* nxos_vxlan_vtep: Add dependency checks
Some of the N9k-specific attrs are failing due to hardware/feature/resources.
* `global_suppress_arp`
- dependency on TCAM resources
* `global_mcast_group_L3`
- hardware dependency on specific chassis/linecards
- feature dependency on `ngmvpn`
* `global_ingress_replication_bgp`
- hardware dependency on specific chassis/linecards
Tested on N9k with/without TCAM resources, various N9k chassis, N7k, N6k. All 100% Pass.
* pylint
* Add dnsrecord_show method for supporting base domain record
* Replace dnsrecord_show with conditional in dnsrecord_find
* Added changelog entry for MX and SRV
Signed-off-by: synical <sjohnsondot@gmail.com>
* Add support for Windows hosts in the SSH connection plugin
* fix Python 2.6 unit test and sanity issues
* fix up connection tests in CI, disable SCP for now
* ensure we don't pollute the existing environment during the test
* Add connection_windows_ssh to classifier
* use test dir for inventory file
* Required powershell as default shell and fix tests
* Remove exlicit become_methods on connection
* clarify console encoding comment
* ignore recent SCP errors in integration tests
* Add cmd shell type and added more tests
* Fix some doc issues
* revises windows faq
* add anchors for windows links
* revises windows setup page
* Update changelogs/fragments/windows-ssh.yaml
Co-Authored-By: jborean93 <jborean93@gmail.com>
* Document and validate mode choices
* Update examples
* Test cpu float values
* Test correct option
* Fix module return sample
* Add secrets and user to module return value
* Order options alphabetically
* Add changelog
* yaml indentation
* Revert "Order options alphabetically"
This reverts commit 51dabccda7.
* Be consistent with choices type
* win_domain: fix issue when running without credential delegation
* Add check for reboot is required to complete role e install
* Fix changelog sanity issue
* removed meta file accidentally committed
* initial commit
* fixed the linting and requests error
* updated test file setup
* updated code as per feedback
* updated test import
* updated test import with unittest
* updated validate certs for https
* updated after pep8 test
* removed under-construction remark
* Initial commit
* removed type for tests
* removed types and added ssl compatibility
* applied return type
* applied return type as dict instead of obj
* applied types in eact field
* tested with a playbook
* modified owner
* added unit test
* following pep8 guidelines
* added mock and unittest separately
* Sanity check using pep8
* added full path on patch
* `nxos_facts` crashes with certain nxos images; e.g. `7.0(3)I7(3)` as a result of this call:
```
data = self.run('show lldp neighbors', output='json')
```
...which returns `ERROR: No neighbour information` when the device has no neighbors.
* This response causes httpapi's `handle_reponse()` to raise a ConnectionError, which is caught by `utils/jsonrpc.py` which is expecting `code` in the exception data:
```
except ConnectionError as exc:
display.vvv(traceback.format_exc())
error = self.error(code=exc.code, message=to_text(exc))
```
* Found by: `nxos_facts/tests/common/not_hardware.yaml:7`
* ios_logging: fix the error checking the existence of "host" destinations (IOS 12)
In the "have" list, records of type "host" do not contain the key "size",
although in the list "want" it is always there. Because of this, the module
assumes that the "host" type destinations is not configured and does it again.
This does not change the configuration on the device, but is redundant and
the status of the task will always be "changed". This patch fixes it.
* ios_logging: fixes#53227
* ios_logging: minor changes in string matching
* Fix junos terminal regex for cluster srx devices
Fixes#50726
* Modify junos terminal regex to match for
string `{primary:node0}` which is also part of the
prompt.
* Modify network_cli connection plugin to ignore
multiple prompt matched lines.
* Fix review comment
* docker_swarm_service tests: use 'resolve_image: no' to avoid registry lookup if image is up-to-date.
* Improve docker_node performance: don't sleep after last try.
* Fix version checks in tests
* Set minimum version to 2.0.2
* Networks can only be updated >= docker-py 2.7
* Constraints require docker-py 2.4.0
* Healthchecks require docker-py 2.6.0
* Properly run tests different docker_py_versions
* Add changelog fragment
* Specify lowest version on placement.constraints
* Fix running new tests on older docker-py
* Handle different hosts formats returned by docker
* FIx test naming
* Quote str options
* secrets options require docker-py 2.4.0
The "readcache" and "readcachesize" options, which correspond to
the same options in the "vdo create" and "vdo modify" commands,
have been removed in VDO version 6.2.
Signed-off-by: Bryan Gurney <bgurney@redhat.com>
The docs were not clear enough about what would happen if a JSON response is read.
The actual behavior is that the `json` key is always present in such cases, regardless of this parameter, so by changing a few words, we make the docs clearer to the reader.
* Replace InventoryFileCacheModule with a better developer-interface
Use new interface for inventory plugins with backwards compatibility
Auto-update the backing cache-plugin if the cache has changed after parsing the inventory plugin
* Update CacheModules to use the config system and add a deprecation warning if they are being imported directly rather than using cache_loader
* Fix foreman inventory caching
* Add tests
* Add integration test to check that fact caching works normally with cache plugins using ansible.constants and inventory caching provides a helpful error for non-compatible cache plugins
* Add some developer documentation for inventory and cache plugins
* Add user documentation for inventory caching
* Add deprecation docs
* Apply suggestions from docs review
* Add changelog
* made adding package managers easier
added portage support
* moar pkg mgrs and moar info
- added 'pkg' pkg manager (freebsd)
- added pip
- more apt info
* updated clgo
* Updates from feedback
Co-Authored-By: bcoca <bcoca@users.noreply.github.com>
* incorporated more feedback and added docstrings
* moar from feedback
- made manager list dynamic and names based on class
- better not found msg
- made abstract metaclass again
- test is now init exception
- module to global
- better dedupe comments
* more targetted errors/warnings
* added strategy, reordered to conserve priority
* rpm > apt
* move break to top
* fix trate
* piping it
* lines and meta
* refactored common functions
- moved pip into it's own module
- cleaned up base clases
- ensure 'lower' match in package_facts
* missing license
* avoid facts
* update clog
* addressed feedback
* fix clog
* cleanup
* upd
* removed pip as that was removed
* renamed cpan
* added a single line since 2 lines are needed to be
readabnle instead of just 1 line, it is a huge problem otherwise
* fix internal ref
* not intended in this round
* updated as per fb
* make add_group return proper name
* ensure central transform/check
* added 'silent' option to avoid spamming current users
those already using the plugins were used to the transformations, so no need to alert them
* centralized valid var names
* dont display dupes
* comment on regex
* added regex tests
ini and script will now warn about deprecation
* more complete errormsg
This PR includes:
* Adding parameter types
* Fix validate-modules issue
* Improve parameter types and resulting changes
This PR needs to be verified and tested by maintainer(s).
* Do not return 'instances' when wait is false
* Added integration tests for wait: false
* Added changelog fragment
* Fix test suite to work with ec2_instance
* Additional permissions
* Enforce boto3 version
* Fix broken tests
* Improve error messages
* fix linter issues
* Move GetPsuInventory from Systems category to Chassis category
* Change get_psu_inventory to search through Chassis instead of Systems and PoweredBy for PowerSupplies
* Remove GetPsuInventory from Examples
* remove trailing whitespace
* Change boolean check from '!= None' to 'is not None'
* Don't include 'Absent' PSUs in get_psu_inventory()
* Add check to see if Power key is in Chassis before proceeding
* remove trailing whitespace
* Add continue step for when powersupply property is not found, and check if resulting entries is empty, returning message if nothing was found rather than an empty list
* adds fargate launch_type to ecs_task module
* White space changes
* fix documentation for running ecs task on fargate
* remove extraneous example from ecs_task
* White space changes
* Adds changelog fragment
* Pluralize minor_changes in changelog fragment
* Add Stop and Start task permissions
* Fix get_disk_inventory() not using Storage resource and add more properties to output
* don't include null entries
* Add the SimpleStorage resources as well
* Fix misspelling of disk_result
* New module postgresql_ping: simple module to check remote PostgreSQL server availability.
* New module postgresql_ping: simple module to check remote PostgreSQL server availability, doc fixes
* postgresql_ping: added integration tests
* New module postgresql_ping: misc changes
* New module postgresql_ping: change return suit
* New module postgresql_ping: tests reformatting, return value
* Various cosmetic/documentation fixes
* A few more fixes
* And even more cleanups
* Fix PEP8 issue
* Extend win_psmodule - rebased at 2019-01-07
* Change a way how defined parameters are added to the list
* Correct registering a repository
* Change way how tests for the check_mode: true are run
* Post-review updates
* Post-review updates -2
* Post-review updates -3
* Switch to PowerShell loop
* Minor updates
* Remove variants of an exception handling
* Change error handling
* Add a new check to ensure that module arguments are valid python identifiers
* Move the check up higher, out of the if docs block
* Skip validate-modules on py2
* Remove errant alias
- The openssh_keypair module will return a public key output on the
private key creation.
- Add integration test in order to verify the public key output.
Currently if we didn't specify the "role" in the task which is already
available for the network, the update_check will return FALSE. The
patch fixes the same and update_check will only return FALSE if there
is any additonal role specified for the network that are not currently
available for the network.
* set valid_until equal to current time + spot_wait_timeout
* Add checksum check for downloaded file.
* refactoring
* fix typo
* add fixes
* mart try,catch handling
* revert lib/ansible/modules/cloud/amazon/ec2.py from upstream
* refactoring
* remove empty lines
* add checksum verification for existing file
* fix current file check
* refactoring destination file check
* add handling exceptions
* refactoring
* Added download file hash data from url
* fix string aligning
* fix bug with uri
* Added get hash from multy-string file
* Added URI support for checksum file location
* refactoing
* Remove any non-alphanumeric characters for hash from url
* fix discussions; add support for PS3
* refactoring
* add size return value
* checkout from upstream for lib/ansible/modules/cloud/amazon/ec2.py
* add Ansible.ModuleUtils.Legacy support; refactoring
* Copyright added
* Checking files size before and after downloading added.
* remove unused code
* Corrected regexp for dotted slashed file name prefix in hash-file
* hotfix typo error; add int tests
* remove legacy module support; split checksum to checksum, checksum_algorithm, checksum_url
* changed default hash algorithm
* Fixed case for ContentLength = -1
* Old comment removed
* fix typo
* Remove file size check before downloading
* add alias to ; fix tests
* adjust tests; fix lint warnings from PSScritpAnalyzer
* workaround for bug in win_chocolatey module on win2008
* remove win_get_url.ps1 from /test/sanity/pslint/ignore.txt
* add checksum_algorithm as retuen value
* first normalise before return Result
* resolve discussions
Signed-off-by: Viktor Utkin <viktor.utkin7@yandex.ru>
* fix discussions
fix http tests as discussed
* fix last discussions
* Reduce code duplication and add idempotency check
* fix sanity issue and remove testing code
* move back to using tmp file for checksum comparison
* Rename method and make private
* Use is_iterable, combine transformations
* Remove unused return_values from network modules
* Improve docstrings in new functions
* Add new PASS_VAR
* Add unit tests for list_no_log_values
* Fix unit tests for Python 2.6
* Add restconf_config module
* Try to do the right thing when given partial paths
* Add PATCH
* Delete should not require content
* Non-JSON exceptions need raising, too
* Let ConnectionError objects pass through exec_jsonrpc
* Decreasing docker_swarm requirements.
* Fixing docker-py / docker API version requirements, and some comments.
* Add changelog.
* Only send parameters specified by user to docker daemon.
* Extend labels test: not specifying == keep labels.
* Bump minimally required docker-py version for docker_node and docker_node_facts to 2.4.0.
* Prevent crashing when publish or healthcheck is not provided.
* Similarly to docker_swarm tests, only execute docker_node tests on real VMs and restart docker daemon when tests are done.
* PR for minor update to FortiManager.py.
Now accepts entire module as input, so it can use those data points for decisions later. This update is entirely related to our debugging and should have zero impact on existing modules.
* Minor change to documentation to kick off another shippable. Suspected error on last run.
* Commented out reference to the import library for fortimanager debug (which is only used by us, internally). It needs to be moved outside of the Ansible namespace so we can call it with try/catch without any other issues. Right now /ansible/executor/module_common.py runs w/ recursive_finder, and throws errors because it can't find debug on other machines within the ansible namespace. We don't have this issue with pyFMG legacy usage.
So, we're disabling the code until we have a better way of calling this debug module. It isn't required for production usage.
This PR includes:
- Use the correct module name in the examples
- Small improvement in logic
- Fix an issue where updating an existing entry could reset to defaults
* replace uses of sort_json_policy_dict with compare_policies which is compatible with Python 3 and remove sort_json_policy_dict from the AWS guidelines since it only works on Python 2
* Sort any lists containing only strings
* Sort the original policy too
Refinements:
- return legal_inputs and update class properties
- remove redundant arguments from method and handle in caller
- add better exception types to method
* Add unit tests for handle_aliases
* Look in /lib/molly-guard for shutdown command
Signed-off-by: Sam Doran <sdoran@redhat.com>
* Add parameter for extra_search_paths
Signed-off-by: Sam Doran <sdoran@redhat.com>
* Change option to search_paths
- Update docs
- Make the parameter replace the default values
- Add some sanity checking on the data type
Signed-off-by: Sam Doran <sdoran@redhat.com>
* Correct parameter in tests, change conditional for molly-guard tasks
Signed-off-by: Sam Doran <sdoran@redhat.com>
* Address feedback
* Simplify field validation
Needed the try except in case a non-iterable type is put in the search_paths field
* uri/win_uri: Make method a free text field
Since various interfaces introduce their own HTTP method (e.g. like
PROPFIND, LIST or TRACE) it's better to leave this up to the user.
* Fix HTTP method check in module_utils urls
* Add integration test for method UNKNOWN
* Clarify the change as requested during review
* Fix TagName and TagValue in aws_kms
Fixes#53061
* Improve test suite to check for tags
Also fixed some obvious failures, need to run the test suite from time
to time!
* adding quiet option to assert (ansible#27124)
* adding doc for quiet to assert.py
* fixing PEP8 failure
* improving example
* improving docs
* adding changelog fragment
* adding . at end of descriptions
* removing trailing blank line
* adding integration test for assert
* fixing CI complaints
* disabling gather_facts in quiet.yml test
* rerunning to capture skip
* cleaning up python 2 vs 3
* following rebase
* fixing CI complaints
* fixing CI complaints
* fixing CI complaints
* fixing CI complaints
* fixing CI complaints
* Change the retry_files_enabled to False and modify the comments to reflect that
this has been disabled.
* Change the default action of retry_files_enabled to False
* Update porting guide to reflect change in default state of retry_files_enabled variable
* Change log documenting a change in default behaviour of retry_files_enabled
* Revert config change to comment out the retry_files_enabled line to let the user decided what is best.
Comment above still states how to change.
* postgresql_privs change fail to warn if role does not exists
* postgresql_privs change fail to warn if role does not exists: fix sanity
* postgresql_privs change fail to warn if role does not exists: add changelog fragment
* postgresql_privs change fail to warn if role does not exists: fixes
* postgresql_privs change fail to warn if role does not exists: added fail_on_role param
* Revert "use list instead of tuple and remove md5 on ValueError (#51357)" c459f040da.
* Modify the correct variable when determining available hashing algorithms
* Python interpreter discovery
* No longer blindly default to only `/usr/bin/python`
* `ansible_python_interpreter` defaults to `auto_legacy`, which will discover the platform Python interpreter on some platforms (but still favor `/usr/bin/python` if present for backward compatibility). Use `auto` to always use the discovered interpreter, append `_silent` to either value to suppress warnings.
* includes new doc utility method `get_versioned_doclink` to generate a major.minor versioned doclink against docs.ansible.com (or some other config-overridden URL)
* docs revisions for python interpreter discovery
(cherry picked from commit 5b53c0012ab7212304c28fdd24cb33fd8ff755c2)
* verify output on some distros, cleanup