Commit Graph

52 Commits

Author SHA1 Message Date
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
Matej Kramny
37d8c71bba Merge pull request #345 from strangeman/alert-setting-343
Add option for per-project telegram alert to different chats
2017-05-20 15:07:42 +02:00
Eric Cornely
26fa3267a0 Get tasks details
Reference issue #356

Get a single task
2017-05-18 14:29:57 +02:00
Anton Markelov
bff8297145 add option for per-project telegram alert to different chats 2017-05-03 14:27:58 +10:00
Anton Markelov
336773698c fix alert templates after 5bcb34e 2017-04-22 13:22:16 +10:00
Matej Kramny
9fd49333de Merge branch 'develop' of github.com:ansible-semaphore/semaphore into develop 2017-04-18 15:54:51 +01:00
Matej Kramny
60a6570bdc Merge pull request #299 from galexrt/improve-sql-error
Fix the primary key creation queries in v2.2.1 migration
2017-04-18 15:54:40 +01:00
Matej Kramny
5bcb34ef62 improvements for #287 2017-04-18 15:36:09 +01:00
Matej Kramny
96140045ae improve codebase after #275 2017-04-18 15:21:20 +01:00
Matej Kramny
4b6a518b73 fixes resulting from master merge 2017-04-18 14:58:48 +01:00
Matej Kramny
db4948cb89 Merge branch 'master' into develop
# Conflicts:
#	Dockerfile
#	api/login.go
#	api/projects/environment.go
#	api/projects/project.go
#	api/projects/templates.go
#	api/tasks/runner.go
#	api/users.go
#	db/versionHistory.go
#	util/bindata.go
2017-04-18 14:48:31 +01:00
Matej Kramny
9d65c7e81a Merge pull request #304 from z010107/master
Add JSON validation in environment model
2017-04-18 14:36:21 +01:00
Anton Markelov
ffa4d70037 add response code check for telegram 2017-03-24 17:50:26 +10:00
Anton Markelov
90d7708647 add basic telegram alerting 2017-03-22 17:22:09 +10:00
Anton Markelov
5f956c6013 add more verbosity about tasks to the Events description 2017-03-21 12:40:00 +10:00
Andrey Krasilnikov
3a60b4c166 Add extra validation for environment JSON 2017-03-18 12:57:41 +03:00
Alexander Trost
afd2a720f7 Fix the primary key creation queries
Add id column to task__output table "instead"
Print error message in case of database errors
2017-03-16 17:32:42 +01:00
Anton Markelov
1e95790197 made changes from review 2017-03-13 12:30:48 +10:00
Anton Markelov
2a66610d78 english muthafucka do you speak it!? 2017-03-11 17:54:52 +10:00
Anton Markelov
8ada2d0b95 Merge branch 'master' into email-alerts 2017-03-10 16:28:52 +10:00
Anton Markelov
0993a002ea add alert setting for project 2017-03-10 16:25:42 +10:00
Anton Markelov
4bbedac795 add alert setting for user and (WIP) project 2017-03-10 10:12:55 +10:00
Anton Markelov
c8cad513e6 use html/template for mail subject and body 2017-03-07 18:45:37 +10:00
Anton Markelov
a9c994cf35 move mail sending logic to util package 2017-03-07 17:15:35 +10:00
Matej Kramny
6c633fdbf2 Merge branch 'master' into develop
# Conflicts:
#	api/auth.go
#	cli/main.go
#	db/Event.go
2017-03-06 11:34:10 -08:00
Douglas Temple
09dfe7463e Added SSH certificate support 2017-02-23 11:21:18 +00:00
Matej Kramny
2a2b7e8aed merge models -> db 2017-02-22 21:12:16 -08:00
Matej Kramny
3f3da12d37 🎉 gin -> net/http 2017-02-22 15:21:49 -08:00
Matej Kramny
1ddfcd5b5f moar refactor
- c.MustGet( -> context.Get(r,
- c.Get( -> context.GetOk(r,
2017-02-22 14:21:52 -08:00
Matej Kramny
2f16f70e98 begin refactor gin -> net/http 2017-02-22 14:17:36 -08:00
Anton Markelov
31599e01de [WIP] add alerts for failed deploy 2017-02-22 19:06:03 +10:00
Anton Markelov
4cf992c3e9 Add task template name to log too 2017-02-11 21:44:15 +10:00
Anton Markelov
f186fea9eb Add task template names for dashboard 2017-02-11 18:34:57 +10:00
Pavel Kiselev
69d1c4c9b7
Copy-paste fixes 2017-02-08 19:36:44 +07:00
Pavel Kiselev
b7b8db7cfd
It's method, not a function 2017-02-08 19:29:59 +07:00
Pavel Kiselev
beb029dc3d
Use temp path for update repository function 2017-02-08 19:28:07 +07:00
Pavel Kiselev
e0897e87c8
Pass OS environment variables to Ansible 2017-02-08 19:26:15 +07:00
Matej Kramny
f27445e0ae Merge pull request #157 from tokuhirom/galaxy
Added Ansible Galaxy support. Close #150
2016-12-21 17:58:00 +09:00
Matej Kramny
c3fa2b5018 improve runner code 2016-11-21 17:07:00 -08:00
Matej Kramny
8ff4edb4b3 Merge remote-tracking branch 'refs/remotes/knsr/repo-tags'
Conflicts:
	api/tasks/runner.go
2016-11-21 17:01:57 -08:00
KNSR
b24683a6df correct import 2016-10-14 11:30:39 +02:00
KNSR
d40f1d7f09 add support for git repo tags or branches 2016-10-14 10:57:49 +02:00
Alexander
578d36f2ee add missing space
add missing space
2016-08-27 16:41:41 +08:00
Alexander
c818d8bdf2 Update runner.go
add --recursive to support download playbooks which uses git submodule
2016-08-25 21:24:45 +08:00
Matej Kramny
47b1fcebf9 Merge pull request #156 from tokuhirom/dry_run
Added dry_run button. close #152
2016-07-21 15:26:18 +01:00
Tokuhiro Matsuno
b671531733 Added Ansible Galaxy support. Close #150 2016-06-30 11:34:35 -04:00
Tokuhiro Matsuno
129af0fa17 Added dry_run button. close #152 2016-06-30 10:57:45 -04:00
Tokuhiro Matsuno
df9ef6e3d1 Show repository url in log 2016-06-30 22:22:14 +09:00
Tokuhiro Matsuno
af8d0595d4 Save task executed user's ID in database.
And show user name in task information view.
2016-06-26 07:50:51 +09:00
Matej Kramny
b4cab16fda Improved UI
- Fixes #94
- Fixes admin permissions (needed to manipulate users)
2016-06-17 13:16:46 -07:00