summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSandy Walsh <sandy.walsh@rackspace.com>2011-05-27 05:01:42 -0700
committerSandy Walsh <sandy.walsh@rackspace.com>2011-05-27 05:01:42 -0700
commitbd19bd2edd612dfea09e4230c59422e59c6de181 (patch)
treef2b67dab55ccba3bd84da473b0626871da048043
parentcc51542911e4a34df75bd23a4a71a395e906e681 (diff)
downloadnova-bd19bd2edd612dfea09e4230c59422e59c6de181.tar.gz
nova-bd19bd2edd612dfea09e4230c59422e59c6de181.tar.xz
nova-bd19bd2edd612dfea09e4230c59422e59c6de181.zip
fixed docstrings and general tidying
-rw-r--r--nova/compute/api.py39
-rw-r--r--nova/scheduler/host_filter.py41
-rw-r--r--nova/scheduler/zone_aware_scheduler.py33
3 files changed, 67 insertions, 46 deletions
diff --git a/nova/compute/api.py b/nova/compute/api.py
index 7f1fe1b5c..3e5105050 100644
--- a/nova/compute/api.py
+++ b/nova/compute/api.py
@@ -88,10 +88,10 @@ class API(base.Base):
{"method": "get_network_topic", "args": {'fake': 1}})
def _check_injected_file_quota(self, context, injected_files):
- """Enforce quota limits on injected files.
+ """
+ Enforce quota limits on injected files.
Raises a QuotaError if any limit is exceeded.
-
"""
if injected_files is None:
return
@@ -137,10 +137,10 @@ class API(base.Base):
availability_zone=None, user_data=None, metadata={},
injected_files=None,
admin_password=None):
- """Create the number and type of instances requested.
+ """
+ Create the number and type of instances requested.
Verifies that quota and other arguments are valid.
-
"""
if not instance_type:
instance_type = instance_types.get_default_instance_type()
@@ -293,13 +293,13 @@ class API(base.Base):
return False
def ensure_default_security_group(self, context):
- """Ensure that a context has a security group.
+ """
+ Ensure that a context has a security group.
Creates a security group for the security context if it does not
already exist.
:param context: the security context
-
"""
try:
db.security_group_get_by_name(context, context.project_id,
@@ -328,11 +328,11 @@ class API(base.Base):
"args": {"security_group_id": security_group.id}})
def trigger_security_group_members_refresh(self, context, group_id):
- """Called when a security group gains a new or loses a member.
+ """
+ Called when a security group gains a new or loses a member.
Sends an update request to each compute node for whom this is
relevant.
-
"""
# First, we get the security group rules that reference this group as
# the grantee..
@@ -370,7 +370,8 @@ class API(base.Base):
"args": {"security_group_id": group_id}})
def update(self, context, instance_id, **kwargs):
- """Updates the instance in the datastore.
+ """
+ Updates the instance in the datastore.
:param context: The security context
:param instance_id: ID of the instance to update
@@ -379,7 +380,6 @@ class API(base.Base):
updated
:returns: None
-
"""
rv = self.db.instance_update(context, instance_id, kwargs)
return dict(rv.iteritems())
@@ -424,22 +424,22 @@ class API(base.Base):
@scheduler_api.reroute_compute("get")
def routing_get(self, context, instance_id):
- """A version of get with special routing characteristics.
+ """
+ A version of get with special routing characteristics.
Use this method instead of get() if this is the only operation you
intend to to. It will route to novaclient.get if the instance is not
found.
-
"""
return self.get(context, instance_id)
def get_all(self, context, project_id=None, reservation_id=None,
fixed_ip=None):
- """Get all instances filtered by one of the given parameters.
+ """
+ Get all instances filtered by one of the given parameters.
If there is no filter and the context is an admin, it will retreive
all instances in the system.
-
"""
if reservation_id is not None:
return self.db.instance_get_all_by_reservation(
@@ -463,13 +463,13 @@ class API(base.Base):
def _cast_compute_message(self, method, context, instance_id, host=None,
params=None):
- """Generic handler for RPC casts to compute.
+ """
+ Generic handler for RPC casts to compute.
:param params: Optional dictionary of arguments to be passed to the
compute worker
:returns: None
-
"""
if not params:
params = {}
@@ -483,7 +483,8 @@ class API(base.Base):
def _call_compute_message(self, method, context, instance_id, host=None,
params=None):
- """Generic handler for RPC calls to compute.
+ """
+ Generic handler for RPC calls to compute.
:param params: Optional dictionary of arguments to be passed to the
compute worker
@@ -516,10 +517,10 @@ class API(base.Base):
% instance_id)
def snapshot(self, context, instance_id, name):
- """Snapshot the given instance.
+ """
+ Snapshot the given instance.
:returns: A dict containing image metadata
-
"""
properties = {'instance_id': str(instance_id),
'user_id': str(context.user_id)}
diff --git a/nova/scheduler/host_filter.py b/nova/scheduler/host_filter.py
index ed76c90bf..89faace45 100644
--- a/nova/scheduler/host_filter.py
+++ b/nova/scheduler/host_filter.py
@@ -69,9 +69,11 @@ class HostFilter(object):
class AllHostsFilter(HostFilter):
- """NOP host filter. Returns all hosts in ZoneManager.
+ """
+ NOP host filter. Returns all hosts in ZoneManager.
This essentially does what the old Scheduler+Chance used
- to give us."""
+ to give us.
+ """
def instance_type_to_filter(self, instance_type):
"""Return anything to prevent base-class from raising
@@ -133,8 +135,10 @@ class InstanceTypeFilter(HostFilter):
class JsonFilter(HostFilter):
- """Host Filter to allow simple JSON-based grammar for
- selecting hosts."""
+ """
+ Host Filter to allow simple JSON-based grammar for
+ selecting hosts.
+ """
def _equals(self, args):
"""First term is == all the other terms."""
@@ -229,8 +233,10 @@ class JsonFilter(HostFilter):
return (self._full_name(), json.dumps(query))
def _parse_string(self, string, host, services):
- """Strings prefixed with $ are capability lookups in the
- form '$service.capability[.subcap*]'"""
+ """
+ Strings prefixed with $ are capability lookups in the
+ form '$service.capability[.subcap*]'
+ """
if not string:
return None
if string[0] != '$':
@@ -277,22 +283,25 @@ FILTERS = [AllHostsFilter, InstanceTypeFilter, JsonFilter]
def choose_host_filter(filter_name=None):
- """Since the caller may specify which filter to use we need
- to have an authoritative list of what is permissible. This
- function checks the filter name against a predefined set
- of acceptable filters."""
+ """
+ Since the caller may specify which filter to use we need
+ to have an authoritative list of what is permissible. This
+ function checks the filter name against a predefined set
+ of acceptable filters.
+ """
if not filter_name:
filter_name = FLAGS.default_host_filter
for filter_class in FILTERS:
- if "%s.%s" % (filter_class.__module__, filter_class.__name__) == \
- filter_name:
+ host_match = "%s.%s" % (filter_class.__module__, filter_class.__name__)
+ if host_match == filter_name:
return filter_class()
raise exception.SchedulerHostFilterNotFound(filter_name=filter_name)
class HostFilterScheduler(zone_aware_scheduler.ZoneAwareScheduler):
- """The HostFilterScheduler uses the HostFilter to filter
+ """
+ The HostFilterScheduler uses the HostFilter to filter
hosts for weighing. The particular filter used may be passed in
as an argument or the default will be used.
@@ -313,6 +322,8 @@ class HostFilterScheduler(zone_aware_scheduler.ZoneAwareScheduler):
return host_filter.filter_hosts(self.zone_manager, query)
def weigh_hosts(self, num, request_spec, hosts):
- """Derived classes must override this method and return
- a lists of hosts in [{weight, hostname}] format."""
+ """
+ Derived classes must override this method and return
+ a lists of hosts in [{weight, hostname}] format.
+ """
return [dict(weight=1, hostname=host) for host, caps in hosts]
diff --git a/nova/scheduler/zone_aware_scheduler.py b/nova/scheduler/zone_aware_scheduler.py
index dc18fc427..236907626 100644
--- a/nova/scheduler/zone_aware_scheduler.py
+++ b/nova/scheduler/zone_aware_scheduler.py
@@ -40,13 +40,15 @@ class ZoneAwareScheduler(driver.Scheduler):
def schedule_run_instance(self, context, instance_id, request_spec,
*args, **kwargs):
- """This method is called from nova.compute.api to provision
+ """
+ This method is called from nova.compute.api to provision
an instance. However we need to look at the parameters being
passed in to see if this is a request to:
1. Create a Build Plan and then provision, or
2. Use the Build Plan information in the request parameters
to simply create the instance (either in this zone or
- a child zone)."""
+ a child zone).
+ """
# TODO(sandy): We'll have to look for richer specs at some point.
@@ -79,15 +81,16 @@ class ZoneAwareScheduler(driver.Scheduler):
% locals())
else:
# TODO(sandy) Provision in child zone ...
- LOG.warning(_("Provision to Child Zone not supported (yet)")
- % locals())
+ LOG.warning(_("Provision to Child Zone not supported (yet)"))
pass
def select(self, context, request_spec, *args, **kwargs):
- """Select returns a list of weights and zone/host information
+ """
+ Select returns a list of weights and zone/host information
corresponding to the best hosts to service the request. Any
child zone information has been encrypted so as not to reveal
- anything about the children."""
+ anything about the children.
+ """
return self._schedule(context, "compute", request_spec,
*args, **kwargs)
@@ -95,13 +98,15 @@ class ZoneAwareScheduler(driver.Scheduler):
# so we don't implement the default "schedule()" method required
# of Schedulers.
def schedule(self, context, topic, request_spec, *args, **kwargs):
- """The schedule() contract requires we return the one
+ """
+ The schedule() contract requires we return the one
best-suited host for this request.
"""
raise driver.NoValidHost(_('No hosts were available'))
def _schedule(self, context, topic, request_spec, *args, **kwargs):
- """Returns a list of hosts that meet the required specs,
+ """
+ Returns a list of hosts that meet the required specs,
ordered by their fitness.
"""
@@ -137,11 +142,15 @@ class ZoneAwareScheduler(driver.Scheduler):
return weighted
def filter_hosts(self, num, request_spec):
- """Derived classes must override this method and return
- a list of hosts in [(hostname, capability_dict)] format."""
+ """
+ Derived classes must override this method and return
+ a list of hosts in [(hostname, capability_dict)] format.
+ """
raise NotImplemented()
def weigh_hosts(self, num, request_spec, hosts):
- """Derived classes must override this method and return
- a lists of hosts in [{weight, hostname}] format."""
+ """
+ Derived classes must override this method and return
+ a lists of hosts in [{weight, hostname}] format.
+ """
raise NotImplemented()