Fix and Gate on E265

pep8 E265 makes sure block comment start with '# '. Fix and gate on this
new rule as it helps improve comment readability.

In the few cases where the comment was just commented out code, remove
the comment.

Change-Id: Iea1c445df8ddc2b6c17a4ab697ad756eef2f91fa
This commit is contained in:
Joe Gordon 2014-06-17 22:34:28 -07:00 committed by Davanum Srinivas
parent 2b5a4923ee
commit 855fe98ef4
91 changed files with 250 additions and 260 deletions

View File

@ -76,7 +76,7 @@ CONF.register_opts(ec2_opts)
CONF.import_opt('use_forwarded_for', 'nova.api.auth')
## Fault Wrapper around all EC2 requests ##
# Fault Wrapper around all EC2 requests
class FaultWrapper(wsgi.Middleware):
"""Calls the middleware stack, captures any exceptions into faults."""

View File

@ -411,7 +411,7 @@ class CloudController(object):
if key_name is not None:
key_pairs = [x for x in key_pairs if x['name'] in key_name]
#If looking for non existent key pair
# If looking for non existent key pair
if key_name is not None and not key_pairs:
msg = _('Could not find key pair(s): %s') % ','.join(key_name)
raise exception.KeypairNotFound(message=msg)

View File

@ -65,7 +65,7 @@ class Server_diagnostics(extensions.ExtensionDescriptor):
def get_resources(self):
parent_def = {'member_name': 'server', 'collection_name': 'servers'}
#NOTE(bcwaldon): This should be prefixed with 'os-'
# NOTE(bcwaldon): This should be prefixed with 'os-'
ext = extensions.ResourceExtension('diagnostics',
ServerDiagnosticsController(),
parent=parent_def)

View File

@ -454,7 +454,7 @@ class ServersController(wsgi.Controller):
# Replace with an extension point when the os-networks
# extension is ported. Currently reworked
# to take into account is_neutron
#if (self.ext_mgr.is_loaded('os-networks')
# if (self.ext_mgr.is_loaded('os-networks')
# or utils.is_neutron()):
# requested_networks = server_dict.get('networks')

View File

@ -692,9 +692,9 @@ class Controller(wsgi.Controller):
"(%s)") % network_uuid
raise exc.HTTPBadRequest(explanation=msg)
#fixed IP address is optional
#if the fixed IP address is not provided then
#it will use one of the available IP address from the network
# fixed IP address is optional
# if the fixed IP address is not provided then
# it will use one of the available IP address from the network
address = network.get('fixed_ip', None)
if address is not None and not utils.is_valid_ip_address(
address):

View File

@ -373,7 +373,7 @@ class XMLDictSerializer(DictSerializer):
self._add_xmlns(node, has_atom)
return node.toxml('UTF-8')
#NOTE (ameade): the has_atom should be removed after all of the
# NOTE (ameade): the has_atom should be removed after all of the
# xml serializers and view builders have been updated to the current
# spec that required all responses include the xmlns:atom, the has_atom
# flag is to prevent current tests from breaking
@ -393,7 +393,7 @@ class XMLDictSerializer(DictSerializer):
if xmlns:
result.setAttribute('xmlns', xmlns)
#TODO(bcwaldon): accomplish this without a type-check
# TODO(bcwaldon): accomplish this without a type-check
if isinstance(data, list):
collections = metadata.get('list_collections', {})
if nodename in collections:
@ -412,7 +412,7 @@ class XMLDictSerializer(DictSerializer):
for item in data:
node = self._to_xml_node(doc, metadata, singular, item)
result.appendChild(node)
#TODO(bcwaldon): accomplish this without a type-check
# TODO(bcwaldon): accomplish this without a type-check
elif isinstance(data, dict):
collections = metadata.get('dict_collections', {})
if nodename in collections:
@ -937,7 +937,7 @@ class Resource(wsgi.Application):
try:
contents = {}
if self._should_have_body(request):
#allow empty body with PUT and POST
# allow empty body with PUT and POST
if request.content_length == 0:
contents = {'body': None}
else:

View File

@ -990,7 +990,7 @@ def safe_minidom_parse_string(xml_string):
return minidom.parseString(xml_string, parser=ProtectedExpatParser())
except (sax.SAXParseException, ValueError,
expat.ExpatError, LookupError) as e:
#NOTE(Vijaya Erukala): XML input such as
# NOTE(Vijaya Erukala): XML input such as
# <?xml version="1.0" encoding="TF-8"?>
# raises LookupError: unknown encoding: TF-8
raise exception.MalformedRequestBody(reason=str(e))

View File

@ -24,7 +24,7 @@ from nova.i18n import _
from nova import wsgi
#default request size is 112k
# default request size is 112k
max_request_body_size_opt = cfg.IntOpt('osapi_max_request_body_size',
default=114688,
help='The maximum body size '

View File

@ -53,7 +53,6 @@ CONF = cfg.CONF
CONF.import_opt('name', 'nova.cells.opts', group='cells')
CONF.import_opt('reserve_percent', 'nova.cells.opts', group='cells')
CONF.import_opt('mute_child_interval', 'nova.cells.opts', group='cells')
#CONF.import_opt('capabilities', 'nova.cells.opts', group='cells')
CONF.register_opts(cell_state_manager_opts, group='cells')

View File

@ -134,7 +134,7 @@ def mkswap(dev, label='swap1'):
def mkfs_ephemeral(dev, label="ephemeral0"):
#TODO(jogo) support non-default mkfs options as well
# TODO(jogo) support non-default mkfs options as well
disk.mkfs("default", label, dev)

View File

@ -614,10 +614,10 @@ class NetworkCommands(object):
admin_context = context.get_admin_context()
network = db.network_get_by_cidr(admin_context, fixed_range)
net = {}
#User can choose the following actions each for project and host.
#1) Associate (set not None value given by project/host parameter)
#2) Disassociate (set None by disassociate parameter)
#3) Keep unchanged (project/host key is not added to 'net')
# User can choose the following actions each for project and host.
# 1) Associate (set not None value given by project/host parameter)
# 2) Disassociate (set None by disassociate parameter)
# 3) Keep unchanged (project/host key is not added to 'net')
if dis_project:
net['project_id'] = None
if dis_host:

View File

@ -1224,7 +1224,7 @@ class API(base.Base):
security_groups)
return instance
#NOTE(bcwaldon): No policy check since this is only used by scheduler and
# NOTE(bcwaldon): No policy check since this is only used by scheduler and
# the compute api. That should probably be cleaned up, though.
def create_db_entry_for_new_instance(self, context, instance_type, image,
instance, security_group, block_device_mapping, num_instances,
@ -1833,7 +1833,7 @@ class API(base.Base):
parameter.
"""
#TODO(bcwaldon): determine the best argument for target here
# TODO(bcwaldon): determine the best argument for target here
target = {
'project_id': context.project_id,
'user_id': context.user_id,
@ -3475,7 +3475,7 @@ class AggregateAPI(base.Base):
aggregate.add_host(context, host_name)
self._update_az_cache_for_host(context, host_name, aggregate.metadata)
#NOTE(jogo): Send message to host to support resource pools
# NOTE(jogo): Send message to host to support resource pools
self.compute_rpcapi.add_aggregate_host(context,
aggregate=aggregate, host_param=host_name, host=host_name)
aggregate_payload.update({'name': aggregate['name']})
@ -3799,7 +3799,7 @@ class SecurityGroupAPI(base.Base, security_group_base.SecurityGroupBase):
instance_uuid = instance['uuid']
#check if the security group is associated with the server
# check if the security group is associated with the server
if self.is_associated_with_server(security_group, instance_uuid):
raise exception.SecurityGroupExistsForInstance(
security_group_id=security_group['id'],
@ -3822,7 +3822,7 @@ class SecurityGroupAPI(base.Base, security_group_base.SecurityGroupBase):
instance_uuid = instance['uuid']
#check if the security group is associated with the server
# check if the security group is associated with the server
if not self.is_associated_with_server(security_group, instance_uuid):
raise exception.SecurityGroupNotExistsForInstance(
security_group_id=security_group['id'],

View File

@ -1088,7 +1088,7 @@ class ComputeManager(manager.Manager):
Currently this is just set in the flags for each compute host.
"""
#TODO(mdragon): perhaps make this variable by console_type?
# TODO(mdragon): perhaps make this variable by console_type?
return '%s.%s' % (CONF.console_topic, CONF.console_host)
def get_console_pool_info(self, context, console_type):
@ -2583,7 +2583,7 @@ class ComputeManager(manager.Manager):
# This instance.exists message should contain the original
# image_ref, not the new one. Since the DB has been updated
# to point to the new one... we have to override it.
#TODO(jaypipes): Move generate_image_url() into the nova.image.api
# TODO(jaypipes): Move generate_image_url() into the nova.image.api
orig_image_ref_url = glance.generate_image_url(orig_image_ref)
extra_usage_info = {'image_ref_url': orig_image_ref_url}
self.conductor_api.notify_usage_exists(context,
@ -5400,9 +5400,9 @@ class ComputeManager(manager.Manager):
'num_vm_instances': num_vm_instances})
for db_instance in db_instances:
#NOTE(melwitt): This must be synchronized as we query state from
# two separate sources, the driver and the database.
# They are set (in stop_instance) and read, in sync.
# NOTE(melwitt): This must be synchronized as we query state from
# two separate sources, the driver and the database.
# They are set (in stop_instance) and read, in sync.
@utils.synchronized(db_instance.uuid)
def query_driver_power_state_and_sync():
self._query_driver_power_state_and_sync(context, db_instance)

View File

@ -42,7 +42,7 @@ LOG = log.getLogger(__name__)
def exception_to_dict(fault):
"""Converts exceptions to a dict for use in notifications."""
#TODO(johngarbutt) move to nova/exception.py to share with wrap_exception
# TODO(johngarbutt) move to nova/exception.py to share with wrap_exception
code = 500
if hasattr(fault, "kwargs"):

View File

