Fix rst formatting and fix tox

This patch does 2 things:
1) it fixes the broken formatting of all of the rst files, so they
   render correctly through sphinx
2) Fix tox so that it runs cleanly against the corrected rst files.

Change-Id: I3b3689c61054f051075dc6bc519c02e4c63626f7
This commit is contained in:
Walter A. Boring IV 2014-07-16 23:25:17 -07:00
parent 9b67e66f4e
commit b4c999112b
26 changed files with 337 additions and 268 deletions

View File

@ -4,3 +4,4 @@ pbr>=0.6,<1.0
sphinx>=1.1.2,<1.2 sphinx>=1.1.2,<1.2
testrepository>=0.0.18 testrepository>=0.0.18
testtools>=0.9.34 testtools>=0.9.34
flake8

View File

@ -4,9 +4,9 @@
http://creativecommons.org/licenses/by/3.0/legalcode http://creativecommons.org/licenses/by/3.0/legalcode
========================================== ===========================================
Affinity and anti-affinity scheduler filter Affinity and anti-affinity scheduler filter
========================================== ===========================================
https://blueprints.launchpad.net/cinder/+spec/affinity-antiaffinity-filter https://blueprints.launchpad.net/cinder/+spec/affinity-antiaffinity-filter

View File

@ -4,9 +4,9 @@
http://creativecommons.org/licenses/by/3.0/legalcode http://creativecommons.org/licenses/by/3.0/legalcode
========================================== =============================================
Configurable SSH Host Key Policies for Cinder Configurable SSH Host Key Policies for Cinder
========================================== =============================================
Include the URL of your launchpad blueprint: Include the URL of your launchpad blueprint:

View File

@ -77,8 +77,8 @@ Consistency Groups work flow
and sends request to Cinder volume node. and sends request to Cinder volume node.
* Cinder manager calls novaclient which calls a new Nova admin API "quiesce" * Cinder manager calls novaclient which calls a new Nova admin API "quiesce"
that uses QEMU guest agent to freeze the guest filesystem. Can leverage this that uses QEMU guest agent to freeze the guest filesystem. Can leverage
work: this work:
https://wiki.openstack.org/wiki/Cinder/QuiescedSnapshotWithQemuGuestAgent https://wiki.openstack.org/wiki/Cinder/QuiescedSnapshotWithQemuGuestAgent
(Note: This step will be on hold for now because the freeze feature is not (Note: This step will be on hold for now because the freeze feature is not
reliable yet.) reliable yet.)
@ -88,8 +88,8 @@ reliable yet.)
* Cinder driver communicates with backend array to create a point-in-time * Cinder driver communicates with backend array to create a point-in-time
consistency snapshot of the CG. consistency snapshot of the CG.
* Cinder manager calls novaclient which calls a new Nova admin API "unquiesce" * Cinder manager calls novaclient which calls a new Nova admin API
that uses QEMU guest agent to thaw the guest filesystem. "unquiesce" that uses QEMU guest agent to thaw the guest filesystem.
(Note: This step will be on hold for now.) (Note: This step will be on hold for now.)
Alternatives Alternatives
@ -100,9 +100,9 @@ at the orchestration layer. However, in that case, Cinder wouldn't know which
volumes are belonging to a CG. As a result, user can delete a volume belonging volumes are belonging to a CG. As a result, user can delete a volume belonging
to the CG using Cinder CLI or Horizon without knowing the consequences. to the CG using Cinder CLI or Horizon without knowing the consequences.
Another alternative is not to implement CG at all. User will be able to operate Another alternative is not to implement CG at all. User will be able to
at individual volume level, but can't provide crash consistent data protection of operate at individual volume level, but can't provide crash consistent data
multiple volumes in the same application. protection of multiple volumes in the same application.
Data model impact Data model impact
----------------- -----------------
@ -122,6 +122,7 @@ consistencygroup uuid.
* snapshot entries in snapshots table will have a foreign key of the * snapshot entries in snapshots table will have a foreign key of the
cgsnapshot uuid. cgsnapshot uuid.
::
mysql> desc cgsnapshots; mysql> desc cgsnapshots;
+---------------------+--------------+------+-----+---------+-------+ +---------------------+--------------+------+-----+---------+-------+

View File

