Modern UI for Ansible, Terraform, OpenTofu, PowerShell and other DevOps tools.
Go to file
Viktor Anderling 8bc1b7f2d2 Allow concurrency for tasks that does not collide
Two different concurrency modes are implemented, and is enabled by
setting "concurrency_mode" in the config file to either "project" or "node".

When "project" concurrency is enabled, tasks will run in parallel if and
only if they do not share the same project id, with no regard to the
nodes/hosts that are affected.

When "node" concurrency is enabled, a task will run in parallel if and
only if the hosts affected by tasks already running does not intersect
with the hosts that would be affected by the task in question.

If "concurrency_mode" is not specified, no task will start before the
previous one has finished.

The collision check is based on the output from the "--list-hosts"
argument to ansible, which uses the hosts specified in the inventory.
Thus, if two different hostnames are used that points to the same node,
such as "127.0.0.1" and "localhost", there will be no collision and two
tasks may connect to the same node concurrently. If this behaviour is
not desired, one should make sure to not include aliases for their hosts
in their inventories when enabling concurrency mode.

To restrict the amount of parallel tasks that runs at the same time, one
can add the "max_parallel_tasks" to the config file. This defaults to a
humble 10 if not specified.
2017-05-29 17:27:56 +02:00
api Allow concurrency for tasks that does not collide 2017-05-29 17:27:56 +02:00
cli Typo fix main.go 2017-05-28 15:11:41 +02:00
db run migrations on startup 2017-05-20 15:21:13 +02:00
public fix for base paths 2017-05-20 16:25:41 +02:00
scripts set hostnaem 2017-04-19 21:25:03 +01:00
util Allow concurrency for tasks that does not collide 2017-05-29 17:27:56 +02:00
.gitignore add .idea/ to .gitignore for Pycharm 2017-03-10 22:13:13 +09:00
.gitmodules fix circle & docker hub 2016-12-21 18:36:54 +09:00
api-docs.yml Get tasks details 2017-05-18 14:29:57 +02:00
CHANGELOG.md update changelog, bump version to 2.3.0 2017-04-19 20:10:42 +01:00
circle.yml compile with go1.8 2017-02-22 03:52:50 -08:00
CODE_OF_CONDUCT.md Code of conduct, changelog 2016-04-29 23:47:31 +02:00
CONTRIBUTING.md update contributing.md 2017-05-20 16:32:03 +02:00
docker-compose.yml merge models -> db 2017-02-22 21:12:16 -08:00
Dockerfile fixes #324 2017-05-01 21:12:30 +02:00
LICENSE Initial commit 2014-08-23 23:43:31 +01:00
make.sh Update Dockerfile 2017-04-19 20:38:05 +01:00
README.md add roadmap to readme 2017-04-18 17:55:12 +01:00

semaphore

Circle CI semaphore on discord

Contributing

PR's & UX reviews are welcome!

Please follow the contribution guide. Any questions, please open an issue.

License

MIT License

Copyright (c) 2016 Castaway Consulting LLC

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.