* Fixed issue 64479 with lambda_info module
* Added integration tests for lambda_info module
* Moved lambda_info tests into already existing aws_lamda testsuite for easier test setup.
Co-authored-by: Jill R <4121322+jillr@users.noreply.github.com>
Check that all yaml we ship is parsable by the pyyaml c backend. Since
Ansible uses Pyyaml for docs and playbooks, if the yaml files aren't
parsable, they will error out if they were used.
Warn and skip yamllint if libyaml backend is not present
Ignore new errors in examples until someone can fix them
* Move ec2_vpc_net tests to group1, group2 is running much longer
* Allow for VPC CIDRs to be "associat*ing*", things in AWS are "eventually consistent" and occasionally take longer than we would like
elb_network_lb.py: allow UDP and TCP_UDP protocols
- Fixing documentation
- Add support to UDP and TCP_UDP as described on AWS SDK
elb_target_group.py: allow UDP, TLS, TCP_UDP proto
- Fixing documentation
- Making health checks with response codes and paths only in HTTP/HTTPS
- Allow UDP, TLS, TCP_UDP protocols as described on AWS SDK.
others:
- Added changelog fragments
- Integration test
Fixes: #65265
Signed-off-by: Alexandre Mulatinho <alex@mulatinho.net>
* free strategy - include failed hosts that were notified so --force-handlers is used
* trim line length a bit
* Loop over the force handler tests with the strategies linear and free
* rename changelog
* Use the play iterator instead of TQM for accurate failure representation in blocks
* Remove hack in a backwards compatible way for 3rd party plugins
Some teardown tasks are now enabled only if we have ESXi in the configuration
file. On my system and in a vcenter only scenario, `vcenter_folder` goes from
42.7 to 31.2s.
* Fix copy/pasta for ecs_ecr test names
* Add support for lifecycle policies to ecs_ecr
New feature for ecs_ecr to support [ECR Lifecycle Policies][].
Fixes#32003
[ECR Lifecycle Policies]: https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html
* Improve error message for ecs_ecr parsing errors
Replaces the exception and stack trace with a description of what's
actually going wrong from a user perspective.
* Rename delete policy to purge policy
Marks the `delete_policy` parameter as deprecated, to be removed in
Ansible 2.6.
* Add version_added to purge_policy
* Remove changing results based on verbosity
What I really want is --diff support, and changing results based on
verbosity is abnormal.
* Ensure repository name is lowercase
* Fix deprecation cycle to 4 releases
* Use a YAML anchor for credentials
* Remove filters from assertions
* Add minimal permissions needed
* Updating version_added and deprecation cycle
The original PR sat while a few releases happened.
* Bumping version added and deprecation version
We missed the 2.8 release.
* Removing bare except:
This is not allowed and is generally bad practice.
* Fix lint errors
* update ansible release metadata
* Use the new alias deprecation scheme
This was added in the time the PR has been in development, so rework
things to use it.
* Add test coverage
This makes sure that lifecycle_policy is produced when passed in.
*Also a minor suggestion for simplification from PR.
* Restore changes from 62871 lost in rebase
* Add changelog
* Remove version_added for new purge_policy option
Per sanity test fail.
* set supports_check_mode=True
I don't see any reason why this module cannot run in check mode. The following API calls are made, none of which modify configurations
All using boto3.client('cloudformation')
describe_change_set
describe_stacks
describe_stack_events
get_paginator
get_stack_policy
get_template
list_change_sets
list_stack_resources
* duplicate cloudformation_info tasks with checkmode
Duplicated all existing cloudformation_info tests and added check_mode: yes to them
* delete duplicate empty line
* Move new Ansible cli options '--ask-vault-password' and '--vault-pass-file' to the existing calls to add_argument
* Add changelog fragement
* Change order of ansible cli arguments to use --ask-vault-password and --vault-password-file by default
* Update runme.sh in vault integration tests to test new options --ask-vault-password and --vault-pass-file
Rather than silently processing extra_vars filename without @ sign,
CLI now fails with appropriate warning about requirement.
Fixes: #51857
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* Run ec2_instance tests in parallel
* Make sure we spin up the iam_instance_role instances in the dedicated VPC
* Rework a little to only build one VPC while still running in parallel
* Start running the tests within shippable
* We only use setup_remote_tmp_dir for the version_fail tests, so only set it up once
* Make sure we clean up if we fail during Environment Setup
* Add a warning about running in parallel
* Minor review tweaks
* Remove unused file
* cloudformation_info updates
Add ability to retrieve stack change sets
Update module to use AnsibleAWSModule
Update backoff to use new decorator style
Updated exceptions to use fail_json_aws
Converted outputs to snake_case where appropriate, for cloudformation_info only to preserve cloudformation_facts functionality.
Unconverted keys are stack_outputs, stack_parameters, stack_policy,
stack_resources, stack_tags and stack_template
* cloudformation_info updates
Add ability to retrieve stack change sets
Update module to use AnsibleAWSModule
Update backoff to use new decorator style
Updated exceptions to use fail_json_aws
Converted outputs to snake_case where appropriate, for cloudformation_info only to preserve cloudformation_facts functionality.
Unconverted keys are stack_outputs, stack_parameters, stack_policy,
stack_resources, stack_tags and stack_template
* Adding integration tests
* Remove unneeded debug statement
* Add myself to Authors
* rename stack-name to match iam policy limits
aws-terminator permission for cloudformation have the following resource
Resource: arn:aws:cloudformation:us-east-1:{{ aws_account_id }}:stack/ansible-test*
updating test stack name to match
* removing .orig file from rebase
* fix stack name, underscore not allowed
* rename integration testsuite to cloudformation
rename per request
* add resource_prefix to resource names
* prefix stack name with ansible-test
IAM policy in aws-terminator requires the stack name to begin with ansible-test
* add single quotes around variable in test
* fix test for display name
mistakenly updated when changing topic_name to use resource_prefix. The test is to check the display name, which is what the stack update changes
* fix value to display name test
* rename main.yaml to main.yml before rebase
* Merge tests with #65643
remove uneeded files
using tests from #65643 with added check to validate changeset is present in info when requested
* fix assert on chageset check
* remove trailing blank line
This allows to group tests by connections, which allow us to disable
local connection testing in collections for the moment.
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
* Support username command to config users and edit capabilities
* Add disconnected param to disconnect all session for such user
* Edit yaml examples, add types to docs and edit the version
* Add fullname attribute
* Add no_log to password field and mutually_execlusive relations
* Fix pep8 issue
* remove debug line
* support syslog remote module
* change enabled implementation and edit the tests, also support disable override class
* fix the level order and delete types from choices
* support syslog files
* nested doc fix
* required togother
* fix docs type dict
* add file-debug feature same as files logging
* remove duplicated validation and change dict key access method
* add format of upload url and change the way of getting data from dict
* win_cert_stat initial commit with tests
* documentation fix.
first attempt windows server 2008 compatibility
* add formatted dates
removed debug tests
* make choices generic list
* return a list of certificates
use .net x509 store instead of PS cert provider
* fixed tests file
* fix timestamps returning null
* rename to win_certificate_info
* rename tests win_certificate_info
* return certificates as a sorted array
open the store with readonly privileges
* extensions always returned as an array
* Simply sorting of Windows files below other plugin types
Using the sort method with a custom key function uses less memory than creating multiple lists then joining them.
This seemed to be an acceptable use of a lamdba, even though I geneally try to avoid them.
* Fix sorting of plugins inside of collections
Explicitly sort Windows files below others, mimicking what we do in plugin/loader.py
* Add documentation about ansible.builtin and ansible.legacy
Also document to the two different methods used for searching based on the candidate type.
* Add changelog
* Add integration test
* Update comment with expected sort order
* Fix network action plugin load in collection
Fixes https://github.com/ansible/ansible/issues/65071
* Load network action plugin that matches the module
prefix name from list of collections.
* Update changelog
* Fix unit test
* adding the modules to /nxos/storage/ folder
* fix pep8 stuff
* fixed provider specific information from doc
* Fix integration tests
* Added tested against note
* Review comments
* added assertions for the commands sent in the integration tests
interface.port should be a string to be able to use macros in that
value.
This fixes the case when interface.port is a macro (eg.: "{$MACRO}" and
force=false.
Because, until now, setting the interface.port to an integer was the correct way to work with force=false, a type validation has been added
to that parameter.
Previously, if a string was used for interface.port, it was converted
to an integer, the comparison didn't work (if interface not in interfaces)
and the module tried to register the same interface twice, returning an
error.
Zabbix API manual specifies that only 'main, 'type', 'useip' and 'bulk'
are integers.
https://www.zabbix.com/documentation/current/manual/api/reference/hostinterface/object
Tests are changed to use always str in the interface.port.
Two new tests are added.
The first one is to show that now registering a host with force=false and
a macro in interface.port works.
The other one tests that interfaces defined using string for port are
compared correctly when force=false is used. Previously it was
a comparison between int and str, interfaces were seen as different
and an error was thrown because we were trying to create twice a main
interface.
* Try to kindly convert interface port to the string
As suggested, the previous behaviour could break current configurations. This solution accepts integers and strings.
Co-Authored-By: Dusan Matejka <D3DeFi@users.noreply.github.com>
* adding prefix-list to ios_bgp
* adding prefix-list to ios_bgp
* Fix copy-paste bug in test
* Adding neigbor 10.10.20.20 to global neighbor pool
* Added prefix_list_in and _out to documentation
* Rewrite bgp prefix_list test
* Bugfix in yaml data
* More test, assert neighbor 10.10.20.20
* Fix nxos_file_copy option value path validation
* Modify `local_file`, `local_file_directory` and
`remote_file` option type from `str` to `path`
so that the option value is validated in Ansible
for a legitimate path value
* Fix review comments
* Add tags to ecs_task
remove older reference to credentials
* uncomment shell commands to enable/disable account settings
* Fix documentation and pep8 issues
* fix review items for ecs_task tags
use missing_required_lib for tags
change fail_json message to suggested message
switch from task_tags to tags for consisitency
* Add import for missing_required_lib function
* Tidy put-account-setting tasks and add permission
Using `environment` and `command` rather than `shell` avoids the
need for `no_log` and means that people can fix the problem
* update version added for ecs_task tags
* fix tests after removal of ansible_facts from ecs_service_info, add delay when service is still draining
* Add documentation for sanity tests
* nxos_interfaces: RMB state fixes
* shippable fixes
* Add add'l comments per review
* fix long line
* Fix mode/enabled system defaults handling
* fix N3L test skips
* lint
* test updates for titanium images
* doc fix
* Converted ec2_metric_alarm to boto3. Added treat_missing_data option.
* Handle potentially non-existent alarm keys in ec2_metric_alarm module
* Add treat missing data to ec2_metric_alarms wth some tests
Continues the work of #23407
* Clean up ec2_metric_alarm main test playbook
* fix test suite and sanity checks
* more fixes for sanity tests
* fixes to ec2_metric_alarms requested in code review
* import ClientError from botocore, catch generic ClientError
* more fixes from review
drops extra dict in argument spec and set_facts for aws access
* Fix pep8 blank line issue
* switch to fail_json_aws, add idempotency test
* fix under indented continuation
* remove unsupported alias
* Add group to ec2_metric_alarm aliases
* Put alarm prefix before resource prefix to match aws-terminator pr 63
* Add type for treat_missing_data
User can specify associable object types while creating the categories.
VMware API does not allow to modify associable object types after creation of
category.
Fixes: #61220
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
This should cut down about 1hour worth of test time, due to not looping
over the set_fact functions more then 60 times.
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
* add module aws_step_functions_state_machine_execution
* AWS step functions tests - Use module defaults
* Return all attributes from aws api calls as ansible task output
* aws_sfn - make start and stop execution idempotent and fix check mode
* aws sfn - use build_full_result method of the paginator
* aws sfn - remove changes made to help with local debugging
There is no longer the need to warn on password, it is not supported any
more.
Update nxos_user tests not to purge current SSH user for nxos, otherwise
we loose access for testing.
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
Fedora 31 tests are failing due to a missing packages error. I am unable to duplicate this issue when running locally, so it is possibly an issue with a mirror that is being used when run from Shippable
Previously you'd get one of the following behaviours:
- A boto3 error
- Nothing would change
- An error that you're not allowed to change the strategy
So of the bahaviour would depend on the random order that AWS returns the list of all Placement Groups
* Use correct var, move cleanup for async
* Add changelog and tests. Fixes#65393. Fixes#65277.
* Kill off all long running async tasks from listen_ports_facts
* Update task to work with older jinja2
Depends-On: ansible/ansible-zuul-jobs#253
We cannot run the following tests without any ESXi host:
- vmware_drs_rule_info
- vmware_drs_rule_facts
- vmware_host_acceptance
- vmware_host_active_directory
- vmware_host_powerstate
* Don't return module error when mysql_connect fails (#64560)
mysql_user expects an Exception when using check_implicit_admin.
* Adds integration tests for mysql_user check_implicit_admin (#64560)
* win_find - refactor to make more performance and use newer style
* win_find - refactor for performance improvements and alignment to find
* More path alignment to find
* Fix yamllint error
* Add test for print() call in module_utils and modules.
* Add changelog fragment.
* Add ignore.txt entries.
* Use blacklist plugin instead of adding a new.
* Update ignore.txt
* win_auto_logon - check, diff and store pass in LSA
* Ensure baseline keys are set for test
* Skip remove item prop on check mode due to win bug
* Start at a cleared baseline to ensure old LSA secrets are cleared
* add new modul
* correct password var
* fix for linting issues
* add return values documentation
* linting fixes
* Get tests working and simplify a bit
Add the `vmware/scenario/vcenter_only` alias to be able to identify the
vmware test roles that can be tested with just on vcenter instance.
Also, add a check to be sure we don't try to attach ESXi hosts if none
has been defined.
* win_description Module
Module to change Windows description and Windows license owner information.
* LiteralPath updated
changed -path to -LiteralPath in the script
* Version and metadata_version
version_added updated to 2.10
Metadata_version set to 1.1
* version updated
version_added changed to '2.10'
* Changes based on feedback
* removed some redundant checks
* Rename win_description.ps1 to win_computer_description.ps1
* Rename win_description.py to win_computer_description.py
* Module name change
* Integration tests added
* added aliases file
* Change compatibility from 2008 to 2008R2
* Update aliases
* win_data_deduplication initial commit
* Ansible version added bump
* integration tests
* missing aliases
* Fixing documentation
* license and metadata
* documentation formating
* removing win_format ref
* documentation fixes
* trailing whitespace
* Fixing more documentation :(
* missing return
* documentation cleanup
* align copyright with doc
* indentation fixes...
* updated examples
* ignore meta and future for python doc
* removing when
* use Get-PSVolume
* Get-Volume not PSVolume
* missing updated var
* updated old drive refs
* make sure that the T drive is formated as NTFS
* path and drive_letter are exclusive
* idempotence test fix
* changing task order + reboot timeout
* implementing the requested changes to the code
* updating documentation to reflect code changes
* simplifying tests
* missing feature install before running the tasks
* pslint trailing whitespace
* putting old tests back
* missing win_format
* skip windows 2012
* Fixing message for OS check
* pass settings and dedup_job variables
* Removing unnecessary module
* logic issue
* replacing tabs with double space
* documentation fix + removing tabs
* Update documentation with recent changes
* Apply changes requested
* switch feature install with partition format
* replace tabs with spaces
* trailing whitespace
* we don't need those ignores anymore
* minor fixes
* updated test to match latest code changes
* removing dedup job task
* adding check mode yes test
* fixes for check_mode support
* updating examples in documentation
* wrong indentation for check_mode in tests
* convert indentation to spaces
* -not $check_mode
* removing unneeded spec in documentation
* Switch to Ansible.Basic
* 2.9 is already gone, so let's add this module to 2.10...
* removing useless else condition
* updated documentation
* fixing specs and removing useless try/catch + fix exit/fail
* spaces indentation
* $null check is actually needed if volume never had dedup
* Missing check_mode update
* removing required for default state in documentation
* converted tabs to spaces
* win_share - Implement append paramtere for access rules
* changed fragment
* add test
* missing bracket
* removed whitespace
* Wrong number of lines
* Forgot the actual new parameter in the test
* community review
* Change option names
* version update
* Update tests.yml
* Add idempotence to rule_action: add
* add win_initialize_disk module
* Add ability to specify disk by path or uniqueid
* Fix documentation
* fix shippable failures
* Update anisble version
* Slight tweaks to the documentation
* Small documentation fixes
* Ensure `allow_duplicates: true` enables to run single role multiple times(#64902)
* Changed return value in `_load_roles` . Fixes#64902
* Add changelog fragment
* Add an integration test for the issue
* Fix changelog generation error and integration test.
* Fix yaml syntax error in changelog fragment
* lightsail - Use AnsibleAWSModule
- Use AnsibleAWSModule
- Refactor the logic for wait into a separate function (Fixes#63869)
- Handle exceptions in find_instance_info and add a fail_if_not_found parameter
- Add a new state `rebooted` as an alias for `restarted`. AWS calls the action Reboot.
- Add required_if clause for when state is present
* lightsail - Use the default keypair if one is not provided
* lightsail - add a required_if for when state=present
* Update short description for lightsail module
* The ssh key may be created manually prior the task execution with a
passphrase. And the task will be executed on the same key.
* The ssh key may be broken and not usable.
The module will check the private key and if the key is password
protected or broken, it will be overridden.
The check of the ssh key performed by retrieve the public key from the
private key.
Set the "self.force" check before the "isPrivateKeyValid" check.
In case of any issue with the "isPrivateKeyValid" function, the user
will be able to force the regeneration of the key with the "force: yes"
argument.
* ufw: escalate privileges in integration tests
A few of the integration tests for the UFW module forgot to `become`.
This is problematic if the test suite is executed as a non-privileged
user. This commit amends that by adding `become` when appropriate.
* ufw: add unit tests for direction and interface
Extend the unit tests for the UFW module to test the `direction` and
`interface` parameters. This will help in the implementation of a fix
for issue #63903.
* ufw: add support for interface_in and interface_out
The UFW module has support for specifying `direction` and `interface`
for UFW rules. Rules with these parameters are built such that
per-interface filtering only apply to a single direction based on the
value of `direction`.
Not being able to specify multiple interfaces complicates things for
`routed` rules where one might want to apply filtering only for a
specific combination of `in` and `out` interfaces.
This commit introduces two new parameters to the UFW module:
`interface_in` and `interface_out`. These rules are mutually exclusive
with the old `direction` and `interface` parameter because of the
ambiguity of having e.g.:
direction: XXX
interface: foo
interface_XXX: bar
Fixes#63903
* Elevate privileges for luks_device integration tests
Several tests in `key-management.yml` don't `become` before executing,
despite needing elevated privileges. This commit fixes that.
* Add passphrase support for luks_device
Previously, the luks_device module only worked with keyfiles. The
implication was that the key had to be written to disk before the module
could be used.
This commit implements support for opening, adding and removing
passphrases supplied as strings to the module.
Closes#52408
* adding encoding dump/import support for the mysql_db module, with updated documentation, and full test suite
* fixing lint issue test #3
* fixing lint issue test #1
* fixing lint issue test #1 second time
* Improving Test to be re-entrant
* improving test to not fail on centos/6
* Update test/integration/targets/mysql_db/tasks/encoding_dump_import.yml
Comminting suggestion
Co-Authored-By: Benjamin MALYNOVYTCH <bmalynovytch@users.noreply.github.com>
* Update test/integration/targets/mysql_db/tasks/encoding_dump_import.yml
comminting suggestion
Co-Authored-By: Benjamin MALYNOVYTCH <bmalynovytch@users.noreply.github.com>
* adding comment
Adding comment to explain test strategy
* Update test/integration/targets/mysql_db/tasks/encoding_dump_import.yml
Co-Authored-By: Benjamin MALYNOVYTCH <bmalynovytch@users.noreply.github.com>
* Update test/integration/targets/mysql_db/tasks/encoding_dump_import.yml
Co-Authored-By: Benjamin MALYNOVYTCH <bmalynovytch@users.noreply.github.com>
* Update test/integration/targets/mysql_db/tasks/encoding_dump_import.yml
accepted
Co-Authored-By: Andrey Klychkov <aaklychkov@mail.ru>
* Update test/integration/targets/mysql_db/tasks/encoding_dump_import.yml
Co-Authored-By: Andrey Klychkov <aaklychkov@mail.ru>
* Update encoding_dump_import.yml
* Fixing typoo
Lookup 'first_found' returns empty list which results in
raw_params checking. Check NoneType for 'raw_params' before
proceeding.
Fixes: #64939
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
* Allow updating of ec2_group rules with EC2 classic ELB targets
Fix regression introduced in #45296 with EC2 Classic SGs
Fixes: #57247
Also add (unsupported) ec2 classic test suite with test case for this scenario
* move ec2 classic tests to conditional within ec2_group target
* clean up ec2_classic tests
* ec2_classic account can't run most ec2_group tests
* Fix cli context check for network_cli connection
Fixes#64575
* Check cli context for network_cli connection
at the start of new task run only.
* Pass task_uuid around to identify start of new task run
* Handle for local connection
* add win_compact module
* fixed line endings
* fix documentation
* Use cim method instead of wmi method
* renamed to win_file_compression
added single file support
added force option to avoid traversing large directory structures
* fixed end of file
* fixed renaming.
bench test still had win_compact as a module
* Removed more NTFS references and slight test tweaks
* Inventory CLI - Ignore settings for when vars plugins should run and just always run them
* Add note to porting guide
* Fix loading vars plugins
* changelog
* Remove a staging test for ansible-inventory since it ignores that setting