@ -571,7 +571,7 @@ class ComputeTaskManager(base.Base):
exception.InstanceNotRunning,
exception.MigrationPreCheckError) as ex:
with excutils.save_and_reraise_exception():
#TODO(johngarbutt) - eventually need instance actions here
# TODO(johngarbutt) - eventually need instance actions here
request_spec = {'instance_properties': {
'uuid': instance['uuid'], },
}

View File

@ -60,8 +60,8 @@ class LiveMigrationTask(object):
else:
self._check_requested_destination()
#TODO(johngarbutt) need to move complexity out of compute manager
#TODO(johngarbutt) disk_over_commit?
# TODO(johngarbutt) need to move complexity out of compute manager
# TODO(johngarbutt) disk_over_commit?
return self.compute_rpcapi.live_migration(self.context,
host=self.source,
instance=self.instance,
@ -70,7 +70,7 @@ class LiveMigrationTask(object):
migrate_data=self.migrate_data)
def rollback(self):
#TODO(johngarbutt) need to implement the clean up operation
# TODO(johngarbutt) need to implement the clean up operation
# but this will make sense only once we pull in the compute
# calls, since this class currently makes no state changes,
# except to call the compute method, that has no matching
@ -141,7 +141,7 @@ class LiveMigrationTask(object):
destination, self.block_migration, self.disk_over_commit)
def _find_destination(self):
#TODO(johngarbutt) this retry loop should be shared
# TODO(johngarbutt) this retry loop should be shared
attempted_hosts = [self.source]
image = None
if self.instance.image_ref:
@ -187,5 +187,5 @@ def execute(context, instance, destination,
destination,
block_migration,
disk_over_commit)
#TODO(johngarbutt) create a superclass that contains a safe_execute call
# TODO(johngarbutt) create a superclass that contains a safe_execute call
return task.execute()

View File

@ -46,11 +46,11 @@ class API(base.Base):
rpcapi.remove_console(context, console['id'])
def create_console(self, context, instance_uuid):
#NOTE(mdragon): If we wanted to return this the console info
# here, as we would need to do a call.
# They can just do an index later to fetch
# console info. I am not sure which is better
# here.
# NOTE(mdragon): If we wanted to return this the console info
# here, as we would need to do a call.
# They can just do an index later to fetch
# console info. I am not sure which is better
# here.
instance = self._get_instance(context, instance_uuid)
topic = self._get_console_topic(context, instance['host'])
server = None

View File

