Commit Graph

186 Commits

Author SHA1 Message Date
Victor Vieux 6af7c3c209 match only repo
Signed-off-by: Victor Vieux <vieux@docker.com>
2015-01-24 21:27:03 -08:00
Victor Vieux 02cc59840f Revert "Fixes panic when ports are not specified"
This reverts commit a916f9cde0.

Signed-off-by: Victor Vieux <vieux@docker.com>
2015-01-24 01:42:15 +00:00
Victor Vieux 3d8aed071e correct typos in filter readme
Signed-off-by: Victor Vieux <vieux@docker.com>
2015-01-24 00:43:25 +00:00
Brian Goff a916f9cde0 Fixes panic when ports are not specified
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-01-23 15:56:14 -05:00
Victor Vieux e9f487bcaf update README.mds
Signed-off-by: Victor Vieux <vieux@docker.com>
2015-01-21 22:47:31 +00:00
Andrea Luzzardi 10074faa75 Merge pull request #261 from vieux/chanwit-constraints-expr
Proposal: constraint & affinity filter expression enhancement
2015-01-20 16:38:24 -08:00
Victor Vieux e546965cf3 refactor and remove <= and >=
Signed-off-by: Victor Vieux <vieux@docker.com>
2015-01-21 00:24:51 +00:00
Jessica B. Hamrick 634dd00497 Remove unnecessary arguments from Equal and NotEqual
Signed-off-by: Jessica B. Hamrick <jhamrick@berkeley.edu>
2015-01-20 15:08:01 -08:00
Jessica B. Hamrick 63109bb0f2 Remove total variable
Signed-off-by: Jessica B. Hamrick <jhamrick@berkeley.edu>
2015-01-20 11:42:02 -08:00
Chanwit Kaewkasi bf852ec243 update expression syntax in doc
Signed-off-by: Chanwit Kaewkasi <chanwit@gmail.com>
2015-01-20 15:45:38 +07:00
Chanwit Kaewkasi 3c147df81a remove unsupported operators
Signed-off-by: Chanwit Kaewkasi <chanwit@gmail.com>
2015-01-20 15:45:36 +07:00
Chanwit Kaewkasi e4db376a6d support affinity and validate key and value properly
Signed-off-by: Chanwit Kaewkasi <chanwit@gmail.com>
2015-01-20 15:44:55 +07:00
Chanwit Kaewkasi 45b7f26394 refactor matching into filter/utils.go
Signed-off-by: Chanwit Kaewkasi <chanwit@gmail.com>
2015-01-20 10:42:23 +07:00
Jessica B. Hamrick 11ebdb050c Fix the scheduling bug, fixes #253
Signed-off-by: Jessica B. Hamrick <jhamrick@berkeley.edu>
2015-01-19 19:19:35 -08:00
Jessica B. Hamrick f942cb2e69 Add test that fails to execute the proper strategy
Signed-off-by: Jessica B. Hamrick <jhamrick@berkeley.edu>
2015-01-19 19:19:32 -08:00
Chanwit Kaewkasi d77c9596b1 add double equals comparison
Signed-off-by: Chanwit Kaewkasi <chanwit@gmail.com>
2015-01-20 10:04:19 +07:00
Chanwit Kaewkasi 7ee722b2d7 support relative comparisons in constraints
Signed-off-by: Chanwit Kaewkasi <chanwit@gmail.com>
2015-01-20 10:03:34 +07:00
Chanwit Kaewkasi d335f59757 implement alternative negation syntax
Signed-off-by: Chanwit Kaewkasi <chanwit@gmail.com>
2015-01-20 10:02:13 +07:00
Chanwit Kaewkasi 25231f3bb3 fix test failed per rebase #228
Signed-off-by: Chanwit Kaewkasi <chanwit@gmail.com>
2015-01-20 10:02:12 +07:00
Chanwit Kaewkasi 5b973d0057 improve to allow optional matching with case-insensitivity
Signed-off-by: Chanwit Kaewkasi <chanwit@gmail.com>
2015-01-20 10:02:10 +07:00
Chanwit Kaewkasi b4a7abdc83 add a testcase for escape regexp
Signed-off-by: Chanwit Kaewkasi <chanwit@gmail.com>
2015-01-20 10:02:09 +07:00
Chanwit Kaewkasi 790b1ea45d cleanup and add comments
Signed-off-by: Chanwit Kaewkasi <chanwit@gmail.com>
2015-01-20 10:02:07 +07:00
Chanwit Kaewkasi 564cca1a22 explain expression syntax in README
Signed-off-by: Chanwit Kaewkasi <chanwit@gmail.com>
2015-01-20 10:02:05 +07:00
Chanwit Kaewkasi 54c7c12d05 improve regexp matching
Signed-off-by: Chanwit Kaewkasi <chanwit@gmail.com>
2015-01-20 10:00:48 +07:00
Chanwit Kaewkasi 37e10e9656 support not in constraints expressions
Signed-off-by: Chanwit Kaewkasi <chanwit@gmail.com>
2015-01-20 10:00:12 +07:00
Andrea Luzzardi 1e92f854d5 Merge pull request #243 from vieux/affinity
add affinity (start next to a container/image)
2015-01-19 14:02:03 -08:00
Victor Vieux 110c3b6c39 Merge pull request #236 from aluzzardi/state-store
Store requested state persistently.
2015-01-19 13:43:11 -08:00
Gp De Ciantis e255413b0a Fixed spelling error 'Healty' to 'Healthy'
Signed-off-by: Gp De Ciantis <gdeciantis@gmail.com>
2015-01-19 20:50:54 +00:00
Victor Vieux 98914a122c tweak doc
Signed-off-by: Victor Vieux <vieux@docker.com>
2015-01-16 00:10:36 +00:00
Victor Vieux 5a85211449 add images test
Signed-off-by: Victor Vieux <vieux@docker.com>
2015-01-16 00:10:36 +00:00
Victor Vieux 5564894744 add images cache
Signed-off-by: Victor Vieux <vieux@docker.com>
2015-01-16 00:10:36 +00:00
Victor Vieux d54c5f8046 add doc
Signed-off-by: Victor Vieux <vieux@docker.com>
2015-01-16 00:10:36 +00:00
Victor Vieux ccee1f67e8 add affinity:
Signed-off-by: Victor Vieux <vieux@docker.com>
2015-01-16 00:10:36 +00:00
Andrea Luzzardi 6410f9ad35 Store requested state persistently.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
Signed-off-by: Victor Vieux <vieux@docker.com>
2015-01-15 23:10:50 +00:00
Victor Vieux 7260a66886 use HealthFilter
Signed-off-by: Victor Vieux <vieux@docker.com>
2015-01-15 19:32:48 +00:00
Victor Vieux f0e9fb032d prevent undercommit for now
Signed-off-by: Victor Vieux <vieux@docker.com>
2015-01-14 00:57:13 +00:00
Victor Vieux 45ea947e0e OverCommit -> Usable
Signed-off-by: Victor Vieux <vieux@docker.com>
2015-01-14 00:40:55 +00:00
Victor Vieux d57eca7bc9 move overcommit outside of the strategies
Signed-off-by: Victor Vieux <vieux@docker.com>
2015-01-14 00:33:49 +00:00
Victor Vieux d8b609c161 Move overcommit outside of binpacking and use 105 instead of 0.05
Signed-off-by: Victor Vieux <vieux@docker.com>
2015-01-14 00:33:49 +00:00
Keegan Lowenstein 89e482b633 Fix typos and whitespace
Signed-off-by: Keegan Lowenstein <keegan.lowenstein@gmail.com>
2015-01-13 14:13:01 -08:00
Andrea Luzzardi 94cf009e46 Container: Make Node public instead of exposing it through Node().
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2015-01-12 08:14:11 -08:00
Andrea Luzzardi 6a34054e58 Typo: Initialise -> Initialize.
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2015-01-05 07:32:57 -08:00
Chanwit Kaewkasi 869c57ccb1 need int64 cast to prevent overflow on the 32-bit architecture
Signed-off-by: Chanwit Kaewkasi <chanwit@gmail.com>
2014-12-30 15:40:54 +07:00
Victor Vieux e587338198 update README.md
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-12-19 01:04:42 +00:00
Victor Vieux 037f4c379b simplify code
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-12-19 00:59:57 +00:00
Victor Vieux 2f6531d376 update docs
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-12-19 00:47:51 +00:00
Victor Vieux e4dfa66b62 add README.md
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-12-19 00:44:13 +00:00
Victor Vieux 28a5063168 add tests and move from label to constraint
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-12-18 02:14:31 +00:00
Victor Vieux ba1688ccef add matching to constraints
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-12-18 01:56:13 +00:00
Victor Vieux 827cdf19f6 add --filter flag to specify which filter to use
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-12-16 21:05:15 +00:00
Victor Vieux 9196927ce2 nitpick
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-12-13 00:56:37 +00:00
Victor Vieux cd243cfa34 simplify
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-12-13 00:09:38 +00:00
Victor Vieux b1e80ce157 add --strategy to choose the strategy to use
Signed-off-by: Victor Vieux <vieux@docker.com>
2014-12-12 23:57:27 +00:00
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