diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-11-29 19:58:03 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-11-29 19:58:03 +0000 |
| commit | 8fa7f6353df36eae2b3ef9ea68563e3e67f875d2 (patch) | |
| tree | c2e2e16c8a7f9d7e443fe9011e414ac3775b7f2a /nova/scheduler | |
| parent | d16e74ad2a8145e35aeed71e4adf49e9713ee5d4 (diff) | |
| parent | f87c2e8334306cb7ef78b64a4bf5949b73d87617 (diff) | |
Merge "RetryFilter checks 'node' as well as 'host'"
Diffstat (limited to 'nova/scheduler')
| -rw-r--r-- | nova/scheduler/filter_scheduler.py | 15 | ||||
| -rw-r--r-- | nova/scheduler/filters/retry_filter.py | 6 |
2 files changed, 11 insertions, 10 deletions
diff --git a/nova/scheduler/filter_scheduler.py b/nova/scheduler/filter_scheduler.py index 03fd9cd1a..c18daa4cc 100644 --- a/nova/scheduler/filter_scheduler.py +++ b/nova/scheduler/filter_scheduler.py @@ -147,24 +147,25 @@ class FilterScheduler(driver.Scheduler): def _post_select_populate_filter_properties(self, filter_properties, host_state): - """Add additional information to the filter properties after a host has + """Add additional information to the filter properties after a node has been selected by the scheduling process. """ - # Add a retry entry for the selected compute host: - self._add_retry_host(filter_properties, host_state.host) + # Add a retry entry for the selected compute host and node: + self._add_retry_host(filter_properties, host_state.host, + host_state.nodename) self._add_oversubscription_policy(filter_properties, host_state) - def _add_retry_host(self, filter_properties, host): - """Add a retry entry for the selected compute host. In the event that + def _add_retry_host(self, filter_properties, host, node): + """Add a retry entry for the selected compute node. In the event that the request gets re-scheduled, this entry will signal that the given - host has already been tried. + node has already been tried. """ retry = filter_properties.get('retry', None) if not retry: return hosts = retry['hosts'] - hosts.append(host) + hosts.append((host, node)) def _add_oversubscription_policy(self, filter_properties, host_state): filter_properties['limits'] = host_state.limits diff --git a/nova/scheduler/filters/retry_filter.py b/nova/scheduler/filters/retry_filter.py index 6740ec099..108e4d206 100644 --- a/nova/scheduler/filters/retry_filter.py +++ b/nova/scheduler/filters/retry_filter.py @@ -20,12 +20,12 @@ LOG = logging.getLogger(__name__) class RetryFilter(filters.BaseHostFilter): - """Filter out hosts that have already been attempted for scheduling + """Filter out nodes that have already been attempted for scheduling purposes """ def host_passes(self, host_state, filter_properties): - """Skip hosts that have already been attempted""" + """Skip nodes that have already been attempted""" retry = filter_properties.get('retry', None) if not retry: # Re-scheduling is disabled @@ -33,7 +33,7 @@ class RetryFilter(filters.BaseHostFilter): return True hosts = retry.get('hosts', []) - host = host_state.host + host = (host_state.host, host_state.nodename) LOG.debug(_("Previously tried hosts: %(hosts)s. (host=%(host)s)") % locals()) |
