trc.util.browser = {
//
// Returns the current version of IE, or -1 if it's not an IE
- // browser. This is one of the recomended ways of detecting IE
+ // browser. This is one of the recommended ways of detecting IE
// see:
//
// http://msdn.microsoft.com/en-us/library/ms537509%28VS.85%29.aspx
},
//
- // Dum utility function for setting the class name of an
+ // Dumb utility function for setting the class name of an
// element. Eventually we'll move completely to XHTML, but
// this will never work in IE 6, so for now we need this
// method for setting the class name.
<!-- Include/Redefine core schema -->
<include vc:minVersion="1.0" vc:maxVersion="1.1" schemaLocation="../../api.xsd"/>
- <!--
+ <!--
For the purposes of extending the schema api.xsd should be a flat XSD. This is, it should not have
any <include ..> elements. That's no the case today. We should generate a flat XSD at compile time
- and refernce it here.
+ and reference it here.
-->
<redefine vc:minVersion="1.1" schemaLocation="../../api.xsd">
<complexType name="Image">
</xsd:appinfo>
</annotation>
</element>
-
+
<element name="network" type="csapi:AddressList">
<annotation>
<xsd:documentation
</xsd:appinfo>
</annotation>
</element>
-
+
<!-- Complex Types -->
<complexType name="Server">
xml:lang="EN"
xmlns="http://www.w3.org/1999/xhtml">
<p>
- The detials of a fault that may have occured
+ The details of a fault that may have occurred
while cerating the server or performing a server
action.
</p>
default_flavor = 'openvswitch'
default_l3_flavor = 'openvswitch'
-# supported extentions
+# supported extensions
supported_extension_aliases = 'providernet'
# specific method map for each flavor to extensions
extension_map = 'get_port_stats:nvp'
"""Deal with routers modification and creation RPC message."""
LOG.debug(_('Got routers updated notification :%s'), routers)
if routers:
- # This is needed for backward compatiblity
+ # This is needed for backward compatibility
if isinstance(routers[0], dict):
routers = [router['id'] for router in routers]
self.updated_routers.update(routers)
if not callback():
break
except Exception:
- LOG.exception(_('An error occured while communicating '
+ LOG.exception(_('An error occurred while communicating '
'with async process [%s].'), self.cmd)
break
# Ensure that watching a process with lots of output does
# Leave it alone
return True
- # We filter duplicates. Go throught the chains and rules, letting
+ # We filter duplicates. Go through the chains and rules, letting
# the *last* occurrence take precendence since it could have a
# non-zero [packet:byte] count we want to preserve. We also filter
# out anything in the "remove" list.
True will be returned if the monitor process is not active.
This 'failing open' minimizes the risk of falsely indicating
- the absense of updates at the expense of potential false
+ the absence of updates at the expense of potential false
positives.
"""
return bool(list(self.iter_stdout())) or not self.is_active
"""Checking plugin class.
The __subclasshook__ method is a class method
- that will be called everytime a class is tested
+ that will be called every time a class is tested
using issubclass(klass, PluginInterface).
In that case, it will check that every method
marked with the abstractmethod decorator is
self.attr_map = attr_map
-# Returns the extention paths from a config entry and the __path__
+# Returns the extension paths from a config entry and the __path__
# of neutron.extensions
def get_extensions_path():
paths = ':'.join(neutron.extensions.__path__)
# attribute is not required, but will be generated by the plugin
# if it is not specified. Particularly, a value of ATTR_NOT_SPECIFIED
# is different from an attribute that has been specified with a value of
-# None. For example, if 'gateway_ip' is ommitted in a request to
+# None. For example, if 'gateway_ip' is omitted in a request to
# create a subnet, the plugin will receive ATTR_NOT_SPECIFIED
# and the default gateway_ip will be generated.
# However, if gateway_ip is specified as None, this means that
kwargs = {'body': body, 'content_type': content_type}
raise webob.exc.HTTPNotImplemented(**kwargs)
except Exception as e:
- # NOTE(jkoelker) Everyting else is 500
+ # NOTE(jkoelker) Everything else is 500
LOG.exception(_('%s failed'), action)
# Do not expose details of 500 error to clients.
msg = _('Request Failed: internal server error while '
class SudoRequired(NeutronException):
- message = _("Sudo priviledge is required to run this command.")
+ message = _("Sudo privilege is required to run this command.")
class QuotaResourceUnknown(NotFound):
context.session.commit()
except Exception:
with excutils.save_and_reraise_exception():
- LOG.error(_("An exception occured while creating "
+ LOG.error(_("An exception occurred while creating "
"the %(resource)s:%(item)s"),
{'resource': resource, 'item': item})
context.session.rollback()
v = health_monitor['health_monitor']
tenant_id = self._get_tenant_id_for_create(context, v)
with context.session.begin(subtransactions=True):
- # setting ACTIVE status sinse healthmon is shared DB object
+ # setting ACTIVE status since healthmon is shared DB object
monitor_db = HealthMonitor(id=uuidutils.generate_uuid(),
tenant_id=tenant_id,
type=v['type'],
neutron_extensions.append_api_extensions_path(extensions.__path__)
# 'servers' is the list of network controller REST end-points
- # (used in order specified till one suceeds, and it is sticky
+ # (used in order specified till one succeeds, and it is sticky
# till next failure). Use 'server_auth' to encode api-key
servers = cfg.CONF.RESTPROXY.servers
server_auth = cfg.CONF.RESTPROXY.server_auth
class VSMError(exceptions.NeutronException):
- """Error has occured on the VSM."""
+ """Error has occurred on the VSM."""
message = _("Internal VSM Error: %(reason)s.")
def get_multicast_ip(network_profile):
"""
- Retreive a multicast ip from the defined pool.
+ Retrieve a multicast ip from the defined pool.
:params network_profile: object of type network profile
:returns: string representing multicast IP
"""Check plugin class.
The __subclasshook__ method is a class method
- that will be called everytime a class is tested
+ that will be called every time a class is tested
using issubclass(klass, Plugin).
In that case, it will check that every method
marked with the abstractmethod decorator is
Hence for every unique combination of a network and a policy-profile, a
unique vm-network will be created and a reference to the port will be
added. If the same combination of network and policy-profile is used by
- another port, the refernce to that port will be added to the same
+ another port, the references to that port will be added to the same
vm-network.
"""
Setup Cisco Nexus 1000V related parameters and pull policy profiles.
- Retreive all the policy profiles from the VSM when the plugin is
+ Retrieve all the policy profiles from the VSM when the plugin is
is instantiated for the first time and then continue to poll for
policy profile updates.
"""
def _get_segmentation_id(self, context, id):
"""
- Retreive segmentation ID for a given network.
+ Retrieve segmentation ID for a given network.
:param context: neutron api request context
:param id: UUID of the network
def get_network(self, context, id, fields=None):
"""
- Retreive a Network.
+ Retrieve a Network.
:param context: neutron api request context
:param id: UUID representing the network to fetch
def get_networks(self, context, filters=None, fields=None):
"""
- Retreive a list of networks.
+ Retrieve a list of networks.
:param context: neutron api request context
:param filters: a dictionary with keys that are valid keys for a
if 0 <= int(segmentation_id) <= constants.MAX_VXLAN_VNI:
return VXLAN_INTERFACE_PREFIX + str(segmentation_id)
else:
- LOG.warning(_("Invalid Segementation ID: %s, will lead to "
+ LOG.warning(_("Invalid Segmentation ID: %s, will lead to "
"incorrect vxlan device name"), segmentation_id)
def get_all_neutron_bridges(self):
This plugin supports multiple plugin at same time. This plugin is for L3 connectivility
between networks which are realized by different plugins.This plugin adds new attributes 'flavor:network' and 'flavor:router".
-flavor:network corresponds to specific l2 plugin ( flavor-plugin mapping could be configureable by plugin_list config.
-flavor:router corresponds to specific l3 plugin ( flavor-plugin mapping could be configureable by l3_plugin_list config. Note that Metaplugin can provide l3 functionaliteis for l2 plugin which didn't support l3 extension yet.
+flavor:network corresponds to specific l2 plugin ( flavor-plugin mapping could be configurable by plugin_list config.
+flavor:router corresponds to specific l3 plugin ( flavor-plugin mapping could be configurable by l3_plugin_list config. Note that Metaplugin can provide l3 functionaliteis for l2 plugin which didn't support l3 extension yet.
This plugin also support extensions. We can map extension to plugin by using extension_map config.
[database]
# Default value for l3
default_l3_flavor = 'openvswitch'
-# supported extentions
+# supported extensions
supported_extension_aliases = 'providernet'
# specific method map for each flavor to extensions
extension_map = 'get_port_stats:nvp'
#- limitations
Basically, All plugin should inherit NeutronDbPluginV2.
-Metaplugin assumes all plugin share same Database expecially for IPAM part in NeutronV2 API.
+Metaplugin assumes all plugin share same Database especially for IPAM part in NeutronV2 API.
You can use another plugin if you use ProxyPluginV2, which proxies request to the another neutron server.
Example flavor configration for ProxyPluginV2
return info
def update_floatingip(self, context, id, floatingip):
- """Handle floating IP assocation and disassociation."""
+ """Handle floating IP association and disassociation."""
LOG.debug(_("MidonetPluginV2.update_floatingip called: id=%(id)s "
"floatingip=%(floatingip)s "),
{'id': id, 'floatingip': floatingip})
This mechanism driver implements ML2 Driver API and is used to manage the virtual and physical networks using Arista Hardware.
-Note: Initial verison of this driver support VLANs only.
+Note: Initial version of this driver support VLANs only.
For more details on use please refer to:
https://wiki.openstack.org/wiki/Arista-neutron-ml2-driver
def remember_vm(vm_id, host_id, port_id, network_id, tenant_id):
- """Stores all relevent information about a VM in repository.
+ """Stores all relevant information about a VM in repository.
:param vm_id: globally unique identifier for VM instance
:param host_id: ID of the host where the VM is placed
def forget_vm(vm_id, host_id, port_id, network_id, tenant_id):
- """Removes all relevent information about a VM from repository.
+ """Removes all relevant information about a VM from repository.
:param vm_id: globally unique identifier for VM instance
:param host_id: ID of the host where the VM is placed
def remember_network(tenant_id, network_id, segmentation_id):
- """Stores all relevent information about a Network in repository.
+ """Stores all relevant information about a Network in repository.
:param tenant_id: globally unique neutron tenant identifier
:param network_id: globally unique neutron network identifier
def forget_network(tenant_id, network_id):
- """Deletes all relevent information about a Network from repository.
+ """Deletes all relevant information about a Network from repository.
:param tenant_id: globally unique neutron tenant identifier
:param network_id: globally unique neutron network identifier
if any mechanism driver create_port_postcommit call fails.
Called after the database transaction. Errors raised by
- mechanism drivers are left to propogate to the caller, where
+ mechanism drivers are left to propagate to the caller, where
the port will be deleted, triggering any required
cleanup. There is no guarantee that all mechanism drivers are
called in this case.
network_bindings, max_ports,
allow_extra_lswitches)
except NvpApiClient.NvpApiException:
- err_desc = _("An exception occured while selecting logical "
+ err_desc = _("An exception occurred while selecting logical "
"switch for the port")
LOG.exception(err_desc)
raise nvp_exc.NvpPluginException(err_msg=err_desc)
# rollback the neutron-nvp port mapping
nicira_db.delete_neutron_nvp_port_mapping(context.session,
port_id)
- msg = (_("An exception occured while creating the "
+ msg = (_("An exception occurred while creating the "
"quantum port %s on the NVP plaform") % port_id)
LOG.exception(msg)
self.cluster, lswitch['uuid'], tenant_id,
'', '', lrouter['uuid'], True)
except NvpApiClient.NvpApiException:
- msg = (_("An exception occured while creating a port "
+ msg = (_("An exception occurred while creating a port "
"on lswitch %s") % lswitch['uuid'])
LOG.exception(msg)
raise q_exc.NeutronException(message=msg)
Assumes same password is used for all controllers.
:param user: NVP controller user (usually admin). Provided for
- backwards compatability. In the normal mode of operation
+ backwards compatibility. In the normal mode of operation
this should be None.
:param password: NVP controller password. Provided for backwards
- compatability. In the normal mode of operation this should
+ compatibility. In the normal mode of operation this should
be None.
:returns: Does not return a value.
provider_sem.release()
else:
LOG.debug(_("Waiting for auth to complete"))
- # Wait until we can aquire then release
+ # Wait until we can acquire then release
provider_sem.acquire(blocking=True)
provider_sem.release()
# self._concurrent_connections temporarily)
if not result_conn:
conn = self._create_connection(*conn_params)
- conn.priority = 0 # redirect connections ahve highest priority
+ conn.priority = 0 # redirect connections have highest priority
conn.no_release = True
result_conn = conn
else:
sleep_interval = self._sync_backoff
# Cap max back off to 64 seconds
self._sync_backoff = min(self._sync_backoff * 2, 64)
- LOG.exception(_("An error occured while communicating with "
+ LOG.exception(_("An error occurred while communicating with "
"NVP backend. Will retry synchronization "
"in %d seconds"), sleep_interval)
return sleep_interval
return tunnel
except db_exc.DBDuplicateEntry:
- # a concurrent transaction has been commited, try again
+ # a concurrent transaction has been committed, try again
LOG.debug(_('Adding a tunnel endpoint failed due to a concurrent'
- 'transaction had been commited (%s attempts left)'),
+ 'transaction had been committed (%s attempts left)'),
max_retries - (i + 1))
raise q_exc.NeutronException(
def delete_vip(self, context, vip):
"""A real driver would invoke a call to his backend
and try to delete the Vip.
- if the deletion was successfull, delete the record from the database.
+ if the deletion was successful, delete the record from the database.
if the deletion has failed, set the Vip status to ERROR.
"""
pass
def _get_service(self, pool_id, network_id):
"""Get a service name.
- if you cant find one,
+ if you can't find one,
create a service and create l2_l2 WF.
"""
def _create_workflow(self, wf_name, wf_template_name,
create_workflow_params=None):
- """Create a WF if it doesnt exists yet."""
+ """Create a WF if it doesn't exists yet."""
if not self.workflow_templates_exists:
self._verify_workflow_templates()
if not self._workflow_exists(wf_name):
LOG.debug(_('create_workflow response: %s'), str(response))
def _verify_workflow_templates(self):
- """Verify the existance of workflows on vDirect server."""
+ """Verify the existence of workflows on vDirect server."""
workflows = {self.l2_l3_wf_name:
False, self.l4_wf_name: False}
resource = '/api/workflowTemplate'
def ensure_process(self, process_id, vpnservice=None):
"""Ensuring process.
- If the process dosen't exist, it will create process
+ If the process doesn't exist, it will create process
and store it in self.processs
"""
process = self.processes.get(process_id)
class AristaProvisionedVlansStorageTestCase(base.BaseTestCase):
"""Test storing and retriving functionality of Arista mechanism driver.
- Tests all methods of this class by invoking them seperately as well
- as a goup.
+ Tests all methods of this class by invoking them separately as well
+ as a group.
"""
def setUp(self):
class OVS_Lib_Test(base.BaseTestCase):
- """A test suite to excercise the OVS libraries shared by Neutron agents.
+ """A test suite to exercise the OVS libraries shared by Neutron agents.
Note: these tests do not actually execute ovs-* utilities, and thus
can run on any system. That does, however, limit their scope.
self.deserialize(self.fmt, res)
self.assertEqual(res.status_int, webob.exc.HTTPConflict.code)
- def test_create_security_group_rule_differnt_security_group_ids(self):
+ def test_create_security_group_rule_different_security_group_ids(self):
if self._skip_native_bulk:
self.skipTest("Plugin does not support native bulk "
"security_group_rule create")
def test_dispatch_default(self):
serializer = wsgi.DictSerializer()
self.assertEqual(
- serializer.serialize({}, 'NonExistantAction'), '')
+ serializer.serialize({}, 'NonExistentAction'), '')
class JSONDictSerializerTest(base.BaseTestCase):