No description
Find a file
James Cammarata 51b33b79c0
T woerner max concurrent (#60702)
* play, block, task: New attribute forks

With this it is possible to limit the number of concurrent task runs.
forks can now be used in play, block and task. If forks is set in different
levels in the chain, then the smallest value will be used for the task.

The attribute has been added to the Base class as a list to easily provide
all the values that have been set in the different levels of the chain.

A warning has been added because of the conflict with run_once. forks will
be ignored in this case.

The forks limitation in StrategyBase._queue_task is not used for the free
strategy.

Signed-off-by: Thomas Woerner <twoerner@redhat.com>

* Handle forks in free strategy

The forks attribute for the free strategy is handled in run in the free
StrategyModule. This is dony by counting the amount of tasks where the uuid
is the same as the current task, that should be queued next. If this amount
is bigger or equal to the forks attribute from the chain (task, block,
play), then it will be skipped to the next host. Like it is also done with
blocked_hosts.

Signed-off-by: Thomas Woerner <twoerner@redhat.com>

* Test cases for forks with linear and free strategy

With ansible_python_interpreter defined in inventory file using
ansible_playbook_python.

Signed-off-by: Thomas Woerner <twoerner@redhat.com>

* Changing forks keyword to throttle and adding some more docs
2019-08-28 18:47:39 -05:00
.github Addition of ECS_Certificate Module (#60883) 2019-08-28 23:38:48 +02:00
bin Move ansible-test entry point. (#60281) 2019-08-08 09:18:31 -07:00
changelogs T woerner max concurrent (#60702) 2019-08-28 18:47:39 -05:00
contrib docker: fix sanity errors (#60047) 2019-08-09 23:50:11 +02:00
docs T woerner max concurrent (#60702) 2019-08-28 18:47:39 -05:00
examples
hacking Support relative imports in AnsiballZ. (#61196) 2019-08-27 18:11:21 -07:00
lib/ansible T woerner max concurrent (#60702) 2019-08-28 18:47:39 -05:00
licenses Bundle a copy of github.com/nir0s/distro/distro.py 2018-12-17 11:01:01 -08:00
packaging Support Azure IoT hub and related module (#55121) 2019-08-27 13:18:28 +08:00
test T woerner max concurrent (#60702) 2019-08-28 18:47:39 -05:00
.cherry_picker.toml 🚸 🐍 🍒 ⛏ Integrate cherry picker (#41403) 2018-07-12 19:34:02 +03:00
.gitattributes
.gitignore Overhaul ansible-test test path handling. (#61416) 2019-08-27 23:40:06 -07:00
.mailmap Fix syntax typo 2017-12-24 12:16:17 +01:00
CODING_GUIDELINES.md Tidy up Contributors Docs (#47619) 2018-10-28 17:11:40 -05:00
COPYING
Makefile Install ansible-test (#60718) 2019-08-20 23:53:35 -07:00
MANIFEST.in Relocate ansible-test self tests outside package. (#61255) 2019-08-24 11:38:30 -07:00
MODULE_GUIDELINES.md
README.rst
requirements.txt Change default smart connection to ssh on macOS and remove paramiko from requirements.txt (#54738) 2019-04-03 22:35:59 -04:00
setup.py Install ansible-test (#60718) 2019-08-20 23:53:35 -07:00
shippable.yml

PyPI version Docs badge Chat badge Build Status Ansible Code of Conduct Ansible mailing lists Repository License

Ansible

Ansible is a radically simple IT automation system. It handles configuration management, application deployment, cloud provisioning, ad-hoc task execution, network automation, and multi-node orchestration. Ansible makes complex changes like zero-downtime rolling updates with load balancers easy. More information on the Ansible website.

Design Principles

  • Have a dead simple setup process and a minimal learning curve.
  • Manage machines very quickly and in parallel.
  • Avoid custom-agents and additional open ports, be agentless by leveraging the existing SSH daemon.
  • Describe infrastructure in a language that is both machine and human friendly.
  • Focus on security and easy auditability/review/rewriting of content.
  • Manage new remote machines instantly, without bootstrapping any software.
  • Allow module development in any dynamic language, not just Python.
  • Be usable as non-root.
  • Be the easiest IT automation system to use, ever.

Use Ansible

You can install a released version of Ansible via pip, a package manager, or our release repository. See our installation guide for details on installing Ansible on a variety of platforms.

Red Hat offers supported builds of Ansible Engine.

Power users and developers can run the devel branch, which has the latest features and fixes, directly. Although it is reasonably stable, you are more likely to encounter breaking changes when running the devel branch. We recommend getting involved in the Ansible community if you want to run the devel branch.

Get Involved

  • Read Community Information for all kinds of ways to contribute to and interact with the project, including mailing list information and how to submit bug reports and code to Ansible.
  • Join a Working Group, an organized community devoted to a specific technology domain or platform.
  • Submit a proposed code update through a pull request to the devel branch.
  • Talk to us before making larger changes to avoid duplicate efforts. This not only helps everyone know what is going on, it also helps save time and effort if we decide some changes are needed.
  • For a list of email lists, IRC channels and Working Groups, see the Communication page

Branch Info

  • The devel branch corresponds to the release actively under development.
  • The stable-2.X branches correspond to stable releases.
  • Create a branch based on devel and set up a dev environment if you want to open a PR.
  • See the Ansible release and maintenance page for information about active branches.

Roadmap

Based on team and community feedback, an initial roadmap will be published for a major or minor version (ex: 2.7, 2.8). The Ansible Roadmap page details what is planned and how to influence the roadmap.

Authors

Ansible was created by Michael DeHaan and has contributions from over 4000 users (and growing). Thanks everyone!

Ansible is sponsored by Red Hat, Inc.

License

GNU General Public License v3.0

See COPYING to see the full text.