You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aurora.apache.org by ma...@apache.org on 2014/05/23 02:30:21 UTC
git commit: Removing --groups_per_batch option.
Repository: incubator-aurora
Updated Branches:
refs/heads/master ccd6a492c -> b055ec9ff
Removing --groups_per_batch option.
Bugs closed: AURORA-446
Reviewed at https://reviews.apache.org/r/21781/
Project: http://git-wip-us.apache.org/repos/asf/incubator-aurora/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-aurora/commit/b055ec9f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-aurora/tree/b055ec9f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-aurora/diff/b055ec9f
Branch: refs/heads/master
Commit: b055ec9ff1966df3fbf3ee760856da2b2b35d693
Parents: ccd6a49
Author: Maxim Khutornenko <ma...@apache.org>
Authored: Thu May 22 17:29:51 2014 -0700
Committer: Maxim Khutornenko <ma...@apache.org>
Committed: Thu May 22 17:29:51 2014 -0700
----------------------------------------------------------------------
.../python/apache/aurora/admin/host_maintenance.py | 12 +++++-------
.../apache/aurora/client/commands/maintenance.py | 4 ----
.../apache/aurora/admin/test_host_maintenance.py | 17 ++---------------
3 files changed, 7 insertions(+), 26 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/b055ec9f/src/main/python/apache/aurora/admin/host_maintenance.py
----------------------------------------------------------------------
diff --git a/src/main/python/apache/aurora/admin/host_maintenance.py b/src/main/python/apache/aurora/admin/host_maintenance.py
index 16c18bc..1890f80 100644
--- a/src/main/python/apache/aurora/admin/host_maintenance.py
+++ b/src/main/python/apache/aurora/admin/host_maintenance.py
@@ -53,13 +53,11 @@ class HostMaintenance(object):
return groups
@classmethod
- def iter_batches(cls, hostnames, groups_per_batch, grouping_function=DEFAULT_GROUPING):
- if groups_per_batch <= 0:
- raise ValueError('Batch size must be > 0!')
+ def iter_batches(cls, hostnames, grouping_function=DEFAULT_GROUPING):
groups = cls.group_hosts(hostnames, grouping_function)
groups = sorted(groups.items(), key=lambda v: v[0])
- for k in range(0, len(groups), groups_per_batch):
- yield Hosts(set.union(*(hostset for (key, hostset) in groups[k:k + groups_per_batch])))
+ for group in groups:
+ yield Hosts(group[1])
def __init__(self, cluster, verbosity):
self._client = AuroraClientAPI(cluster, verbosity == 'verbose')
@@ -102,7 +100,7 @@ class HostMaintenance(object):
"""Put a list of hosts into maintenance mode, to de-prioritize scheduling."""
check_and_log_response(self._client.start_maintenance(Hosts(set(hosts))))
- def perform_maintenance(self, hosts, groups_per_batch=1, grouping_function=DEFAULT_GROUPING,
+ def perform_maintenance(self, hosts, grouping_function=DEFAULT_GROUPING,
callback=None):
"""The wrap a callback in between sending hosts into maintenance mode and back.
@@ -113,7 +111,7 @@ class HostMaintenance(object):
self._complete_maintenance(Hosts(set(hosts)))
self.start_maintenance(hosts)
- for hosts in self.iter_batches(hosts, groups_per_batch, grouping_function):
+ for hosts in self.iter_batches(hosts, grouping_function):
self._drain_hosts(hosts)
if callback:
self._operate_on_hosts(hosts, callback)
http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/b055ec9f/src/main/python/apache/aurora/client/commands/maintenance.py
----------------------------------------------------------------------
diff --git a/src/main/python/apache/aurora/client/commands/maintenance.py b/src/main/python/apache/aurora/client/commands/maintenance.py
index 68d63a1..d020e4c 100644
--- a/src/main/python/apache/aurora/client/commands/maintenance.py
+++ b/src/main/python/apache/aurora/client/commands/maintenance.py
@@ -62,8 +62,6 @@ def end_maintenance_hosts(cluster):
@app.command
-@app.command_option('--groups_per_batch', dest='groups_per_batch', default=1,
- help='Number of groups to operate on at a time.')
@app.command_option('--post_drain_script', dest='post_drain_script', default=None,
help='Path to a script to run for each host.')
@app.command_option(FILENAME_OPTION)
@@ -72,7 +70,6 @@ def end_maintenance_hosts(cluster):
@requires.exactly('cluster')
def perform_maintenance_hosts(cluster):
"""usage: perform_maintenance_hosts {--filename=filename | --hosts=hosts}
- [--groups_per_batch=num]
[--post_drain_script=path]
[--grouping=function]
cluster
@@ -94,7 +91,6 @@ def perform_maintenance_hosts(cluster):
HostMaintenance(CLUSTERS[cluster], options.verbosity).perform_maintenance(
drainable_hosts,
- groups_per_batch=int(options.groups_per_batch),
callback=drained_callback,
grouping_function=options.grouping)
http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/b055ec9f/src/test/python/apache/aurora/admin/test_host_maintenance.py
----------------------------------------------------------------------
diff --git a/src/test/python/apache/aurora/admin/test_host_maintenance.py b/src/test/python/apache/aurora/admin/test_host_maintenance.py
index 18bf622..8c76638 100644
--- a/src/test/python/apache/aurora/admin/test_host_maintenance.py
+++ b/src/test/python/apache/aurora/admin/test_host_maintenance.py
@@ -46,15 +46,11 @@ def test_default_grouping():
'foo001.example.com',
]
- batches = list(HostMaintenance.iter_batches(example_host_list, 1))
+ batches = list(HostMaintenance.iter_batches(example_host_list))
assert batches[0] == Hosts(set(['bar337.example.com']))
assert batches[1] == Hosts(set(['foo001.example.com']))
assert batches[2] == Hosts(set(['xyz321.example.com']))
- batches = list(HostMaintenance.iter_batches(example_host_list, 2))
- assert batches[0] == Hosts(set(['bar337.example.com', 'foo001.example.com']))
- assert batches[1] == Hosts(set(['xyz321.example.com']))
-
def rack_grouping(hostname):
return hostname.split('-')[1]
@@ -73,7 +69,7 @@ def test_rack_grouping():
]
try:
- batches = list(HostMaintenance.iter_batches(example_host_list, 1, 'by_rack'))
+ batches = list(HostMaintenance.iter_batches(example_host_list, 'by_rack'))
assert batches[0] == Hosts(set([
'west-aaa-001.example.com',
'west-aaa-002.example.com'
@@ -84,14 +80,5 @@ def test_rack_grouping():
'east-xyz-004.example.com',
]))
- batches = list(HostMaintenance.iter_batches(example_host_list, 2, 'by_rack'))
- assert batches[0] == Hosts(set(example_host_list))
-
- batches = list(HostMaintenance.iter_batches(example_host_list, 3, 'by_rack'))
- assert batches[0] == Hosts(set(example_host_list))
-
- with pytest.raises(ValueError):
- list(HostMaintenance.iter_batches(example_host_list, 0))
-
finally:
HostMaintenance.GROUPING_FUNCTIONS = old_grouping_functions