summaryrefslogtreecommitdiff
path: root/hacking
Commit message (Collapse)AuthorAgeFilesLines
* Due to the takeover of freenode we're moving to a different irc network. ↵Andrew Klychkov2021-06-232-2/+2
| | | | | | | | | | | | | | | | | | (#74775) (#75007) * Update channel references to point at the same channel name on libera.chat * Update generic links to https://libera.chat * In general, use irc.libera.net for link names/text and https://libera.chat for link targets. The irc service is hosted on irc.libera.chat but the project web server is hosted on libera.chat. * Removed http://irc.freenode.net from the linkcheck exceptions. * Add a link to where contributors should get support for developing groups of modules to docs/docsite/rst/dev_guide/developing_modules_in_groups.rst Co-authored-by: John R Barker <john@johnrbarker.com> Co-authored-by: Felix Fontein <felix@fontein.de> (cherry picked from commit 80e7e1a17cb6aaf10e289e671fc382a614018e6e) Co-authored-by: Toshio Kuratomi <a.badger@gmail.com>
* Workaround bug in jinja2-3.0.0 and 3.0.1 (#74795)Toshio Kuratomi2021-06-031-0/+13
| | | | | | | | | | | | | | Jinja2-3.0.0 and 3.0.1 has a bug where undefined values cannot be checked to see if they contain a value: https://github.com/pallets/jinja/issues/1448#issuecomment-846029509 We workaround this in two ways, either of which would be sufficient: * Normalize the data so that choices is an empty iterable when it isn't specified in the documentation. This is what antsibull-docs (and thus documentation builds on 2.10+) do. * Change the logic in the template to check whether choices exists before checking containment. This better expresses the logic at that point in the template (if there is a default value but there is not a list of choices, then display the default in its own string) so it's a good change to make as well.
* Add ansible-releases@redhat.com to announce template (#70814)Rick Elrod2020-08-061-1/+1
| | | Signed-off-by: Rick Elrod <rick@elrod.me>
* [2.9] plugin_formatter: sys.exit does not take a file argumentEvgeni Golov2020-05-051-2/+2
| | | | | | | | Cleanup of leftover from bcdfdc0cc33155598edfd4752db85c6358b17864. sys.exit does not take any named argument. (cherry picked from commit cdad594b1690a8354a7ee6dee75a6123fb13203b)
* Add anchor to each parameter row (#66895) (#67057)Felix Fontein2020-02-051-3/+29
| | | | | | | | | | | | * Add anchor to each paramater row * Update docs/templates/plugin.rst.j2 * Insert full keys into plugin docs. * Added visible links. Co-authored-by: Felix Fontein <felix@fontein.de> (cherry picked from commit 5b93a14a0f2474bbab86a41f3f0841a02158eaf5) Co-authored-by: Dick Visser <dick.visser@geant.org>
* Backport/2.9/docs release (#64173)Alicia Cozine2019-11-011-1/+1
| | | | | | | | | | | | | | | | | | | * docs: update to latest 3 versions (#64109) (cherry picked from commit 409545825f33406d2475864dc23d719b095da683) * update too old version to 2.4 (#64167) (cherry picked from commit c63ef6d911adc4df7b99d041aafaf627336e17cd) * update backport instructions to use stable-2.9 (#64168) (cherry picked from commit f264e9cfca533af97bcc747c4a67da79ed43f0a7) * [Doc-Release-2.9] update release and maintenance page for 2.9 (#64166) * only 2.4 and earlier used the old changelog system (cherry picked from commit 3f808d9ed621d226289dcd4ce858b0de6d04f1dd)
* Docs formatting: recursively preprocess suboptions (#61900)Felix Fontein2019-09-171-32/+42
| | | | | | | * Simplify code, move option massaging code into own function. * Process suboptions recursively. (cherry picked from commit 4393940a412d9a113ad58f5d1c9b88dba08bd094)
* Support relative imports in AnsiballZ. (#61196)Matt Clay2019-08-271-1/+13
|
* ec2_asg: fix the integration tests (#61212)Mark Chappell2019-08-231-5/+3
|
* aws_kms: Update policy on existing keys (when passed) (#60059)Mark Chappell2019-08-231-0/+1
| | | | | | | | | | | | * aws_kms: (integration tests) Use module_defaults to reduce the copy and paste * aws_kms: (integration tests) make sure policy option functions. * aws_kms: (integration tests) Move iam_role creation to start of playbook. iam_roles aren't fully created when iam_role completes, there's a delay on the Amazon side before they're fully recognised. * aws_kms: Update policy on existing keys (when passed)
* Fix iam_password_policy integration tests (#60930)Mark Chappell2019-08-221-0/+10
| | | | | | | | | | | | | | | | * iam_password_policy: (integration tests) Use module defaults for AWS connection details * iam_password_policy: (integration tests) Ensure the policy is removed when tests fail * iam_password_policy: (integration tests) Add regression test for #59102 * iam_password_policy: Only return changed when the policy changes. * iam_password_policy: PasswordReusePrevention must be omitted to remove/set to 0 * #60930 add changelog * Update hacking AWS security policy to allow testing of Password Policy Management
* Galaxy meta docs table (#60171)Toshio Kuratomi2019-08-133-8/+31
| | | | | | | | | | * Use an rst table instead of a raw html table * Rst is easier to read so we want to use it wherever possible * Fix the jinja2 filters which create links so that they do not include extraneous whitespace in the URL * Normalize description data before sending them to the templates
* Relocate ansible-test code. (#60147)Matt Clay2019-08-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Initial move of `test/runner/` content. `test/runner/lib/` -> `test/lib/ansible_test/_internal/` `test/runner/` -> `test/lib/ansible_test/_internal/data/` * Initial move of `test/sanity/` content. `test/sanity/` -> `test/lib/ansible_test/_internal/data/sanity/` (except `test/sanity/ignore.txt`) * Initial move of `test/units/pytest/` content. `test/units/pytest/` -> `test/lib/ansible_test/_internal/data/pytest/` * Follow-up move of `test/runner/unit/` content. `test/lib/ansible_test/_internal/data/unit/` -> `test/lib/ansible_test/tests/unit/` * Initial move of `ansible.cfg` content. `test/units/ansible.cfg` -> `test/lib/ansible_test/_internal/data/units/ansible.cfg` `test/env/ansible.cfg` -> `test/lib/ansible_test/_internal/data/env/ansible.cfg` * Follow-up move of `data` directory. `test/lib/ansible_test/_internal/data/` -> `test/lib/ansible_test/_data/` * Update import statements. * Add missing __init__.py for unit tests. * Fix path references and miscellaneous issues.
* Add logic to handle multiple actions in an ALB listener rule, Fixes #41861 ↵Jesse Evers2019-08-022-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#41975) * added logic to handle multiple actions in an ALB listener rule (#41861) * fix linting and pep8 issues * added test for multiple actions using OIDC authentication * added error messages related to old versions of botocore and multiple actions * fix action validation error checks (need to check the exception string) * added logic to make oidc configs idempotent (remove clientsecret for check) * modified TargetGroupName to TargetGroupArn substitution to account for multiple rule actions * refactored tests so that it can be run against different versions of botocore * fix runme.sh to refelct changes to cloud testsuite * add UseExistingClientSecret to oidc config (AWS api change) * remove tests for OIDC auth action; add tests for redirect and fixed-response * add in fixes from markuman and mjmayer * remove documentation for cognito integration (not sure how to test); added example config for fixed-response and redirect actions * renamed oidc/multiple action tests; leaving commented due to some AWS API changes * pep8 fix * more pep8 fixes * Restructure elb_application_lb test suite Move from runme.sh to virtualenv based roles Update policies to fix tests Don't log temp dir deletion, so many files in the diff!
* Fix build-ansible.py release-announcementToshio Kuratomi2019-07-261-0/+244
| | | | | | | | * When the release scripts were changed, this file to implement release announcements was left out * Add announce.py to the compile skip lists as only the release engineers run this during package build.
* rds_instance: add point-in-time instance restore test (#59411)Will Thames2019-07-251-0/+1
|
* Generate galaxy.yml based on single source of truth (#59170)Jordan Borean2019-07-234-79/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | * Generate galaxy.yml based on single source of truth * Fix up tests and align file names * Minor Makefile tweak * Remove link in galaxy.yml file and make it a template file * Moved collections docs to dev_guide * change Makefile clean path * Added readme to example meta file * review fixes * Use newer style for doc generation script * Fix mistake in dev_guide index * removed uneeded file, fixed links and added preview banner * Moved banner for sanity test
* Add lambda_bucket_event module (#58059)Aljaž Košir2019-07-181-1/+3
|
* Docs scripts cleanup (#59169)Toshio Kuratomi2019-07-172-15/+7
| | | | | | | | | * Fix dump_keywords to require attribute docs * Change the documentation commands to make definition files positional Since the definition files are mandatory, make them positional parameters instead of options.
* Move common build code from _build_helpers (#55986)Toshio Kuratomi2019-07-169-253/+1416
| | | | | | | | | | | | | | | | | | | | | | | | We have some common code used by several docs scripts. Migrate that into the build-only shared code repository. * Move lib/ansible/utils/_build_helpers.py to the directory for common build code * Migrate docs/bin/dump_config.py to a build-ansible subcommand * Migrate dump_keywords to the build-ansible framework * Make the script more maintainable by using functions and good variable names * Port to Python3 idioms * Fix bug so that private attributes will be undocumented * Move generate_man to a build-ansible subcommand * Port plugin_formatter to a build-ansible subcommand * Rework command_plugins so that docs scripts can target Python-3.4+ and releng-only subcommands can use more recent versions of Python. The architecture is now that command_plugins/* need to be importable on Python-3.4. The init_parsers() method needs to run on Python-3.4. But the main() method can utilize features of more recent Python as long as it fits within those parameters. * Update docs build requirements Port the plugin_formatter to build-ansible framework
* Rename python files in hacking/ directory to have .py suffixToshio Kuratomi2019-07-107-283/+287
| | | | | | | | | | | | | ansible-test only passes files which have the .py suffix for sanity tests on python files. This change will allow sanity tests to run on the Python files in hacking/ * Rename test-module to test-module.py * Symlink test-module for backwards compat since end users may be using test-module * Fix test-module sanity errors that are now triggered * Rename ansible_profile to ansible-profile.py * Rename build-ansible
* Fix EC2 test suite to work with testing policies (#44387)Will Thames2019-07-048-89/+51
| | | | | | | | | | * Update testing policies to ensure all required permissions are present * Tidy up security policies to reduce duplicate permissions * Make roles static so that they can be present before CI is run, meaning that role creation permission is not required by the CI itself, only by someone setting up the roles prior to testing * Move contents to cloudfront policy to network policy to ensure policy count (maximum of 10) stays low * Maintain compute policy below 6144 bytes
* Ensure block device instance creation outputs instancesWill Thames2019-07-021-1/+2
| | | | | | | | | | | | | | | Not waiting outputs results in a format that will never be matched by the tests Ensure instances get tidied up Allow ec2:ReportInstanceStatus ec2_instance: Improve test cleanup on failing tests Improve describe/modify attribute error handling Address feedback on PR
* Get minor version number for CentOS and Debian (#57814)Sam Doran2019-06-281-1/+10
| | | | | | | | | | | | * Get the most detailed version number from distro.version() for CentOS and Debian * Update tests and fixtures * Update fixture generation script to gather distro info and work with Python 3 * Update LinuxMint fixtures * Cleanup fixture formatting * Improvements based on feedback from abadger: - use unicode since that is what distro returns - use frozenset with a tuple - include link Debian to bug
* Fix "no matches for wildcard" error in env-setup.fish script. (#58345)Elijah Lynn2019-06-271-3/+4
| | | | See https://github.com/ansible/ansible/pull/58345#discussion_r297288979
* Add rds_snapshot module (#39994)Will Thames2019-06-261-1/+1
| | | | | | * new module uses modern ansible AWS standards * adds additional tests for snapshots * Update return_skeleton_generator for python3 - should set type to `str`, not `string`.
* Fix RDS test suite and minor bugs revealed (#57940)Will Thames2019-06-251-23/+31
| | | | | | | | * Update testing policy to be correct for RDS test suite * Create read replica in same region to avoid more permissions being required * Ensure modifying DB doesn't try to downgrade engine version * Add tags to main test suite to limit number of tests run for problem solving
* Support the new TLS termination on NLBs (#51327) (#58031)Kohei Asano2019-06-201-0/+17
|
* ecs_cluster test suite refactor (#57716)Will Thames2019-06-178-136/+82
| | | | | | | | | | | | | | | | | | | * Combine testing policies Because of the maximum of 10 policies per group, need to consolidate testing policies as best we can. * 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 * refactor ecs_cluster test suite move from runme.sh technique to virtualenv use ec2_instance rather than ec2 module to avoid need for boto
* New module for AWS CodeBuild (#47187)Stefan Horning2019-06-121-0/+1
| | | | | | * New AWS module for the CodeBuild service, called aws_codebuild * Integration test for new aws_codebuild module
* Update setup-iam playbook to use aws_caller_info rather than deprecated (#57675)Ed Costello2019-06-111-3/+3
| | | aws_caller_facts
* s3_bucket: add encryption capabilities to the module (#55985)Stefan Horning2019-06-031-0/+3
| | | * s3_bucket: add encryption capabilities to the module
* Aws waf region (#48953)mjmayer2019-05-171-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add waiter for AWSRegional * Add support for WAF Regional * Add support for regional waf web acl * Remove set_trace, pep formatting * Add paginator for regional_waf * Change name of param for waf_regional This is more in line with how AWS refers to the service. Additional changes made to how client is called. Used ternary to reduce if statements * Change parameter name to waf_regional * Add support for removal waf regional condition * Change parameter from cloudfront to waf_regional * Added state: absent waf rule * Remove set_trace * Add integration tests for waf regional * WIP: adding region parameter to tests * Add support for waf facts module * Add region to waf regional integration tests * Update security policy for waf regional testing * Add type to documentation for waf_regional param
* Implement a framework for having common code for release scripts (#55893)Toshio Kuratomi2019-05-016-45/+175
| | | | | | | | | | | | | | | | | | * Implement a framework for having common code for release scripts * Release scripts will go through hacking/build-ansible. build-ansible is a pluggable script which will set a directory that has common code for non-enduser scripts. It will then invoke the plugin which implements that subcommand. Uses straight.plugin for loading each sub-command. * We're going to add tools which are needed to test ansible (the changelog generation, for instance) so we need to include the pieces relevant to that in the tarball. * Add straight.plugin to the sanity test requirements for the same reason * Skip compile test just for build-ansible plugins which won't be run as part of sanity tests.
* Fix deprecated issue creator (#55327)Matt Martz2019-04-152-13/+12
|
* Add a script to generate a new porting guideToshio Kuratomi2019-04-121-0/+145
| | | | | * porting-guide.py is allowed to be Python-3.6+ as it will only be run by release engineers
* Make test-module use default value for interpreter (#54053)Karolis Tamutis2019-04-101-1/+2
| | | | | | | | * Make test-module use default value for interpreter * Changing from static interpreter path to sys.executable as per #54053 * A little ntegration test for #54053
* Fix punctuation around issue reporting link (#54295)Toshio Kuratomi2019-03-251-1/+8
| | | | | Figure out how to format the release announcement so a link isn't directly followed by a period which would hinder cutand paste but uses proper grammar and punctuation.
* Add a script to generate twitter and mailing list announcementsToshio Kuratomi2019-03-221-0/+292
| | | | | | | | | | | | Announcements taken from https://github.com/ansible/community/wiki/RelEng:-ReleaseProcess and then cleaned up: * Update issue reporting blurb from feedback from acozine and gundalow * Add a subject and to line for email output * Ignore long line tests on the jinja templates (as jinja doesn't give enough control to get rid of newlines when text wrapping) * Skip shebang and compile tests for older pythons since this is a release engineer-only script. (ok'd by mattclay)
* parse botocore.endpoint logs into a list of AWS actions (#49312)Sloane Hertel2019-03-181-0/+327
| | | | | | | | | | | | | | | | | | | * 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)
* AWS: new module ec2_transit_gateway fixes #49376 (#53651)Bob Boldin2019-03-141-0/+10
| | | | | | | | | | | | * 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
* Fix ec2_instance eventual consistency when wait: false (#51885)Andrea Tartaglia2019-03-063-2/+41
| | | | | | | | | | | | | | | | | * 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
* Add launch type to ecs task (#49081)Tad Merchant2019-03-061-0/+2
| | | | | | | | | | | | | | | | | | * 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
* AWS Redshift: port module to boto3 and fix parameters check (#37052)Rafael Driutti2019-02-211-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fix parameters check and port module to boto3 * begin with integration tests * allow redshift iam policy * Wait for cluster to be created before moving on to delete it * Allow sts credentials so this can be run in CI Don't log credentials ensure cluster can be removed * - Replace DIY waiters with boto3 waiters - test multi node cluster * catch specific boto3 error codes * remove wait from test * add missing alias for shippable * - Rework modify function. - Default unavailable parameters to none. - Add cluster modify test * Ensure resources are cleaned up if tests fail * Ensure all botocore ClientError and BotoCoreError exceptions are handled
* aws_kms enhancements (#31960)Will Thames2019-02-131-0/+54
| | | | | | | | | * Allow creation and deletion of keys (deletion just schedules for deletion, recreating an old key is just cancelling its deletion) * Allow grants to be set, thus enabling encryption contexts to be used with keys * Allow tags to be added and modified * Add testing for KMS module * Tidy up aws_kms module to latest standards
* Have update-bundled check for updates to all bundled codeToshio Kuratomi2019-02-061-34/+0
| | | | Add a test for whether we have bundled code inside of ansible that needs to be updated
* Perf graphing (#46346)Matt Martz2019-01-081-0/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * csv of memory usage * Fix var * Configurable output file * Add cpu profiling * Valdiate the existence of cgroup files * Add guard to prevent exception when trying to reset max memory value * to_bytes/to_text and docs updates * Add support for CPU results * Just track the max, don't log all results, and then calculate max * Restore cgroup_memory_recap, and move new functionality into cgroup_perf_recap * Add pid count tracking, restructure to support more profilers * Add cli tool for graphing cgroup_perf_recap data * csv_output_dir is a path * Correct CALLBACK_NAME * Include uuid in csv data * fix linting errors * Bump version_added * Create helper funciton to create dict from list of keys, with callable default * Updated notes to include pids * Print a newline after each section * Plugin improvements * Add option to supporess recap display * Add default for output directory * Add option to dictate whether or not to write files * Add JSON-seq output option * s/uuid/task_uuid * Use bytes for paths * Increase polling interval length for pids/memory * Reduce instance attrs, change how we invoke profilers * Shorten some line lengths * Remove more instance attrs * Fix some typos * document directory creation, and catch exceptions * Enable per task file outputs, and filename customization * s/per_task_file/file_per_task/g
* Port from plaform.dist to ansible.module_utils.distro.linux_distributionToshio Kuratomi2018-12-171-4/+7
| | | | ci_complete
* Update bare exceptions to specify Exception.Toshio Kuratomi2018-12-162-2/+2
| | | | | This will keep us from accidentally catching program-exiting exceptions like KeyboardInterupt and SystemExit.
* [AWS] ses rule set module for inbound email processing (#42781)Ed Costello2018-11-142-1/+30
| | | | | | | | | | * Add module ses_rule_set for Amazon SES * Update behaviours and naming to be consistent with other aws_ses_ modules. * Add global lock around tests using active rule sets to prevent intermittent test failures. * Fix deletion of rule sets so that we don't inactivate the active rule set when force deleting an inactive rule set.