@ -35,7 +35,7 @@ so we also add a new connector to realize attach/detach volume.
The following diagram shows the command and data paths. The following diagram shows the command and data paths.
```` ::
+------------------+ +------------------+
| | | |
@ -71,7 +71,6 @@ The following diagram shows the command and data paths.
+------------------+ +------------------+
````
Add new driver in /cinder/volume/drivers path, and realize cinder driver Add new driver in /cinder/volume/drivers path, and realize cinder driver
minimum features: minimum features:

View File

@ -59,7 +59,7 @@ protocal, so we also add a new connector to realize attach/detach volume.
The following diagram shows the command and data paths. The following diagram shows the command and data paths.
```` ::
+------------------+ +------------------+
| | | |
@ -95,7 +95,6 @@ The following diagram shows the command and data paths.
+------------------+ +------------------+
````
Add new driver in /cinder/volume/drivers path, and realize cinder driver Add new driver in /cinder/volume/drivers path, and realize cinder driver
minimum features: minimum features:

View File

@ -4,9 +4,9 @@
http://creativecommons.org/licenses/by/3.0/legalcode http://creativecommons.org/licenses/by/3.0/legalcode
================= =========================
Windows SMB Volume Driver Windows SMB Volume Driver
================= =========================
https://blueprints.launchpad.net/cinder/+spec/hyper-v-smbfs-volume-driver https://blueprints.launchpad.net/cinder/+spec/hyper-v-smbfs-volume-driver
@ -96,9 +96,10 @@ Certain volume related operations will require to be synchronized.
Other deployer impact Other deployer impact
--------------------- ---------------------
The user will provide a list of SMB shares on which volumes may reside. This list The user will provide a list of SMB shares on which volumes may reside. This
will be placed in a file located at a path configured in the cinder config file. list will be placed in a file located at a path configured in the cinder config
This share list may contain SMB mount options such as flags or credentials. file. This share list may contain SMB mount options such as flags or
credentials.
The config file will also contain the path to the Samba config file. Oversubmit The config file will also contain the path to the Samba config file. Oversubmit
and used space ratios may also be configured. and used space ratios may also be configured.

View File