@ -110,9 +110,9 @@ class ConsoleProxyManager(manager.Manager):
self.host,
console_type)
except exception.NotFound:
#NOTE(mdragon): Right now, the only place this info exists is the
# compute worker's flagfile, at least for
# xenserver. Thus we ned to ask.
# NOTE(mdragon): Right now, the only place this info exists is the
# compute worker's flagfile, at least for
# xenserver. Thus we ned to ask.
if CONF.stub_compute:
pool_info = {'address': '127.0.0.1',
'username': 'test',

View File

@ -69,7 +69,7 @@ class XVPConsoleProxy(object):
def get_port(self, context):
"""Get available port for consoles that need one."""
#TODO(mdragon): implement port selection for non multiplex ports,
# TODO(mdragon): implement port selection for non multiplex ports,
# we are not using that, but someone else may want
# it.
return CONF.console_xvp_multiplex_port
@ -131,7 +131,7 @@ class XVPConsoleProxy(object):
try:
os.kill(pid, signal.SIGTERM)
except OSError:
#if it's already not running, no problem.
# if it's already not running, no problem.
pass
def _xvp_start(self):
@ -196,7 +196,7 @@ class XVPConsoleProxy(object):
if is_pool_password:
maxlen = 16
flag = '-x'
#xvp will blow up on passwords that are too long (mdragon)
# xvp will blow up on passwords that are too long (mdragon)
password = password[:maxlen]
out, err = utils.execute('xvp', flag, process_input=password)
if err:

View File

@ -1759,7 +1759,7 @@ def _build_instance_get(context, session=None,
# Already always joined above
continue
query = query.options(joinedload(column))
#NOTE(alaski) Stop lazy loading of columns not needed.
# NOTE(alaski) Stop lazy loading of columns not needed.
for col in ['metadata', 'system_metadata']:
if col not in columns_to_join:
query = query.options(noload(col))
@ -2612,8 +2612,8 @@ def network_get_all_by_uuids(context, network_uuids, project_only):
if not result:
raise exception.NoNetworksFound()
#check if the result contains all the networks
#we are looking for
# check if the result contains all the networks
# we are looking for
for network_uuid in network_uuids:
for network in result:
if network['uuid'] == network_uuid:
@ -5181,7 +5181,7 @@ def aggregate_delete(context, aggregate_id):
if count == 0:
raise exception.AggregateNotFound(aggregate_id=aggregate_id)
#Delete Metadata
# Delete Metadata
model_query(context,
models.AggregateMetadata, session=session).\
filter_by(aggregate_id=aggregate_id).\
@ -5578,7 +5578,7 @@ def task_log_end_task(context, task_name, period_beginning, period_ending,
period_ending, host, session=session).\
update(values)
if rows == 0:
#It's not running!
# It's not running!
raise exception.TaskNotRunning(task_name=task_name, host=host)

View File

@ -537,9 +537,10 @@ class BlockDeviceMapping(BASE, NovaBase):
Index('block_device_mapping_instance_uuid_volume_id_idx',
'instance_uuid', 'volume_id'),
Index('block_device_mapping_instance_uuid_idx', 'instance_uuid'),
#TODO(sshturm) Should be dropped. `virtual_name` was dropped
#in 186 migration,
#Duplicates `block_device_mapping_instance_uuid_device_name_idx` index.
# TODO(sshturm) Should be dropped. `virtual_name` was dropped
# in 186 migration,
# Duplicates `block_device_mapping_instance_uuid_device_name_idx`
# index.
Index("block_device_mapping_instance_uuid_virtual_name"
"_device_name_idx", 'instance_uuid', 'device_name'),
)
@ -569,7 +570,7 @@ class BlockDeviceMapping(BASE, NovaBase):
# With EC2 API,
# default True for ami specified device.
# default False for created with other timing.
#TODO(sshturm) add default in db
# TODO(sshturm) add default in db
delete_on_termination = Column(Boolean, default=False)
snapshot_id = Column(String(36))
@ -735,7 +736,7 @@ class Migration(BASE, NovaBase):
old_instance_type_id = Column(Integer())
new_instance_type_id = Column(Integer())
instance_uuid = Column(String(36), ForeignKey('instances.uuid'))
#TODO(_cerberus_): enum
# TODO(_cerberus_): enum
status = Column(String(255))
instance = relationship("Instance", foreign_keys=instance_uuid,
@ -838,12 +839,12 @@ class FixedIp(BASE, NovaBase):
instance_uuid = Column(String(36), ForeignKey('instances.uuid'))
# associated means that a fixed_ip has its instance_id column set
# allocated means that a fixed_ip has its virtual_interface_id column set
#TODO(sshturm) add default in db
# TODO(sshturm) add default in db
allocated = Column(Boolean, default=False)
# leased means dhcp bridge has leased the ip
#TODO(sshturm) add default in db
# TODO(sshturm) add default in db
leased = Column(Boolean, default=False)
#TODO(sshturm) add default in db
# TODO(sshturm) add default in db
reserved = Column(Boolean, default=False)
host = Column(String(255))
network = relationship(Network,
@ -879,7 +880,7 @@ class FloatingIp(BASE, NovaBase):
project_id = Column(String(255))
host = Column(String(255)) # , ForeignKey('hosts.id'))
auto_assigned = Column(Boolean, default=False)
#TODO(sshturm) add default in db
# TODO(sshturm) add default in db
pool = Column(String(255))
interface = Column(String(255))
fixed_ip = relationship(FixedIp,

View File

@ -46,11 +46,11 @@ class API(object):
:param context: The `nova.context.Context` object for the request
"""
#TODO(jaypipes): Refactor glance.get_remote_image_service and
# glance.get_default_image_service into a single
# method that takes a context and actually respects
# it, returning a real session object that keeps
# the context alive...
# TODO(jaypipes): Refactor glance.get_remote_image_service and
# glance.get_default_image_service into a single
# method that takes a context and actually respects
# it, returning a real session object that keeps
# the context alive...
return glance.get_default_image_service()
def get_all(self, context, **kwargs):

View File

@ -70,7 +70,7 @@ class FileTransfer(xfer_base.TransferBase):
desc_required_keys = ['id', 'mountpoint']
#NOTE(jbresnah) because the group under which these options are added is
# NOTE(jbresnah) because the group under which these options are added is
# dyncamically determined these options need to stay out of global space
# or they will confuse generate_sample.sh
filesystem_opts = [
@ -143,7 +143,7 @@ class FileTransfer(xfer_base.TransferBase):
def download(self, context, url_parts, dst_file, metadata, **kwargs):
self.filesystems = self._get_options()
if not self.filesystems:
#NOTE(jbresnah) when nothing is configured assume legacy behavior
# NOTE(jbresnah) when nothing is configured assume legacy behavior
nova_mountpoint = '/'
glance_mountpoint = '/'
else:

View File

@ -148,7 +148,7 @@ def _create_glance_client(context, host, port, use_ssl, version=1):
params['token'] = context.auth_token
params['identity_headers'] = generate_identity_headers(context)
if utils.is_valid_ipv6(host):
#if so, it is ipv6 address, need to wrap it with '[]'
# if so, it is ipv6 address, need to wrap it with '[]'
host = '[%s]' % host
endpoint = '%s://%s:%s' % (scheme, host, port)
return glanceclient.Client(str(version), endpoint, **params)
@ -250,7 +250,7 @@ class GlanceImageService(object):
def __init__(self, client=None):
self._client = client or GlanceClientWrapper()
#NOTE(jbresnah) build the table of download handlers at the beginning
# NOTE(jbresnah) build the table of download handlers at the beginning
# so that operators can catch errors at load time rather than whenever
# a user attempts to use a module. Note this cannot be done in glance
# space when this python module is loaded because the download module
@ -366,7 +366,7 @@ class GlanceImageService(object):
"""Modify the given image with the new data."""
image_meta = _translate_to_glance(image_meta)
image_meta['purge_props'] = purge_props
#NOTE(bcwaldon): id is not an editable field, but it is likely to be
# NOTE(bcwaldon): id is not an editable field, but it is likely to be
# passed in by calling code. Let's be nice and ignore it.
image_meta.pop('id', None)
if data:
@ -529,7 +529,7 @@ def _convert_to_string(metadata):
def _extract_attributes(image):
#NOTE(hdd): If a key is not found, base.Resource.__getattr__() may perform
# NOTE(hdd): If a key is not found, base.Resource.__getattr__() may perform
# a get(), resulting in a useless request back to glance. This list is
# therefore sorted, with dependent attributes as the end
# 'deleted_at' depends on 'deleted'
@ -552,7 +552,7 @@ def _extract_attributes(image):
# image may not have 'name' attr
elif attr == 'name':
output[attr] = getattr(image, attr, None)
#NOTE(liusheng): queued image may not have these attributes and 'name'
# NOTE(liusheng): queued image may not have these attributes and 'name'
elif queued and attr in queued_exclude_attrs:
output[attr] = getattr(image, attr, None)
else:
@ -624,7 +624,7 @@ def get_remote_image_service(context, image_href):
:returns: a tuple of the form (image_service, image_id)
"""
#NOTE(bcwaldon): If image_href doesn't look like a URI, assume its a
# NOTE(bcwaldon): If image_href doesn't look like a URI, assume its a
# standalone image ID
if '/' not in str(image_href):
image_service = get_default_image_service()

View File

@ -160,7 +160,7 @@ class S3ImageService(object):
return self._translate_uuid_to_id(context, image)
def detail(self, context, **kwargs):
#NOTE(bcwaldon): sort asc to make sure we assign lower ids
# NOTE(bcwaldon): sort asc to make sure we assign lower ids
# to older images
kwargs.setdefault('sort_dir', 'asc')
images = self.service.detail(context, **kwargs)
@ -264,7 +264,7 @@ class S3ImageService(object):
'properties': properties})
metadata['properties']['image_state'] = 'pending'
#TODO(bcwaldon): right now, this removes user-defined ids.
# TODO(bcwaldon): right now, this removes user-defined ids.
# We need to re-enable this.
metadata.pop('id', None)

View File

@ -980,7 +980,7 @@ def get_dhcp_opts(context, network_ref):
vifs = objects.VirtualInterfaceList.get_by_instance_uuid(
context, instance_uuid)
if vifs:
#offer a default gateway to the first virtual interface
# offer a default gateway to the first virtual interface
default_gw_vif[instance_uuid] = vifs[0].id
for fixedip in fixedips:

View File

@ -1372,7 +1372,7 @@ class NetworkManager(manager.Manager):
for vif in vifs:
network = objects.Network.get_by_id(context, vif.network_id)
if not network.multi_host:
#NOTE (tr3buchet): if using multi_host, host is instance[host]
# NOTE (tr3buchet): if using multi_host, host is instance[host]
host = network['host']
if self.host == host or host is None:
# at this point i am the correct host, or host doesn't

View File

@ -50,9 +50,9 @@ class NeutronNovaIPAMLib(object):
'version': 4,
'dns1': n.dns1,
'dns2': n.dns2}
#TODO(tr3buchet): I'm noticing we've assumed here that all dns is v4.
# this is probably bad as there is no way to add v6
# dns to nova
# TODO(tr3buchet): I'm noticing we've assumed here that all dns is v4.
# this is probably bad as there is no way to add v6
# dns to nova
subnet_v6 = {
'network_id': n.uuid,
'cidr': n.cidr_v6,

View File

@ -405,10 +405,10 @@ class Dict(CompoundFieldType):
raise ValueError(_('A dict is required here'))
for key, element in value.items():
if not isinstance(key, six.string_types):
#NOTE(guohliu) In order to keep compatibility with python3
#we need to use six.string_types rather than basestring here,
#since six.string_types is a tuple, so we need to pass the
#real type in.
# NOTE(guohliu) In order to keep compatibility with python3
# we need to use six.string_types rather than basestring here,
# since six.string_types is a tuple, so we need to pass the
# real type in.
raise KeyTypeError(six.string_types[0], key)
value[key] = self._element_type.coerce(
obj, '%s["%s"]' % (attr, key), element)

View File

@ -30,7 +30,7 @@ def getcallargs(function, *args, **kwargs):
keyed_args.update(kwargs)
#NOTE(alaski) the implicit 'self' or 'cls' argument shows up in
# NOTE(alaski) the implicit 'self' or 'cls' argument shows up in
# argnames but not in args or kwargs. Uses 'in' rather than '==' because
# some tests use 'self2'.
if 'self' in argnames[0] or 'cls' == argnames[0]:

View File

@ -149,9 +149,9 @@ class HostState(object):
self.service = ReadOnlyDict(service)
def _update_metrics_from_compute_node(self, compute):
#NOTE(llu): The 'or []' is to avoid json decode failure of None
# returned from compute.get, because DB schema allows
# NULL in the metrics column
# NOTE(llu): The 'or []' is to avoid json decode failure of None
# returned from compute.get, because DB schema allows
# NULL in the metrics column
metrics = compute.get('metrics', []) or []
if metrics:
metrics = jsonutils.loads(metrics)
@ -189,7 +189,7 @@ class HostState(object):
self.disk_mb_used = compute['local_gb_used'] * 1024
#NOTE(jogo) free_ram_mb can be negative
# NOTE(jogo) free_ram_mb can be negative
self.free_ram_mb = compute['free_ram_mb']
self.total_usable_ram_mb = all_ram_mb
self.total_usable_disk_gb = compute['local_gb']

View File

@ -852,7 +852,7 @@ class CinderCloudTestCase(test.TestCase):
self.assertEqual(vol['status'], "in-use")
self.assertEqual(vol['attach_status'], "attached")
#Here we puke...
# Here we puke...
self.cloud.terminate_instances(self.context, [ec2_instance_id])
admin_ctxt = context.get_admin_context(read_deleted="no")
@ -990,7 +990,7 @@ class CinderCloudTestCase(test.TestCase):
self._assert_volume_attached(vol, instance_uuid, mountpoint)
#Just make sure we found them
# Just make sure we found them
self.assertTrue(vol1_id)
self.assertTrue(vol2_id)

View File

@ -106,7 +106,7 @@ class EC2ValidateTestCase(test.TestCase):
super(EC2ValidateTestCase, self).tearDown()
fake.FakeImageService_reset()
#EC2_API tests (InvalidInstanceID.Malformed)
# EC2_API tests (InvalidInstanceID.Malformed)
def test_console_output(self):
for ec2_id, e in self.ec2_id_exception_map:
self.assertRaises(e,
@ -215,7 +215,7 @@ class EC2TimestampValidationTestCase(test.TestCase):
def test_validate_ec2_timestamp_advanced_time(self):
#EC2 request with Timestamp in advanced time
# EC2 request with Timestamp in advanced time
timestamp = timeutils.utcnow() + datetime.timedelta(seconds=250)
params = {'Timestamp': timeutils.strtime(timestamp,
"%Y-%m-%dT%H:%M:%SZ")}
@ -252,14 +252,14 @@ class EC2TimestampValidationTestCase(test.TestCase):
def test_validate_Expires_timestamp_invalid_format(self):
#EC2 request with invalid Expires
# EC2 request with invalid Expires
params = {'Expires': '2011-04-22T11:29:49'}
expired = ec2utils.is_ec2_timestamp_expired(params)
self.assertTrue(expired)
def test_validate_ec2_req_timestamp_Expires(self):
#EC2 request with both Timestamp and Expires
# EC2 request with both Timestamp and Expires
params = {'Timestamp': '2011-04-22T11:29:49Z',
'Expires': timeutils.isotime()}
self.assertRaises(exception.InvalidRequest,

View File

@ -409,7 +409,7 @@ class AggregateTestCase(test.NoDBTestCase):
raise KeyError
self.stubs.Set(self.controller.api, "add_host_to_aggregate",
stub_add_host_to_aggregate)
#NOTE(mtreinish) The check for a KeyError here is to ensure that
# NOTE(mtreinish) The check for a KeyError here is to ensure that
# if add_host_to_aggregate() raises a KeyError it propagates. At
# one point the api code would mask the error as a HTTPBadRequest.
# This test is to ensure that this doesn't occur again.

View File

@ -38,7 +38,7 @@ FAKE_FLAVORS = {
}
#TOD(jogo) dedup these across nova.api.openstack.contrib.test_flavor*
# TODO(jogo) dedup these across nova.api.openstack.contrib.test_flavor*
def fake_flavor_get_by_flavor_id(flavorid, ctxt=None):
return FAKE_FLAVORS['flavor %s' % flavorid]

View File

@ -40,11 +40,11 @@ begin3 = end2 = datetime.datetime(2012, 7, 6, 6, 0, 0)
end3 = datetime.datetime(2012, 7, 7, 6, 0, 0)
#test data
# test data
TEST_LOGS1 = [
#all services done, no errors.
# all services done, no errors.
dict(host="plonk", period_beginning=begin1, period_ending=end1,
state="DONE", errors=0, task_items=23, message="test1"),
dict(host="baz", period_beginning=begin1, period_ending=end1,
@ -57,7 +57,7 @@ TEST_LOGS1 = [
TEST_LOGS2 = [
#some still running...
# some still running...
dict(host="plonk", period_beginning=begin2, period_ending=end2,
state="DONE", errors=0, task_items=23, message="test5"),
dict(host="baz", period_beginning=begin2, period_ending=end2,
@ -70,7 +70,7 @@ TEST_LOGS2 = [
TEST_LOGS3 = [
#some errors..
# some errors..
dict(host="plonk", period_beginning=begin3, period_ending=end3,
state="DONE", errors=0, task_items=23, message="test9"),
dict(host="baz", period_beginning=begin3, period_ending=end3,

View File

@ -45,7 +45,7 @@ class FoxInSocksServerControllerExtension(wsgi.Controller):
class FoxInSocksFlavorGooseControllerExtension(wsgi.Controller):
@wsgi.extends
def show(self, req, resp_obj, id):
#NOTE: This only handles JSON responses.
# NOTE: This only handles JSON responses.
# You can use content type header to test for XML.
resp_obj.obj['flavor']['googoose'] = req.GET.get('chewing')
@ -53,7 +53,7 @@ class FoxInSocksFlavorGooseControllerExtension(wsgi.Controller):
class FoxInSocksFlavorBandsControllerExtension(wsgi.Controller):
@wsgi.extends
def show(self, req, resp_obj, id):
#NOTE: This only handles JSON responses.
# NOTE: This only handles JSON responses.
# You can use content type header to test for XML.
resp_obj.obj['big_bands'] = 'Pig Bands!'

View File

@ -484,9 +484,6 @@ class FlavorDisabledTest(test.TestCase):
super(FlavorDisabledTest, self).setUp()
fakes.stub_out_nw_api(self.stubs)
#def fake_flavor_get_all(*args, **kwargs):
# return FAKE_FLAVORS
#
self.stubs.Set(nova.compute.flavors, "get_all_flavors_sorted_list",
fake_get_all_flavors_sorted_list)
self.stubs.Set(nova.compute.flavors,

View File

@ -515,19 +515,19 @@ class ServerMetaDataTest(BaseTest):
req.method = 'PUT'
req.headers["content-type"] = "application/json"
#test for long key
# test for long key
data = {"metadata": {"a" * 260: "value1"}}
req.body = jsonutils.dumps(data)
self.assertRaises(webob.exc.HTTPRequestEntityTooLarge,
self.controller.update_all, req, self.uuid, data)
#test for long value
# test for long value
data = {"metadata": {"key": "v" * 260}}
req.body = jsonutils.dumps(data)
self.assertRaises(webob.exc.HTTPRequestEntityTooLarge,
self.controller.update_all, req, self.uuid, data)
#test for empty key.
# test for empty key.
data = {"metadata": {"": "value1"}}
req.body = jsonutils.dumps(data)
self.assertRaises(webob.exc.HTTPBadRequest,

View File

@ -2880,7 +2880,7 @@ class ServersViewBuilderTest(test.TestCase):
self.assertNotIn('fault', output['server'])
def test_build_server_detail_active_status(self):
#set the power state of the instance to running
# set the power state of the instance to running
self.instance['vm_state'] = vm_states.ACTIVE
self.instance['progress'] = 100
image_bookmark = "http://localhost:9292/images/5"

View File

@ -79,7 +79,7 @@ class APITest(test.NoDBTestCase):
def raise_webob_exc(req):
raise webob.exc.HTTPNotFound(explanation='Raised a webob.exc')
#api.application = raise_webob_exc
# api.application = raise_webob_exc
api = self._wsgi_app(raise_webob_exc)
resp = webob.Request.blank('/').get_response(api)
self.assertEqual(resp.status_int, 404, resp.body)
@ -90,7 +90,7 @@ class APITest(test.NoDBTestCase):
exc = webob.exc.HTTPNotFound(explanation='Raised a webob.exc')
return wsgi.Fault(exc)
#api.application = raise_api_fault
# api.application = raise_api_fault
api = self._wsgi_app(raise_api_fault)
resp = webob.Request.blank('/').get_response(api)
self.assertIn('itemNotFound', resp.body)
@ -101,7 +101,7 @@ class APITest(test.NoDBTestCase):
def fail(req):
raise Exception("Threw an exception")
#api.application = fail
# api.application = fail
api = self._wsgi_app(fail)
resp = webob.Request.blank('/').get_response(api)
self.assertIn('{"computeFault', resp.body)
@ -112,7 +112,7 @@ class APITest(test.NoDBTestCase):
def fail(req):
raise Exception("Threw an exception")
#api.application = fail
# api.application = fail
api = self._wsgi_app(fail)
resp = webob.Request.blank('/.xml').get_response(api)
self.assertIn('<computeFault', resp.body)

View File

@ -40,7 +40,7 @@ class TestNoAuthMiddleware(test.NoDBTestCase):
"http://localhost/v2/user1_project")
def test_authorize_user_trailing_slash(self):
#make sure it works with trailing slash on the request
# make sure it works with trailing slash on the request
req = webob.Request.blank('/v2/')
req.headers['X-Auth-User'] = 'user1'
req.headers['X-Auth-Key'] = 'user1_key'

View File

@ -938,7 +938,7 @@ class LimitsXMLSerializationTest(test.NoDBTestCase):
root = etree.XML(output)
xmlutil.validate_schema(root, 'limits')
#verify absolute limits
# verify absolute limits
absolutes = root.xpath('ns:absolute/ns:limit', namespaces=NS)
self.assertEqual(len(absolutes), 4)
for limit in absolutes:
@ -946,7 +946,7 @@ class LimitsXMLSerializationTest(test.NoDBTestCase):
value = limit.get('value')
self.assertEqual(value, str(fixture['limits']['absolute'][name]))
#verify rate limits
# verify rate limits
rates = root.xpath('ns:rates/ns:rate', namespaces=NS)
self.assertEqual(len(rates), 2)
for i, rate in enumerate(rates):
@ -972,10 +972,10 @@ class LimitsXMLSerializationTest(test.NoDBTestCase):
root = etree.XML(output)
xmlutil.validate_schema(root, 'limits')
#verify absolute limits
# verify absolute limits
absolutes = root.xpath('ns:absolute/ns:limit', namespaces=NS)
self.assertEqual(len(absolutes), 0)
#verify rate limits
# verify rate limits
rates = root.xpath('ns:rates/ns:rate', namespaces=NS)
self.assertEqual(len(rates), 0)

View File

@ -463,19 +463,19 @@ class ServerMetaDataTest(BaseTest):
req.method = 'POST'
req.headers["content-type"] = "application/json"
#test for long key
# test for long key
data = {"metadata": {"a" * 260: "value1"}}
req.body = jsonutils.dumps(data)
self.assertRaises(webob.exc.HTTPRequestEntityTooLarge,
self.controller.create, req, self.uuid, data)
#test for long value
# test for long value
data = {"metadata": {"key": "v" * 260}}
req.body = jsonutils.dumps(data)
self.assertRaises(webob.exc.HTTPRequestEntityTooLarge,
self.controller.create, req, self.uuid, data)
#test for empty key.
# test for empty key.
data = {"metadata": {"": "value1"}}
req.body = jsonutils.dumps(data)
self.assertRaises(webob.exc.HTTPBadRequest,
@ -508,19 +508,19 @@ class ServerMetaDataTest(BaseTest):
req.body = jsonutils.dumps(data)
req.headers["content-type"] = "application/json"
#test for long key
# test for long key
data = {"metadata": {"a" * 260: "value1"}}
req.body = jsonutils.dumps(data)
self.assertRaises(webob.exc.HTTPRequestEntityTooLarge,
self.controller.update_all, req, self.uuid, data)
#test for long value
# test for long value
data = {"metadata": {"key": "v" * 260}}
req.body = jsonutils.dumps(data)
self.assertRaises(webob.exc.HTTPRequestEntityTooLarge,
self.controller.update_all, req, self.uuid, data)
#test for empty key.
# test for empty key.
data = {"metadata": {"": "value1"}}
req.body = jsonutils.dumps(data)
self.assertRaises(webob.exc.HTTPBadRequest,

View File

@ -4241,7 +4241,7 @@ class ServersViewBuilderTest(test.TestCase):
self.assertNotIn('fault', output['server'])
def test_build_server_detail_active_status(self):
#set the power state of the instance to running
# set the power state of the instance to running
self.instance['vm_state'] = vm_states.ACTIVE
self.instance['progress'] = 100

View File

@ -41,7 +41,7 @@ class TestNoAuthMiddlewareV3(test.NoDBTestCase):
"http://localhost/v3")
def test_authorize_user_trailing_slash(self):
#make sure it works with trailing slash on the request
# make sure it works with trailing slash on the request
req = webob.Request.blank('/v3/')
req.headers['X-Auth-User'] = 'user1'
req.headers['X-Auth-Key'] = 'user1_key'

View File

@ -421,7 +421,7 @@ class ResourceTest(test.NoDBTestCase):
expected_body = None
response = req.get_response(app)
self.assertEqual(response.status_int, 200)
#verify no content_type is contained in the request
# verify no content_type is contained in the request
req.content_type = None
req.body = '{"body": {"key": "value"}}'
response = req.get_response(app)

View File

@ -1528,7 +1528,7 @@ class ComputeTestCase(BaseTestCase):
params = {'vm_state': vm_states.ERROR,
'task_state': task_states.SCHEDULING}
self._create_fake_instance(params=params)
#check state is failed even after the periodic poll
# check state is failed even after the periodic poll
self.compute.periodic_tasks(context.get_admin_context())
self._assert_state({'vm_state': vm_states.ERROR,
'task_state': task_states.SCHEDULING})
@ -1550,7 +1550,7 @@ class ComputeTestCase(BaseTestCase):
injected_files=None, admin_password=None,
is_first_time=True, node=None,
legacy_bdm_in_spec=False)
#check state is failed even after the periodic poll
# check state is failed even after the periodic poll
self._assert_state({'vm_state': vm_states.ERROR,
'task_state': None})
self.compute.periodic_tasks(context.get_admin_context())
@ -1573,7 +1573,7 @@ class ComputeTestCase(BaseTestCase):
injected_files=None, admin_password=None,
is_first_time=True, node=None,
legacy_bdm_in_spec=False)
#check state is failed even after the periodic poll
# check state is failed even after the periodic poll
self._assert_state({'vm_state': vm_states.ERROR,
'task_state': None})
self.compute.periodic_tasks(context.get_admin_context())
@ -1597,7 +1597,7 @@ class ComputeTestCase(BaseTestCase):
injected_files=None, admin_password=None,
is_first_time=True, node=None,
legacy_bdm_in_spec=False)
#check state is failed even after the periodic poll
# check state is failed even after the periodic poll
self._assert_state({'vm_state': vm_states.ERROR,
'task_state': None})
self.compute.periodic_tasks(context.get_admin_context())
@ -1669,7 +1669,7 @@ class ComputeTestCase(BaseTestCase):
def test_can_terminate_on_error_state(self):
# Make sure that the instance can be terminated in ERROR state.
#check failed to schedule --> terminate
# check failed to schedule --> terminate
params = {'vm_state': vm_states.ERROR}
instance = self._create_fake_instance_obj(params=params)
self.compute.terminate_instance(self.context, instance, [], [])
@ -4725,7 +4725,7 @@ class ComputeTestCase(BaseTestCase):
self.context.elevated(),
instance.uuid, 'pre-migrating')
#verify
# verify
self.assertRaises(test.TestingException, self.compute.resize_instance,
self.context, instance=instance,
migration=migration, image={},
@ -6175,7 +6175,7 @@ class ComputeTestCase(BaseTestCase):
instance.update(filters)
old_instances.append(fake_instance.fake_db_instance(**instance))
#not expired
# not expired
instances = list(old_instances) # copy the contents of old_instances
new_instance = {
'uuid': str(uuid.uuid4()),
@ -10640,7 +10640,7 @@ class EvacuateHostTestCase(BaseTestCase):
"""Confirm evacuate scenario updates vm_state to stopped
if instance is in stopped state
"""
#Initialize the VM to stopped state
# Initialize the VM to stopped state
db.instance_update(self.context, self.inst_ref['uuid'],
{"vm_state": vm_states.STOPPED})
self.inst_ref['vm_state'] = vm_states.STOPPED
@ -10650,7 +10650,7 @@ class EvacuateHostTestCase(BaseTestCase):
self._rebuild()
#Check the vm state is reset to stopped
# Check the vm state is reset to stopped
instance = db.instance_get(self.context, self.inst_ref['id'])
self.assertEqual(instance['vm_state'], vm_states.STOPPED)

View File

@ -47,8 +47,6 @@ class ConsoleTestCase(test.TestCase):
def _create_instance(self):
"""Create a test instance."""
inst = {}
#inst['host'] = self.host
#inst['name'] = 'instance-1234'
inst['image_id'] = 1
inst['reservation_id'] = 'r-fakeres'
inst['user_id'] = self.user_id

View File

@ -332,7 +332,7 @@ class AggregateDBApiTestCase(test.TestCase):
matchers.DictMatches(_get_fake_aggr_metadata()))
def test_aggregate_create_delete_create_with_metadata(self):
#test for bug 1052479
# test for bug 1052479
ctxt = context.get_admin_context()
result = _create_aggregate(context=ctxt)
expected_metadata = db.aggregate_metadata_get(ctxt, result['id'])
@ -1635,29 +1635,29 @@ class InstanceTestCase(test.TestCase, ModelsObjectComparatorMixin):
instance = self.create_instance_with_args(
metadata={'foo': 'bar'})
self.create_instance_with_args()
#For format 'tag-'
# For format 'tag-'
result = db.instance_get_all_by_filters(
self.ctxt, {'filter': [
{'name': 'tag-key', 'value': 'foo'},
{'name': 'tag-value', 'value': 'bar'},
]})
self._assertEqualListsOfInstances([instance], result)
#For format 'tag:'
# For format 'tag:'
result = db.instance_get_all_by_filters(
self.ctxt, {'filter': [
{'name': 'tag:foo', 'value': 'bar'},
]})
self._assertEqualListsOfInstances([instance], result)
#For non-existent tag
# For non-existent tag
result = db.instance_get_all_by_filters(
self.ctxt, {'filter': [
{'name': 'tag:foo', 'value': 'barred'},
]})
self.assertEqual([], result)
#Confirm with deleted tags
# Confirm with deleted tags
db.instance_metadata_delete(self.ctxt, instance['uuid'], 'foo')
#For format 'tag-'
# For format 'tag-'
result = db.instance_get_all_by_filters(
self.ctxt, {'filter': [
{'name': 'tag-key', 'value': 'foo'},
@ -1668,7 +1668,7 @@ class InstanceTestCase(test.TestCase, ModelsObjectComparatorMixin):
{'name': 'tag-value', 'value': 'bar'}
]})
self.assertEqual([], result)
#For format 'tag:'
# For format 'tag:'
result = db.instance_get_all_by_filters(
self.ctxt, {'filter': [
{'name': 'tag:foo', 'value': 'bar'},
@ -2784,10 +2784,10 @@ class InstanceTypeTestCase(BaseInstanceTypeTestCase):
real_it = db.flavor_get_all(self.ctxt, filters=filters)
self._assertEqualListsOfObjects(expected_it, real_it)
#no filter
# no filter
assert_multi_filter_flavor_get()
#test only with one filter
# test only with one filter
for filt in mem_filts:
assert_multi_filter_flavor_get(filt)
for filt in root_filts:
@ -2797,7 +2797,7 @@ class InstanceTypeTestCase(BaseInstanceTypeTestCase):
for filt in is_public_filts:
assert_multi_filter_flavor_get(filt)
#test all filters together
# test all filters together
for mem in mem_filts:
for root in root_filts:
for disabled in disabled_filts:

View File

@ -90,7 +90,7 @@ class TestMigrationUtils(test_migrations.BaseMigrationTestCase):
Column('c', String(256)))
table.create()
#check missing shadow table
# check missing shadow table
self.assertRaises(NoSuchTableError,
utils.check_shadow_table, engine, table_name)

View File

@ -32,12 +32,12 @@ class StubGlanceClient(object):
_images = images or []
map(lambda image: self.create(**image), _images)
#NOTE(bcwaldon): HACK to get client.images.* to work
# NOTE(bcwaldon): HACK to get client.images.* to work
self.images = lambda: None
for fn in ('list', 'get', 'data', 'create', 'update', 'delete'):
setattr(self.images, fn, getattr(self, fn))
#TODO(bcwaldon): implement filters
# TODO(bcwaldon): implement filters
def list(self, filters=None, marker=None, limit=30, page_size=20):
if marker is None:
index = 0

View File

@ -154,7 +154,7 @@ class _FakeImageService(object):
self._imagedata = {}
super(_FakeImageService, self).__init__()
#TODO(bcwaldon): implement optional kwargs such as limit, sort_dir
# TODO(bcwaldon): implement optional kwargs such as limit, sort_dir
def detail(self, context, **kwargs):
"""Return list of detailed image information."""
return copy.deepcopy(self.images.values())

View File

@ -264,7 +264,7 @@ class TestGlanceImageService(test.NoDBTestCase):
self.flags(allowed_direct_url_schemes=['file'], group='glance')
self.flags(group='image_file_url', filesystems=['gluster'])
service = self._create_image_service(client)
#NOTE(Jbresnah) The following options must be added after the module
# NOTE(Jbresnah) The following options must be added after the module
# has added the specific groups.
self.flags(group='image_file_url:gluster', id=fs_id)
self.flags(group='image_file_url:gluster', mountpoint=mountpoint)
@ -304,7 +304,7 @@ class TestGlanceImageService(test.NoDBTestCase):
self.flags(allowed_direct_url_schemes=['file'], group='glance')
self.flags(group='image_file_url', filesystems=['gluster'])
service = self._create_image_service(client)
#NOTE(Jbresnah) The following options must be added after the module
# NOTE(Jbresnah) The following options must be added after the module
# has added the specific groups.
self.flags(group='image_file_url:gluster', id='someotherid')
self.flags(group='image_file_url:gluster', mountpoint=mountpoint)

View File

@ -282,7 +282,7 @@ class ServersTest(integrated_helpers._IntegratedTestBase):
LOG.debug("Found_server=%s" % found_server)
# TODO(justinsb): Mock doesn't yet do accurate state changes
#if found_server['status'] != 'deleting':
# if found_server['status'] != 'deleting':
# break
time.sleep(.1)

View File

@ -39,10 +39,10 @@ from nova import utils
CONF = cfg.CONF
#NOTE: Neutron client raises Exception which is discouraged by HACKING.
# We set this variable here and use it for assertions below to avoid
# the hacking checks until we can make neutron client throw a custom
# exception class instead.
# NOTE: Neutron client raises Exception which is discouraged by HACKING.
# We set this variable here and use it for assertions below to avoid
# the hacking checks until we can make neutron client throw a custom
# exception class instead.
NEUTRON_CLIENT_EXCEPTION = Exception
@ -2525,7 +2525,7 @@ class TestNeutronClientForAdminScenarios(test.TestCase):
client.Client.__init__(**kwargs).WithSideEffects(client_mock)
self.mox.ReplayAll()
#clean global
# clean global
token_store = neutronv2.AdminTokenStore.get()
token_store.admin_auth_token = None
if admin_context:

View File

@ -89,7 +89,7 @@ class _TestComputeNodeObject(object):
compute = compute_node.ComputeNode()
compute.service_id = 456
compute.stats = fake_stats
#NOTE (pmurray): host_ip is coerced to an IPAddress
# NOTE (pmurray): host_ip is coerced to an IPAddress
compute.host_ip = fake_host_ip
compute.create(self.context)
self.compare_obj(compute, fake_compute_node,
@ -121,7 +121,7 @@ class _TestComputeNodeObject(object):
compute.id = 123
compute.vcpus_used = 3
compute.stats = fake_stats
#NOTE (pmurray): host_ip is coerced to an IPAddress
# NOTE (pmurray): host_ip is coerced to an IPAddress
compute.host_ip = fake_host_ip
compute.save(self.context)
self.compare_obj(compute, fake_compute_node,

View File

@ -302,7 +302,7 @@ class _BaseTestCase(test.TestCase):
def json_comparator(self, expected, obj_val):
# json-ify an object field for comparison with its db str
#equivalent
# equivalent
self.assertEqual(expected, jsonutils.dumps(obj_val))
def str_comparator(self, expected, obj_val):

View File

@ -464,15 +464,15 @@ class HostFiltersTestCase(test.NoDBTestCase):
service = {'disabled': False}
host = fakes.FakeHostState('fake_host', 'fake_node',
{'service': service})
#True since empty
# True since empty
self.assertTrue(filt_cls.host_passes(host, filter_properties))
fakes.FakeInstance(context=self.context,
params={'host': 'fake_host', 'instance_type_id': 1})
#True since same type
# True since same type
self.assertTrue(filt_cls.host_passes(host, filter_properties))
#False since different type
# False since different type
self.assertFalse(filt_cls.host_passes(host, filter2_properties))
#False since node not homogeneous
# False since node not homogeneous
fakes.FakeInstance(context=self.context,
params={'host': 'fake_host', 'instance_type_id': 2})
self.assertFalse(filt_cls.host_passes(host, filter_properties))
@ -488,13 +488,13 @@ class HostFiltersTestCase(test.NoDBTestCase):
service = {'disabled': False}
host = fakes.FakeHostState('fake_host', 'fake_node',
{'service': service})
#True since no aggregates
# True since no aggregates
self.assertTrue(filt_cls.host_passes(host, filter_properties))
#True since type matches aggregate, metadata
# True since type matches aggregate, metadata
self._create_aggregate_with_host(name='fake_aggregate',
hosts=['fake_host'], metadata={'instance_type': 'fake1'})
self.assertTrue(filt_cls.host_passes(host, filter_properties))
#False since type matches aggregate, metadata
# False since type matches aggregate, metadata
self.assertFalse(filt_cls.host_passes(host, filter2_properties))
def test_ram_filter_fails_on_memory(self):

View File

@ -24,7 +24,7 @@ class GetCallArgsTestCase(test.NoDBTestCase):
args = ()
kwargs = {'instance': {'uuid': 1}, 'red': 3, 'blue': 4}
callargs = safe_utils.getcallargs(self._test_func, *args, **kwargs)
#implicit self counts as an arg
# implicit self counts as an arg
self.assertEqual(4, len(callargs))
self.assertIn('instance', callargs)
self.assertEqual({'uuid': 1}, callargs['instance'])
@ -37,7 +37,7 @@ class GetCallArgsTestCase(test.NoDBTestCase):
args = ({'uuid': 1}, 3, 4)
kwargs = {}
callargs = safe_utils.getcallargs(self._test_func, *args, **kwargs)
#implicit self counts as an arg
# implicit self counts as an arg
self.assertEqual(4, len(callargs))
self.assertIn('instance', callargs)
self.assertEqual({'uuid': 1}, callargs['instance'])
@ -50,7 +50,7 @@ class GetCallArgsTestCase(test.NoDBTestCase):
args = ({'uuid': 1}, 3)
kwargs = {'blue': 4}
callargs = safe_utils.getcallargs(self._test_func, *args, **kwargs)
#implicit self counts as an arg
# implicit self counts as an arg
self.assertEqual(4, len(callargs))
self.assertIn('instance', callargs)
self.assertEqual({'uuid': 1}, callargs['instance'])
@ -63,7 +63,7 @@ class GetCallArgsTestCase(test.NoDBTestCase):
args = ()
kwargs = {'instance': {'uuid': 1}, 'red': 3}
callargs = safe_utils.getcallargs(self._test_func, *args, **kwargs)
#implicit self counts as an arg
# implicit self counts as an arg
self.assertEqual(4, len(callargs))
self.assertIn('instance', callargs)
self.assertEqual({'uuid': 1}, callargs['instance'])
@ -76,7 +76,7 @@ class GetCallArgsTestCase(test.NoDBTestCase):
args = ({'uuid': 1}, 3)
kwargs = {}
callargs = safe_utils.getcallargs(self._test_func, *args, **kwargs)
#implicit self counts as an arg
# implicit self counts as an arg
self.assertEqual(4, len(callargs))
self.assertIn('instance', callargs)
self.assertEqual({'uuid': 1}, callargs['instance'])

View File

@ -381,7 +381,7 @@ class AuditPeriodTest(test.NoDBTestCase):
def setUp(self):
super(AuditPeriodTest, self).setUp()
#a fairly random time to test with
# a fairly random time to test with
self.test_time = datetime.datetime(second=23,
minute=12,
hour=8,

View File

@ -53,7 +53,7 @@ class Backend(object):
return FakeImage(instance, name)
def snapshot(self, path, image_type=''):
#NOTE(bfilippov): this is done in favor for
# NOTE(bfilippov): this is done in favor for
# snapshot tests in test_libvirt.LibvirtConnTestCase
return imagebackend.Backend(True).snapshot(path, image_type)

View File

@ -4476,7 +4476,7 @@ class LibvirtConnTestCase(test.TestCase,
self.compute._rollback_live_migration(self.context, instance_ref,
'dest', False)
#start test
# start test
migrate_data = {'pre_live_migration_result':
{'graphics_listen_addrs':
{'vnc': '10.0.0.1', 'spice': '10.0.0.2'}}}
@ -4518,7 +4518,7 @@ class LibvirtConnTestCase(test.TestCase,
self.compute._rollback_live_migration(self.context, instance_ref,
'dest', False)
#start test
# start test
migrate_data = {'pre_live_migration_result':
{'graphics_listen_addrs':
{'vnc': '0.0.0.0', 'spice': '0.0.0.0'}}}
@ -4559,7 +4559,7 @@ class LibvirtConnTestCase(test.TestCase,
self.compute._rollback_live_migration(self.context, instance_ref,
'dest', False)
#start test
# start test
migrate_data = {}
self.mox.ReplayAll()
conn = libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)
@ -4595,7 +4595,7 @@ class LibvirtConnTestCase(test.TestCase,
self.compute._rollback_live_migration(self.context, instance_ref,
'dest', False)
#start test
# start test
migrate_data = {'pre_live_migration_result':
{'graphics_listen_addrs':
{'vnc': '1.2.3.4', 'spice': '1.2.3.4'}}}
@ -4650,7 +4650,7 @@ class LibvirtConnTestCase(test.TestCase,
self.compute._rollback_live_migration(self.context, instance_ref,
'dest', False)
#start test
# start test
migrate_data = {'pre_live_migration_result':
{'graphics_listen_addrs':
{'vnc': '127.0.0.1', 'spice': '127.0.0.1'}}}

View File

@ -44,7 +44,7 @@ def stubout_instance_snapshot(stubs):
stubs.Set(vm_utils, '_fetch_image', fake_fetch_image)
def fake_wait_for_vhd_coalesce(*args):
#TODO(sirp): Should we actually fake out the data here
# TODO(sirp): Should we actually fake out the data here
return "fakeparent", "fakebase"
stubs.Set(vm_utils, '_wait_for_vhd_coalesce', fake_wait_for_vhd_coalesce)

View File

@ -1165,7 +1165,7 @@ iface eth0 inet6 static
def fake_resetnetwork(self, method, args):
fake_resetnetwork.called = True
#NOTE(johngarbutt): as returned by FreeBSD and Gentoo
# NOTE(johngarbutt): as returned by FreeBSD and Gentoo
return jsonutils.dumps({'returncode': '500',
'message': 'success'})
self.stubs.Set(stubs.FakeSessionForVMTests,
@ -2741,7 +2741,7 @@ class XenAPIDom0IptablesFirewallTestCase(stubs.XenAPITestBase):
'from_port': 200,
'to_port': 299,
'cidr': '192.168.99.0/24'})
#validate the extra rule
# validate the extra rule
self.fw.refresh_security_group_rules(secgroup)
regex = re.compile('\[0\:0\] -A .* -j ACCEPT -p udp --dport 200:299'
' -s 192.168.99.0/24')

View File

@ -825,7 +825,7 @@ def mkfs(fs, path, label=None, run_as_root=False):
args = ['mkswap']
else:
args = ['mkfs', '-t', fs]
#add -F to force no interactive execute on non-block device.
# add -F to force no interactive execute on non-block device.
if fs in ('ext3', 'ext4', 'ntfs'):
args.extend(['-F'])
if label:

View File

@ -41,7 +41,6 @@ def upgrade(migrate_engine):
Column('prov_vlan_id', Integer),
Column('terminal_port', Integer),
mysql_engine='InnoDB',
#mysql_charset='utf8'
)
bm_interfaces = Table('bm_interfaces', meta,
@ -56,7 +55,6 @@ def upgrade(migrate_engine):
Column('port_no', Integer),
Column('vif_uuid', String(length=36), unique=True),
mysql_engine='InnoDB',
#mysql_charset='utf8'
)
bm_pxe_ips = Table('bm_pxe_ips', meta,
@ -69,7 +67,6 @@ def upgrade(migrate_engine):
Column('bm_node_id', Integer),
Column('server_address', String(length=255), unique=True),
mysql_engine='InnoDB',
#mysql_charset='utf8'
)
bm_deployments = Table('bm_deployments', meta,
@ -85,7 +82,6 @@ def upgrade(migrate_engine):
Column('root_mb', Integer),
Column('swap_mb', Integer),
mysql_engine='InnoDB',
#mysql_charset='utf8'
)
bm_nodes.create()

View File

@ -1145,7 +1145,7 @@ class ComputeDriver(object):
def add_to_aggregate(self, context, aggregate, host, **kwargs):
"""Add a compute host to an aggregate."""
#NOTE(jogo) Currently only used for XenAPI-Pool
# NOTE(jogo) Currently only used for XenAPI-Pool
raise NotImplementedError()
def remove_from_aggregate(self, context, aggregate, host, **kwargs):

View File

@ -344,7 +344,7 @@ class IptablesFirewallDriver(FirewallDriver):
# Set up rules to allow traffic to/from DHCP server
self._do_dhcp_rules(ipv4_rules, network_info)
#Allow project network traffic
# Allow project network traffic
if CONF.allow_same_net_traffic:
self._do_project_network_rules(ipv4_rules, ipv6_rules,
network_info)

View File

@ -181,7 +181,6 @@ class LiveMigrationUtils(object):
for sasd in sasds:
if (sasd.ResourceType == 31 and sasd.ResourceSubType ==
"Microsoft:Hyper-V:Virtual Hard Disk"):
#sasd.PoolId = ""
new_resource_setting_data.append(sasd.GetText_(1))
return new_resource_setting_data

View File

@ -48,7 +48,7 @@ class NetworkUtils(object):
def create_vswitch_port(self, vswitch_path, port_name):
switch_svc = self._conn.Msvm_VirtualSwitchManagementService()[0]
#Create a port on the vswitch.
# Create a port on the vswitch.
(new_port, ret_val) = switch_svc.CreateSwitchPort(
Name=str(uuid.uuid4()),
FriendlyName=port_name,

View File

@ -78,5 +78,5 @@ class HyperVNovaNetworkVIFDriver(HyperVBaseVIFDriver):
self._vmutils.set_nic_connection(vm_name, vif['id'], vswitch_data)
def unplug(self, instance, vif):
#TODO(alepilotti) Not implemented
# TODO(alepilotti) Not implemented
pass

View File

@ -363,7 +363,7 @@ class VMOps(object):
try:
if self._vmutils.vm_exists(instance_name):
#Stop the VM first.
# Stop the VM first.
self.power_off(instance)
storage = self._vmutils.get_vm_storage_paths(instance_name)

View File

@ -111,7 +111,7 @@ class VMUtils(object):
wmi_association_class=self._SETTINGS_DEFINE_STATE_CLASS,
wmi_result_class=self._VIRTUAL_SYSTEM_SETTING_DATA_CLASS)
settings_paths = [v.path_() for v in vmsettings]
#See http://msdn.microsoft.com/en-us/library/cc160706%28VS.85%29.aspx
# See http://msdn.microsoft.com/en-us/library/cc160706%28VS.85%29.aspx
(ret_val, summary_info) = vs_man_svc.GetSummaryInformation(
[constants.VM_SUMMARY_NUM_PROCS,
constants.VM_SUMMARY_ENABLED_STATE,
@ -309,10 +309,10 @@ class VMUtils(object):
drive = self._get_new_resource_setting_data(res_sub_type)
#Set the IDE ctrller as parent.
# Set the IDE ctrller as parent.
drive.Parent = ctrller_path
drive.Address = drive_addr
#Add the cloned disk drive object to the vm.
# Add the cloned disk drive object to the vm.
new_resources = self._add_virt_resource(drive, vm.path_())
drive_path = new_resources[0]
@ -322,11 +322,11 @@ class VMUtils(object):
res_sub_type = self._IDE_DVD_RES_SUB_TYPE
res = self._get_new_resource_setting_data(res_sub_type)
#Set the new drive as the parent.
# Set the new drive as the parent.
res.Parent = drive_path
res.Connection = [path]
#Add the new vhd object as a virtual hard disk to the vm.
# Add the new vhd object as a virtual hard disk to the vm.
self._add_virt_resource(res, vm.path_())
def create_scsi_controller(self, vm_name):
@ -366,17 +366,17 @@ class VMUtils(object):
def create_nic(self, vm_name, nic_name, mac_address):
"""Create a (synthetic) nic and attach it to the vm."""
#Create a new nic
# Create a new nic
new_nic_data = self._get_new_setting_data(
self._SYNTHETIC_ETHERNET_PORT_SETTING_DATA_CLASS)
#Configure the nic
# Configure the nic
new_nic_data.ElementName = nic_name
new_nic_data.Address = mac_address.replace(':', '')
new_nic_data.StaticMacAddress = 'True'
new_nic_data.VirtualSystemIdentifiers = ['{' + str(uuid.uuid4()) + '}']
#Add the new nic to the vm
# Add the new nic to the vm
vm = self._lookup_vm_check(vm_name)
self._add_virt_resource(new_nic_data, vm.path_())
@ -386,8 +386,8 @@ class VMUtils(object):
vm = self._lookup_vm_check(vm_name)
(job_path,
ret_val) = vm.RequestStateChange(self._vm_power_states_map[req_state])
#Invalid state for current operation (32775) typically means that
#the VM is already in the state requested
# Invalid state for current operation (32775) typically means that
# the VM is already in the state requested
self.check_ret_val(ret_val, job_path, [0, 32775])
LOG.debug("Successfully changed vm state of %(vm_name)s "
"to %(req_state)s",
@ -430,7 +430,7 @@ class VMUtils(object):
vm = self._lookup_vm_check(vm_name)
vs_man_svc = self._conn.Msvm_VirtualSystemManagementService()[0]
#Remove the VM. Does not destroy disks.
# Remove the VM. Does not destroy disks.
(job_path, ret_val) = vs_man_svc.DestroyVirtualSystem(vm.path_())
self.check_ret_val(ret_val, job_path)

View File

@ -104,11 +104,11 @@ class VMUtilsV2(vmutils.VMUtils):
drive = self._get_new_resource_setting_data(res_sub_type)
#Set the IDE ctrller as parent.
# Set the IDE ctrller as parent.
drive.Parent = ctrller_path
drive.Address = drive_addr
drive.AddressOnParent = drive_addr
#Add the cloned disk drive object to the vm.
# Add the cloned disk drive object to the vm.
new_resources = self._add_virt_resource(drive, vm.path_())
drive_path = new_resources[0]
@ -157,7 +157,7 @@ class VMUtilsV2(vmutils.VMUtils):
vm = self._lookup_vm_check(vm_name)
vs_man_svc = self._conn.Msvm_VirtualSystemManagementService()[0]
#Remove the VM. It does not destroy any associated virtual disk.
# Remove the VM. It does not destroy any associated virtual disk.
(job_path, ret_val) = vs_man_svc.DestroySystem(vm.path_())
self.check_ret_val(ret_val, job_path)

View File

@ -123,18 +123,18 @@ class VolumeOps(object):
target_lun = data['target_lun']
target_iqn = data['target_iqn']
#Getting the mounted disk
# Getting the mounted disk
mounted_disk_path = self._get_mounted_disk_from_lun(target_iqn,
target_lun)
if ebs_root:
#Find the IDE controller for the vm.
# Find the IDE controller for the vm.
ctrller_path = self._vmutils.get_vm_ide_controller(
instance_name, 0)
#Attaching to the first slot
# Attaching to the first slot
slot = 0
else:
#Find the SCSI controller for the vm
# Find the SCSI controller for the vm
ctrller_path = self._vmutils.get_vm_scsi_controller(
instance_name)
slot = self._get_free_controller_slot(ctrller_path)
@ -179,7 +179,7 @@ class VolumeOps(object):
target_lun = data['target_lun']
target_iqn = data['target_iqn']
#Getting the mounted disk
# Getting the mounted disk
mounted_disk_path = self._get_mounted_disk_from_lun(target_iqn,
target_lun)
@ -224,7 +224,7 @@ class VolumeOps(object):
LOG.debug('Device number: %(device_number)s, '
'target lun: %(target_lun)s',
{'device_number': device_number, 'target_lun': target_lun})
#Finding Mounted disk drive
# Finding Mounted disk drive
for i in range(0, CONF.hyperv.volume_attach_retry_count):
mounted_disk_path = self._vmutils.get_mounted_disk_by_drive_number(
device_number)
@ -238,10 +238,10 @@ class VolumeOps(object):
return mounted_disk_path
def disconnect_volume(self, physical_drive_path):
#Get the session_id of the ISCSI connection
# Get the session_id of the ISCSI connection
session_id = self._volutils.get_session_id_from_mounted_disk(
physical_drive_path)
#Logging out the target
# Logging out the target
self._volutils.execute_log_out(session_id)
def get_target_from_disk_path(self, physical_drive_path):

View File

@ -64,7 +64,7 @@ class VolumeUtils(basevolumeutils.BaseVolumeUtils):
self.execute('iscsicli.exe', 'RefreshTargetPortal',
target_address, target_port)
else:
#Adding target portal to iscsi initiator. Sending targets
# Adding target portal to iscsi initiator. Sending targets
self.execute('iscsicli.exe', 'AddTargetPortal',
target_address, target_port,
'*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*',
@ -74,7 +74,7 @@ class VolumeUtils(basevolumeutils.BaseVolumeUtils):
"""Ensure that the target is logged in."""
self._login_target_portal(target_portal)
#Listing targets
# Listing targets
self.execute('iscsicli.exe', 'ListTargets')
retry_count = CONF.hyperv.volume_attach_retry_count

View File

@ -1086,7 +1086,7 @@ class LibvirtDriver(driver.ComputeDriver):
if destroy_disks:
self._cleanup_lvm(instance)
#NOTE(haomai): destroy volumes if needed
# NOTE(haomai): destroy volumes if needed
if CONF.libvirt.images_type == 'rbd':
self._cleanup_rbd(instance)
@ -1932,7 +1932,7 @@ class LibvirtDriver(driver.ComputeDriver):
except exception.InstanceNotFound:
raise exception.InstanceNotRunning(instance_id=instance.uuid)
##### Find dev name
# Find dev name
my_dev = None
xml = virt_dom.XMLDesc(0)
@ -3617,7 +3617,7 @@ class LibvirtDriver(driver.ComputeDriver):
container_dir=container_dir,
use_cow=CONF.use_cow_images)
try:
#Note(GuanQiang): save container root device name here, used for
# Note(GuanQiang): save container root device name here, used for
# detaching the linked image device when deleting
# the lxc instance.
if container_root_device:
@ -4097,7 +4097,7 @@ class LibvirtDriver(driver.ComputeDriver):
"vendor_id": cfgdev.pci_capability.vendor_id[2:6],
}
#requirement by DataBase Model
# requirement by DataBase Model
device['label'] = 'label_%(vendor_id)s_%(product_id)s' % device
device.update(_get_device_type(cfgdev))
return device
@ -4207,9 +4207,9 @@ class LibvirtDriver(driver.ComputeDriver):
return domain.interfaceStats(iface_id)
def get_console_pool_info(self, console_type):
#TODO(mdragon): console proxy should be implemented for libvirt,
# in case someone wants to use it with kvm or
# such. For now return fake data.
# TODO(mdragon): console proxy should be implemented for libvirt,
# in case someone wants to use it with kvm or
# such. For now return fake data.
return {'address': '127.0.0.1',
'username': 'fakeuser',
'password': 'fakepassword'}
@ -5038,7 +5038,7 @@ class LibvirtDriver(driver.ComputeDriver):
def get_host_uptime(self, host):
"""Returns the result of calling "uptime"."""
#NOTE(dprince): host seems to be ignored for this call and in
# NOTE(dprince): host seems to be ignored for this call and in
# other compute drivers as well. Perhaps we should remove it?
out, err = utils.execute('env', 'LANG=C', 'uptime')
return out
@ -5537,7 +5537,7 @@ class HostState(object):
disk_info_dict = self.driver._get_local_gb_info()
data = {}
#NOTE(dprince): calling capabilities before getVersion works around
# NOTE(dprince): calling capabilities before getVersion works around
# an initialization issue with some versions of Libvirt (1.0.5.5).
# See: https://bugzilla.redhat.com/show_bug.cgi?id=1000116
# See: https://bugs.launchpad.net/nova/+bug/1215593

View File

@ -336,7 +336,7 @@ class Raw(Image):
generating = 'image_id' not in kwargs
if generating:
if not self.check_image_exists():
#Generating image in place
# Generating image in place
prepare_template(target=self.path, *args, **kwargs)
else:
if not os.path.exists(base):
@ -463,7 +463,7 @@ class Lvm(Image):
generated = 'ephemeral_size' in kwargs
#Generate images with specified size right on volume
# Generate images with specified size right on volume
if generated and size:
lvm.create_volume(self.vg, self.lv,
size, sparse=self.sparse)

View File

@ -531,7 +531,7 @@ def is_mounted(mount_path, source=None):
except processutils.ProcessExecutionError as exc:
return False
except OSError as exc:
#info since it's not required to have this tool.
# info since it's not required to have this tool.
if exc.errno == errno.ENOENT:
LOG.info(_LI("findmnt tool is not installed"))
return False

View File

@ -258,9 +258,9 @@ class LibvirtISCSIVolumeDriver(LibvirtBaseVolumeDriver):
iscsi_properties = connection_info['data']
if self.use_multipath:
#multipath installed, discovering other targets if available
#multipath should be configured on the nova-compute node,
#in order to fit storage vendor
# multipath installed, discovering other targets if available
# multipath should be configured on the nova-compute node,
# in order to fit storage vendor
out = self._run_iscsiadm_bare(['-m',
'discovery',
'-t',
@ -312,7 +312,7 @@ class LibvirtISCSIVolumeDriver(LibvirtBaseVolumeDriver):
'tries': tries})
if self.use_multipath:
#we use the multipath device instead of the single path device
# we use the multipath device instead of the single path device
self._rescan_multipath()
multipath_device = self._get_multipath_device_name(host_device)
@ -465,8 +465,8 @@ class LibvirtISCSIVolumeDriver(LibvirtBaseVolumeDriver):
"node.session.auth.password",
iscsi_properties['auth_password'])
#duplicate logins crash iscsiadm after load,
#so we scan active sessions to see if the node is logged in.
# duplicate logins crash iscsiadm after load,
# so we scan active sessions to see if the node is logged in.
out = self._run_iscsiadm_bare(["-m", "session"],
run_as_root=True,
check_exit_code=[0, 1, 21])[0] or ""
@ -487,8 +487,8 @@ class LibvirtISCSIVolumeDriver(LibvirtBaseVolumeDriver):
("--login",),
check_exit_code=[0, 255])
except processutils.ProcessExecutionError as err:
#as this might be one of many paths,
#only set successful logins to startup automatically
# as this might be one of many paths,
# only set successful logins to startup automatically
if err.exit_code in [15]:
self._iscsiadm_update(iscsi_properties,
"node.startup",
@ -730,7 +730,7 @@ class LibvirtAOEVolumeDriver(LibvirtBaseVolumeDriver):
# NOTE(jbr_): If aoedevpath does not exist, do a discover.
self._aoe_discover()
#NOTE(jbr_): Device path is not always present immediately
# NOTE(jbr_): Device path is not always present immediately
def _wait_for_device_discovery(aoedevpath, mount_device):
tries = self.tries
if os.path.exists(aoedevpath):

View File

@ -136,7 +136,7 @@ class VMwareESXDriver(driver.ComputeDriver):
self._host = host.Host(self._session)
self._host_state = None
#TODO(hartsocks): back-off into a configuration test module.
# TODO(hartsocks): back-off into a configuration test module.
if CONF.vmware.use_linked_clone is None:
raise error_util.UseLinkedCloneConfigurationFault()

View File

@ -1048,7 +1048,7 @@ def propset_dict(propset):
if propset is None:
return {}
#TODO(hartsocks): once support for Python 2.6 is dropped
# TODO(hartsocks): once support for Python 2.6 is dropped
# change to {[(prop.name, prop.val) for prop in propset]}
return dict([(prop.name, prop.val) for prop in propset])

View File

@ -202,7 +202,7 @@ class VMwareVMOps(object):
datastore_regex=self._datastore_regex)
dc_info = self.get_datacenter_ref_and_name(datastore.ref)
#TODO(hartsocks): this pattern is confusing, reimplement as methods
# TODO(hartsocks): this pattern is confusing, reimplement as methods
# The use of nested functions in this file makes for a confusing and
# hard to maintain file. At some future date, refactor this method to
# be a full-fledged method. This will also make unit testing easier.
@ -1317,7 +1317,7 @@ class VMwareVMOps(object):
uptime=uptime)
diags.memory_details.maximum = data.get('memorySizeMB', 0)
diags.memory_details.used = data.get('guestMemoryUsage', 0)
#TODO(garyk): add in cpu, nic and disk stats
# TODO(garyk): add in cpu, nic and disk stats
return diags
def _get_vnc_console_connection(self, instance):

View File

@ -338,7 +338,7 @@ class XenAPIBasedAgent(object):
def resetnetwork(self):
LOG.debug('Resetting network', instance=self.instance)
#NOTE(johngarbutt) old FreeBSD and Gentoo agents return 500 on success
# NOTE(johngarbutt) old FreeBSD and Gentoo agents return 500 on success
return self._call_agent('resetnetwork',
timeout=CONF.xenserver.agent_resetnetwork_timeout,
success_codes=['0', '500'])

View File

@ -12,8 +12,8 @@
# License for the specific language governing permissions and limitations
# under the License.
#
#============================================================================
#
# Parts of this file are based upon xmlrpclib.py, the XML-RPC client
# interface included in the Python distribution.
#
@ -630,7 +630,7 @@ class SessionBase(object):
return self.VDI_copy(_1, vdi_to_clone_ref, sr_ref)
def host_compute_free_memory(self, _1, ref):
#Always return 12GB available
# Always return 12GB available
return 12 * units.Gi
def _plugin_agent_version(self, method, args):

View File

@ -1124,7 +1124,7 @@ def generate_single_ephemeral(session, instance, vm_ref, userdevice,
instance_name_label = instance["name"]
name_label = "%s ephemeral" % instance_name_label
#TODO(johngarbutt) need to move DEVICE_EPHEMERAL from vmops to use it here
# TODO(johngarbutt) need to move DEVICE_EPHEMERAL from vmops to use it here
label_number = int(userdevice) - 4
if label_number > 0:
name_label = "%s (%d)" % (name_label, label_number)

View File

@ -266,7 +266,7 @@ class VMOps(object):
def create_disks_step(undo_mgr, disk_image_type, image_meta,
name_label):
#TODO(johngarbutt) clean up if this is not run
# TODO(johngarbutt) clean up if this is not run
vdis = vm_utils.import_all_migrated_disks(self._session,
instance)
@ -994,7 +994,7 @@ class VMOps(object):
instance=instance)
try:
self._restore_orig_vm_and_cleanup_orphan(instance)
#TODO(johngarbutt) should also cleanup VHDs at destination
# TODO(johngarbutt) should also cleanup VHDs at destination
except Exception as rollback_error:
LOG.warn(_("_migrate_disk_resizing_up failed to "
"rollback: %s"), rollback_error,

View File

@ -37,7 +37,7 @@ class VolumeOps(object):
def attach_volume(self, connection_info, instance_name, mountpoint,
hotplug=True):
"""Attach volume to VM instance."""
#TODO(johngarbutt) move this into _attach_volume_to_vm
# TODO(johngarbutt) move this into _attach_volume_to_vm
dev_number = volume_utils.get_device_number(mountpoint)
vm_ref = vm_utils.vm_ref_or_raise(self._session, instance_name)

View File

@ -31,7 +31,7 @@ translations = gettext.translation('nova', fallback=True)
_ = translations.ugettext
##### Logging setup
# Logging setup
def configure_logging(name):
log = logging.getLogger()
@ -43,7 +43,7 @@ def configure_logging(name):
log.addHandler(sysh)
##### Exceptions
# Exceptions
class PluginError(Exception):
"""Base Exception class for all plugin errors."""
@ -59,7 +59,7 @@ class ArgumentError(PluginError):
PluginError.__init__(self, *args)
##### Argument validation
# Argument validation
def exists(args, key):
"""Validates that a freeform string argument to a RPC method call is given.

View File

@ -55,10 +55,10 @@ sitepackages = False
# H803 skipped on purpose per list discussion.
# E125 is deliberately excluded. See https://github.com/jcrocholl/pep8/issues/126
# The rest of the ignores are TODOs
# New from hacking 0.9: E129, E131, E265, H407, H405, H904
# New from hacking 0.9: E129, E131, H407, H405, H904
# E251 Skipped due to https://github.com/jcrocholl/pep8/issues/301
ignore = E121,E122,E123,E124,E125,E126,E127,E128,E129,E131,E251,E265,H405,H803,H904
ignore = E121,E122,E123,E124,E125,E126,E127,E128,E129,E131,E251,H405,H803,H904
exclude = .venv,.git,.tox,dist,doc,*openstack/common*,*lib/python*,*egg,build,tools
[hacking]