Commit Graph

33 Commits

Author SHA1 Message Date
Victor Vieux ebe77641c7 prevent panic in random strategy if no node
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-12-09 00:19:24 +00:00
Victor Vieux 814fc6e8d2 simplify code
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-12-07 01:02:05 +00:00
Victor Vieux f8245da596 fix tests 2014-12-03 12:56:29 +00:00
Andrea Luzzardi f5827052a4 Port filtering: Fixed a race condition.
Port filtering used to rely on NetworkSettings, however, those are not
populated until the container is started. While stopped, the filter was
unaware of the port being used, resulting in a race condition.

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2014-12-02 17:46:22 -08:00
Andrea Luzzardi cf65a010d6 Health filter: Only schedule containers on healthy nodes.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2014-11-21 17:07:26 -08:00
Andrea Luzzardi 24985d2e4f Node: API to add/remove/cleanup the internal containers state.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2014-11-21 16:10:49 -08:00
Andrea Luzzardi 4f3c15d9fe Label filter: Support for node pinning by name or id.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2014-11-21 14:13:40 -08:00
Andrea Luzzardi 7d930b8809 label filter: Ensure constraints are evaluated as logical ANDs.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2014-11-21 14:13:40 -08:00
Andrea Luzzardi 5251670529 Rename attribute filter file to label.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2014-11-21 14:13:40 -08:00
Andrea Luzzardi 1dead64e11 Rename attributes to labels.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2014-11-21 14:13:40 -08:00
Victor Vieux 1f74cb5809 remove races 2014-11-21 01:36:30 +00:00
Andrea Luzzardi 8e3ded4916 Added resource overcommit support to the binpacking strategy.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2014-11-20 16:19:05 -08:00
Andrea Luzzardi dacb3e2ef1 Fix tests for the NewNode API changes.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2014-11-20 15:56:12 -08:00
Andrea Luzzardi a2f29be40f Added unit tests for the attribute filter.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2014-11-19 18:51:41 -08:00
Andrea Luzzardi b2e803c269 Renamed attributes to attribute to be consistent with port filter.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2014-11-19 18:51:41 -08:00
Victor Vieux 9bf438ec64 int -> int64 2014-11-20 01:37:15 +00:00
Andrea Luzzardi 582bd6cc0e Add unit tests for the port filter.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2014-11-19 17:25:22 -08:00
Victor Vieux 4f5126a605 re-enable without -m/-c 2014-11-20 01:16:19 +00:00
Victor Vieux 8293b09a15 fix cpus 2014-11-20 01:15:22 +00:00
Victor Vieux d0de5ee964 cleanup tests 2014-11-19 22:45:17 +00:00
Victor Vieux 9e8ee985fb Merge branch 'master' of github.com:docker/libcluster 2014-11-19 01:09:23 +00:00
Victor Vieux 2905b00d07 add tests 2014-11-19 01:09:18 +00:00
Andrea Luzzardi 4726477dbe Attribute filter: Schedule containers only on nodes that match certain attributes.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2014-11-18 17:00:27 -08:00
Andrea Luzzardi 41071a88a7 Port Filtering.
Consider only nodes that have the requested port available, and abort
the container creation if none is found.

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2014-11-18 16:04:13 -08:00
Victor Vieux 07383edd47 improve locks 2014-11-18 23:04:11 +00:00
Victor Vieux 0f507fb783 fix package name 2014-11-18 21:40:38 +00:00
Victor Vieux 216c2a7507 fix imports 2014-11-18 02:52:51 +00:00
Victor Vieux ed2db9a85b swarmd -> swarm
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-11-18 00:57:05 +00:00
Andrea Luzzardi cb66a5d8fe Scheduling: Experimental bin packing algorithm.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2014-11-17 13:34:59 -08:00
Andrea Luzzardi 0577135ea9 scheduler: Pass the strategy and filters as a creation argument.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2014-11-17 13:34:59 -08:00
Andrea Luzzardi 004450a910 Make the random placement strategy truly random.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2014-11-17 13:34:08 -08:00
Victor Vieux 42198c779e prevent container scheduling without -c/-m 2014-11-15 01:14:43 +00:00
Andrea Luzzardi 006f5e7118 Initial scheduler implementation.
The scheduler is composed of filters (to apply constraints) and a
placement strategy (random, bin packing, ...).

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2014-11-14 15:51:39 -08:00