@ -1,11 +1,9 @@
Proposal to implement incremental backup feature in Cinder ..
This work is licensed under a Creative Commons Attribution 3.0 Unported This work is licensed under a Creative Commons Attribution 3.0 Unported
License. License.
http://creativecommons.org/licenses/by/3.0/legalcode http://creativecommons.org/licenses/by/3.0/legalcode
This specification proposes two new options to cinder-backup create api to
support incremental backup and backup from a volume snapshot.
======================================== ========================================
Support for incremental backup in Cinder Support for incremental backup in Cinder
@ -13,7 +11,7 @@ Support for incremental backup in Cinder
Launchpad Blueprint: Launchpad Blueprint:
https://blueprints.launchpad.net/cinder/+spec/incremental-backup https://blueprints.launchpad.net/cinder/+spec/incremental-backup
Problem description: Problem description
==================== ====================
The current implementation of Cinder Backup functionality only supports full The current implementation of Cinder Backup functionality only supports full
backup and restore of a given volume. There is no provision to backup changes backup and restore of a given volume. There is no provision to backup changes
@ -23,7 +21,7 @@ entire volumes during backups will be resource intensive and do not scale well
for larger deployments. This specification discusses implementation of for larger deployments. This specification discusses implementation of
incremental backup feature in detail. incremental backup feature in detail.
Proposed change: Proposed change
================ ================
Cinder backup API, by default uses Swift as its backend. When a volume is Cinder backup API, by default uses Swift as its backend. When a volume is
backed up to Swift, Swift creates a manifest file that describes the contents backed up to Swift, Swift creates a manifest file that describes the contents
@ -70,6 +68,8 @@ contains a reference to the full backup container.
Following changes are made to the manifest header of the backup Following changes are made to the manifest header of the backup
::
metadata['version'] = self.DRIVER_VERSION metadata['version'] = self.DRIVER_VERSION
metadata['backup_id'] = backup['id'] metadata['backup_id'] = backup['id']
metadata['volume_id'] = volume_id metadata['volume_id'] = volume_id
@ -92,8 +92,8 @@ of the full volume from the full backup copy and then apply incremental
changes at offset and length as described in the incremental backup manifest. changes at offset and length as described in the incremental backup manifest.
Snapshot based backups Snapshot based backups::
======================
Since existing backup implementation copies the data directly from the volume, Since existing backup implementation copies the data directly from the volume,
it requires the volume to be detached from the instance. For most cloud it requires the volume to be detached from the instance. For most cloud
workloads this may be sufficient but other workloads that cannot tolerate workloads this may be sufficient but other workloads that cannot tolerate
@ -109,7 +109,7 @@ more simpler than backup API taking snapshot of the volume and then managing
the snapshots. the snapshots.
Alternatives Alternatives
============ ------------
Incremental backup offers two important benefits: Incremental backup offers two important benefits:
1. Use less storage when storing backup images 1. Use less storage when storing backup images
2. Use less network bandwidth and improve overall efficiency of backup process 2. Use less network bandwidth and improve overall efficiency of backup process
@ -121,15 +121,17 @@ second benefit cannot be achieved unless Cinder backup supports incremental
backup. backup.
Data model impact Data model impact
================= -----------------
No percieved data model changes No percieved data model changes
REST API impact REST API impact
=============== ---------------
No new APIs are proposed. Instead existing backup API will be enhanced to No new APIs are proposed. Instead existing backup API will be enhanced to
accept additional option called "--incr" with <path to full backup container>" accept additional option called "--incr" with <path to full backup container>"
as its argument. as its argument.
::
cinder backup-create <volumeid> --incr <full backup container> cinder backup-create <volumeid> --incr <full backup container>
Performs incremental backup Performs incremental backup
@ -145,15 +147,15 @@ snapshot
No anticipated changes to restore api No anticipated changes to restore api
Security impact Security impact
=============== ---------------
None None
Notifications impact Notifications impact
==================== --------------------
None None
Other end user impact Other end user impact
===================== ---------------------
python-cinderclient will be modified to accept "--incr" option. It may python-cinderclient will be modified to accept "--incr" option. It may
include some validation code to validate if the full backup container path include some validation code to validate if the full backup container path
is valid is valid
@ -163,7 +165,7 @@ it happens, the dashboard will provide an option for user to choose incremental
backup backup
Performance Impact Performance Impact
================== ------------------
Except for calculating SHAs during full backup operation, there is no other Except for calculating SHAs during full backup operation, there is no other
performance impact on existing API. The performance penalty can be easily performance impact on existing API. The performance penalty can be easily
offset by the efficiency gained by incremental backup. Also new hardware offset by the efficiency gained by incremental backup. Also new hardware
@ -171,18 +173,19 @@ support CPU instructions to calculate SHAs which alleviates some stress on
the CPU cycles. the CPU cycles.
Other deployer impact Other deployer impact
===================== ---------------------
None None
Developer impact Developer impact
================ ----------------
None None
Implementation Implementation
============== ==============
Assignee(s) Assignee(s)
-----------
Primary assignee: Primary assignee:
muralibalcha(murali.balcha@triliodata.com) muralibalcha(murali.balcha@triliodata.com)
@ -190,7 +193,7 @@ Other contributors:
giribasava(giri.basava@triliodata.com) giribasava(giri.basava@triliodata.com)
Work Items Work Items
========== ----------
1. python-cinderclient 1. python-cinderclient
That accepts "--incr" option and some validation code That accepts "--incr" option and some validation code
@ -208,20 +211,24 @@ Work Items
Dependencies Dependencies
============ ============
None None
Testing Testing
======= =======
Unit tests will be added for incremental backup. Unit tests will be added for incremental backup.
Testing will primarily focus on the following: Testing will primarily focus on the following:
1. SHA file generation 1. SHA file generation
2. Creating various changes to the original volume. These include 2. Creating various changes to the original volume. These include
1. Changes to first block 1. Changes to first block
2. Changes to last block 2. Changes to last block
3. Changes to odd number of successive blocks 3. Changes to odd number of successive blocks
4. Changes to even number of successive blocks 4. Changes to even number of successive blocks
5. Changes spread across multiple sections of the volume 5. Changes spread across multiple sections of the volume
3. Perform 1 incremental 3. Perform 1 incremental
4. Peform multiple incremental backups 4. Peform multiple incremental backups
5. Restore series of incremental backups and compare the contents 5. Restore series of incremental backups and compare the contents
@ -230,5 +237,10 @@ Testing will primarily focus on the following:
Documentation Impact Documentation Impact
==================== ====================
Need to document new option in the block storage manual. Need to document new option in the block storage manual.
References
==========
None

View File

