A few more typographical errors found in Cinder docstrings.
Change-Id: If841350592650e23e9d7b24b4c52a3cdddb62d2f
scheduler_default_weighers = 'ChanceWeigher'
If one prefers the scheduler to pick up the back-end has most available
-space that scheudler can see (like SimpleScheduler did), use following
+space that scheduler can see (like SimpleScheduler did), use following
combination of filters and weighers with FilterScheduler.
scheduler_driver = cinder.scheduler.filter_scheduler.FilterScheduler
"""test delay on 11th put request.
the 11th PUT will result in a delay of 6.0 seconds until
- the next request will be granced.
+ the next request will be granted.
"""
expected = [None] * 10 + [6.0]
results = list(self._check(11, "PUT", "/anything"))
"""test delay of 8th post request.
Ensure that the 8th POST will result in a delay of 6.0 seconds
- until the next request will be granced.
+ until the next request will be granted.
"""
expected = [None] * 7
results = list(self._check(7, "POST", "/anything"))
# License for the specific language governing permissions and limitations
# under the License.
-"""Tests for qaulity_of_service_specs table."""
+"""Tests for quality_of_service_specs table."""
import time
At a high level, the translations involved are:
1. Glance -> ImageService - This is needed so we can support
- multple ImageServices (Glance, Local, etc)
+ multiple ImageServices (Glance, Local, etc)
2. ImageService -> API - This is needed so we can support multple
APIs (OpenStack, EC2)
self.driver.do_setup, None)
def assert_error_propagates(self, mocks, func, *args, **kwargs):
- """Assert that errors from mocks propogate to func.
+ """Assert that errors from mocks propagate to func.
Fail if exceptions raised by mocks are not seen when calling
func(*args, **kwargs). Ensure that we are really seeing exceptions
self.array = array
def assert_error_propagates(self, mocks, func, *args, **kwargs):
- """Assert that errors from mocks propogate to func.
+ """Assert that errors from mocks propagate to func.
Fail if exceptions raised by mocks are not seen when calling
func(*args, **kwargs). Ensure that we are really seeing exceptions
data path related implementation should be a *member object*
that we call a connector. The point here is that for example
don't allow the LVM driver to implement iSCSI methods, instead
- call whatever connector it has configued via conf file
+ call whatever connector it has configured via conf file
(iSCSI{LIO, TGT, IET}, FC, etc).
In the base class and for example the LVM driver we do this via a has-a
The target_wwn can be a single entry or a list of wwns that
correspond to the list of remote wwn(s) that will export the volume.
The initiator_target_map is a map that represents the remote wwn(s)
- and a list of wwns which are visiable to the remote wwn(s).
+ and a list of wwns which are visible to the remote wwn(s).
Example return values:
{
self.conn = self._get_ecom_connection()
def _initial_setup(self, volume):
- """Necessary setup to accummulate the relevant information.
+ """Necessary setup to accumulate the relevant information.
The volume object has a host in which we can parse the
config group name. The config group name is the key to our EMC
composite volume
:param conn: the connection information to the ecom server
- :param storageConfigService: thestorage config service instance name
+ :param storageConfigService: the storage config service instance name
:param compositeVolumeInstanceName: the composite volume instance name
:param additionalSize: the size you want to increase the volume by
:returns: volume instance modifiedCompositeVolumeInstance
def get_capacities_associated_to_policy(self, conn, arrayName, policyName):
"""Gets the total and un-used capacities for all pools in a policy.
- Given the name of the policy, get the total capcity and un-used
+ Given the name of the policy, get the total capacity and un-used
capacity in GB of all the storage pools associated with the policy.
:param policyName: the name of policy rule, a string value
return foundHardwardIDsInstanceNames
def _get_initiator_group_from_job(self, conn, job):
- """After creating an new intiator group find it and return it
+ """After creating an new initiator group find it and return it
:param conn: the connection to the ecom server
:param job: the create initiator group job
def _create_masking_view(
self, conn, configService, maskingViewName, deviceMaskingGroup,
targetMaskingGroup, initiatorMaskingGroup):
- """After creating an new intiator group find it and return it.
+ """After creating an new initiator group find it and return it.
:param conn: the connection to the ecom server
:param configService: the create initiator group job
def _get_initiator_group_from_masking_view(
self, conn, maskingViewName, storageSystemName):
- """Given the masking view name get the inititator group from it.
+ """Given the masking view name get the initiator group from it.
:param conn: connection the the ecom server
:param maskingViewName: the name of the masking view
def _is_valid_for_storage_assisted_migration(
self, volume, host, new_type=None):
- """Check the src and dest volume to decide the mogration type."""
+ """Check the src and dest volume to decide the migration type."""
false_ret = (False, None)
if 'location_info' not in host['capabilities']:
def remove_export(self, context, volume):
"""Disconnect a volume from an attached instance.
:param context: context
- :param volume: dictionary volume referencej
+ :param volume: dictionary volume reference
"""
provider = volume['provider_location']
raise exception.HPMSANotEnoughSpace(vdisk=self.vdisk)
def _assert_source_detached(self, volume):
- """The MSA requires a volume to be dettached to clone it.
+ """The MSA requires a volume to be detached to clone it.
Make sure that the volume is not in use when trying to copy it.
"""
Note that for SolidFire Clusters currently there is no snapshot
implementation. Due to the way SF does cloning there's no performance
hit or extra space used. The only thing that's lacking from this is
- the abilit to restore snaps.
+ the ability to restore snaps.
After GA a true snapshot implementation will be available with
restore at which time we'll rework this appropriately.
def request(self, path, request, body=None, **kwargs):
"""Make an HTTP request and return the results
- :param path: Path used with the initiazed URL to make a request
+ :param path: Path used with the initialized URL to make a request
:param request: HTTP request type (GET, POST, PUT, DELETE)
:param body: HTTP body of request
:key accept: Set HTTP 'Accept' header with this value