@ -25,6 +25,9 @@ Proposed change
Since there are too many files need to change, so divide this bp into 16 Since there are too many files need to change, so divide this bp into 16
patches according to cinder directories. patches according to cinder directories.
::
├─cinder ├─cinder
│ ├─api │ ├─api
│ ├─backup │ ├─backup
@ -53,6 +56,11 @@ removing translation of debug msgs.
That work is being addressed by the following spec/blueprint: That work is being addressed by the following spec/blueprint:
https://review.openstack.org/#/c/100338/ https://review.openstack.org/#/c/100338/
Alternatives
------------
None
Data model impact Data model impact
----------------- -----------------
@ -110,6 +118,9 @@ For each directory's files, we change all the log messages as follows.
4. Change "LOG.critical(_(" to "LOG.info(_LC(". 4. Change "LOG.critical(_(" to "LOG.info(_LC(".
We handle these changes in the following order: We handle these changes in the following order:
::
cinder cinder
cinder/api cinder/api
cinder/backup cinder/backup
@ -130,6 +141,9 @@ We handle these changes in the following order:
Add a HACKING check rule to ensure that log messages to relative domain. Add a HACKING check rule to ensure that log messages to relative domain.
Using regular expression to check whether log messages with relative _L* Using regular expression to check whether log messages with relative _L*
function. function.
.. code-block:: python
log_translation_domain_error = re.compile( log_translation_domain_error = re.compile(
r"(.)*LOG\.error\(\s*\_LE('|\")") r"(.)*LOG\.error\(\s*\_LE('|\")")
log_translation_domain_warning = re.compile( log_translation_domain_warning = re.compile(
@ -157,6 +171,6 @@ None
References References
========== ==========
[1]https://blueprints.launchpad.net/oslo/+spec/log-messages-translation-domain-rollout .. [#] https://blueprints.launchpad.net/oslo/+spec/log-messages-translation-domain-rollout
[2]https://review.openstack.org/#/c/70455 .. [#] https://review.openstack.org/#/c/70455
[3]https://wiki.openstack.org/wiki/LoggingStandards .. [#] https://wiki.openstack.org/wiki/LoggingStandards

View File

@ -154,6 +154,8 @@ flexibility, developer should update their drivers to include all sub-pool
capacities and capabilities in the volume stats it reports to scheduler. capacities and capabilities in the volume stats it reports to scheduler.
Below is an example of new stats message: Below is an example of new stats message:
.. code-block:: python
{ {
'volume_backend_name': 'Local iSCSI', #\ 'volume_backend_name': 'Local iSCSI', #\
'vendor_name': 'OpenStack', # backend level 'vendor_name': 'OpenStack', # backend level
@ -193,6 +195,10 @@ Below is an example of new stats message:
] ]
} }
Implementation
==============
Assignee(s) Assignee(s)
----------- -----------

View File

@ -59,6 +59,8 @@ Database schema changes:
table for every volume_type_id and project_id combination. table for every volume_type_id and project_id combination.
It will be a many-to-many relationship. It will be a many-to-many relationship.
::
mysql> DESC volume_types; mysql> DESC volume_types;
+--------------+--------------+------+-----+---------+-------+ +--------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra | | Field | Type | Null | Key | Default | Extra |

View File

@ -97,15 +97,16 @@ retrieve informations such as free space or total allocated space.
Certain volume related operations will require to be synchronized. Certain volume related operations will require to be synchronized.
In order to use local shares, the share paths will be read from the Samba config In order to use local shares, the share paths will be read from the Samba
file. config file.
Other deployer impact Other deployer impact
--------------------- ---------------------
The user will provide a list of SMB shares on which volumes may reside. This list The user will provide a list of SMB shares on which volumes may reside. This
will be placed in a file located at a path configured in the cinder config file. list will be placed in a file located at a path configured in the cinder config
This share list may contain SMB mount options such as flags or credentials. file. This share list may contain SMB mount options such as flags or
credentials.
The config file will also contain the path to the Samba config file. Oversubmit The config file will also contain the path to the Samba config file. Oversubmit
and used space ratios may also be configured. and used space ratios may also be configured.

View File

@ -27,16 +27,18 @@ bp is to another mean for administrators to solve these problems by calling
backup reset state API. backup reset state API.
1. Resetting status from creating/restoring to available 1. Resetting status from creating/restoring to available
1) restoring --> available 1) restoring --> available
Directly change the backup status to 'error', because the backup data is Directly change the backup status to 'error', because the backup data is
already existed in storage backend. already existed in storage backend.
2) creating --> available 2) creating --> available
Use backup-create routine as an example to illustrate what benefit we can get Use backup-create routine as an example to illustrate what benefit we can
from backup-reset function. Backup-create routine first backup volume and get from backup-reset function. Backup-create routine first backup volume
metadatas, and then update the status of volume and backup. If database just and metadatas, and then update the status of volume and backup. If database
went down after update the volume's status to 'available', leaving the just went down after update the volume's status to 'available', leaving the
backup's status to be 'creating' without having methods to deal with through backup's status to be 'creating' without having methods to deal with
API. through API.
If we have reset-state API and resetting status from creating to available, we If we have reset-state API and resetting status from creating to available, we
first verify whether the backup is ok on storage backend. first verify whether the backup is ok on storage backend.
If so, we change backup status from creating to available. If so, we change backup status from creating to available.
@ -59,6 +61,9 @@ Alternatives
Login in the cinder database, use the following update sql to change the Login in the cinder database, use the following update sql to change the
backup item. backup item.
::
update backups set status='some status' where id='xxx-xxx-xxx-xxx'; update backups set status='some status' where id='xxx-xxx-xxx-xxx';
Data model impact Data model impact

View File

@ -64,6 +64,11 @@ The following suggestion seems to be agreed upon:
.. _notification: http://docs.openstack.org/developer/taskflow/notifications.html .. _notification: http://docs.openstack.org/developer/taskflow/notifications.html
.. _log listener: http://docs.openstack.org/developer/taskflow/notifications.html#printing-and-logging-listeners .. _log listener: http://docs.openstack.org/developer/taskflow/notifications.html#printing-and-logging-listeners
Alternatives
------------
N/A
Data model impact Data model impact
----------------- -----------------

View File

@ -130,7 +130,9 @@ Packagers should be aware of the following changes to setup.cfg.
cinder uses pbr to handle packaging. The cinder scripts that is under the cinder uses pbr to handle packaging. The cinder scripts that is under the
[files] section will be moved to the [entry_points] section of setup.cfg. [files] section will be moved to the [entry_points] section of setup.cfg.
More specifically, this proposal adds console_scripts to the [entry_points] More specifically, this proposal adds console_scripts to the [entry_points]
section of setup.cfg as follows:: section of setup.cfg as follows:
.. code-block:: ini
[entry_points] [entry_points]
console_scripts = console_scripts =

View File

@ -49,6 +49,11 @@ Security impact
None None
Notifications impact
--------------------
None
Other end user impact Other end user impact
--------------------- ---------------------

View File

@ -20,8 +20,8 @@ Problem description
The purpose of this feature is to facilite exposing the reset-state API in The purpose of this feature is to facilite exposing the reset-state API in
horizon in a meaningful way by restricting the set of permissible states that horizon in a meaningful way by restricting the set of permissible states that
the administrator can specify for a volume. There is no API for this, and it is the administrator can specify for a volume. There is no API for this, and it
undesirable to hardcode this information into horizon. is undesirable to hardcode this information into horizon.
Proposed change Proposed change
=============== ===============
@ -73,7 +73,8 @@ Other end user impact
A new command, get-valid-states, will be added to python-cinderclient. This A new command, get-valid-states, will be added to python-cinderclient. This
command mirrors the underlying API function. command mirrors the underlying API function.
Obtaining the list of valid states for a volume or snapshot can be performed by: Obtaining the list of valid states for a volume or snapshot can be performed
by:
$ cinder get-valid-states $ cinder get-valid-states

View File

@ -72,7 +72,8 @@ Performance Impact
------------------ ------------------
Cinder itself being the control plane will not experience any different Cinder itself being the control plane will not experience any different
performance. The data plane should experience a greater deal of performance [1]. performance. The data plane should experience a greater deal of performance
[1].
Other deployer impact Other deployer impact
--------------------- ---------------------

View File

@ -196,13 +196,16 @@ Replication relationship db table:
* secondary_id = Column(String(36), ForeignKey('volumes.id'), nullable=False) * secondary_id = Column(String(36), ForeignKey('volumes.id'), nullable=False)
* primary_replication_unit_id = Column(String(255)) * primary_replication_unit_id = Column(String(255))
* secondary_replication_unit_id = Column(String(255)) * secondary_replication_unit_id = Column(String(255))
* status = Column(Enum('error', 'creating', 'copying', 'active', 'active-stopped', * status = Column(Enum('error', 'creating', 'copying', 'active',
'stopping', 'deleting', 'deleted', 'inactive', 'active-stopped', 'stopping', 'deleting', 'deleted',
name='replicationrelationship_status')) 'inactive', name='replicationrelationship_status'))
* extended_status = Column(String(255)) * extended_status = Column(String(255))
* driver_data = Column(String(255)) * driver_data = Column(String(255))
State diagram for replication (status):: State diagram for replication (status)
::
<start> <start>
any error any error
Create replica +----------+ condition +-------+ Create replica +----------+ condition +-------+

View File

@ -77,7 +77,8 @@ None
Other end user impact Other end user impact
--------------------- ---------------------
Addition of the X-IO volume driver will allow the end user to use X-IO storage as backend storage in Cinder. Addition of the X-IO volume driver will allow the end user to use X-IO storage
as backend storage in Cinder.
Performance Impact Performance Impact
------------------ ------------------
@ -95,7 +96,11 @@ The driver can be configured with the following parameters in cinder.conf:
* ise_default_pool - storage pool to use for volume creation * ise_default_pool - storage pool to use for volume creation
* iscsi_ip_address - IP to one ISCSI target interface on ISE * iscsi_ip_address - IP to one ISCSI target interface on ISE
The ISE ISCSI target interface specified in iscsi_ip_address will return all target portals available on that ISE, limited to the same subnet when receiving an ISCSI discover sendtargets request from a host identified as an Openstack host. This was added to allow the host to use multipathing, if enabled on the hypervisor. The ISE ISCSI target interface specified in iscsi_ip_address will return all
target portals available on that ISE, limited to the same subnet when receiving
an ISCSI discover sendtargets request from a host identified as an Openstack
host. This was added to allow the host to use multipathing, if enabled on the
hypervisor.
Developer impact Developer impact
---------------- ----------------
@ -156,7 +161,8 @@ Documentation Impact
Support Matrix needs to be updated to include X-IO support. Support Matrix needs to be updated to include X-IO support.
https://wiki.openstack.org/wiki/CinderSupportMatrix https://wiki.openstack.org/wiki/CinderSupportMatrix
Block storage documentation needs to be updated to include X-IO volume driver information in the volume drivers section. Block storage documentation needs to be updated to include X-IO volume driver
information in the volume drivers section.
http://docs.openstack.org/ http://docs.openstack.org/
References References

View File

@ -15,10 +15,12 @@ This is to enable OpenStack to work on top of XtremIO storage.
Problem description Problem description
=================== ===================
This is a new Cinder driver that would enable Open Stack to work on top of XtremIO This is a new Cinder driver that would enable Open Stack to work on top of
storage. XtremIO storage.
The following diagram shows the command and data paths. The following diagram shows the command and data paths.
``
::
+----------------+ +--------+---------+ +----------------+ +--------+---------+
| | Command | | | | Command | |
| | Path | Cinder + | | | Path | Cinder + |
@ -44,21 +46,22 @@ The following diagram shows the command and data paths.
| | | |
v | v |
| |
+----------------+ | +------------------+ +----------------+ | +-----------------+
| | | | | | | | | |
| Compute | | | | | Compute | | | |
| | +----> XtremIO | | | +----> XtremIO |
| | Data Link | storeage | | | Data Link | storeage |
| +-----------------------------------------+ | | +-----------------------------------------+ |
+----------------+ +------------------+ +----------------+ +-----------------+
``
Proposed change Proposed change
=============== ===============
2 new volume drivers for iSCSI and FC should be developed, bridging Open stack commands to 2 new volume drivers for iSCSI and FC should be developed, bridging Open stack
XtremIO managment system (XMS) using XMS Rest API. commands to XtremIO managment system (XMS) using XMS Rest API.
The drivers should support the following Open stack actions: The drivers should support the following Open stack actions:
* Volume Create/Delete * Volume Create/Delete
* Volume Attach/Detach * Volume Attach/Detach
* Snapshot Create/Delete * Snapshot Create/Delete

View File

@ -1,6 +1,6 @@
[tox] [tox]
minversion = 1.6 minversion = 1.6
envlist = py26,py27,py33,pypy,pep8 envlist = docs,py27,pep8
skipsdist = True skipsdist = True
[testenv] [testenv]
@ -9,9 +9,11 @@ install_command = pip install -U {opts} {packages}
setenv = setenv =
VIRTUAL_ENV={envdir} VIRTUAL_ENV={envdir}
deps = -r{toxinidir}/requirements.txt deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands = python setup.py testr --slowest --testr-args='{posargs}' commands = python setup.py testr --slowest --testr-args='{posargs}'
[testenv:docs]
commands = python setup.py build_sphinx
[testenv:pep8] [testenv:pep8]
commands = flake8 commands = flake8