Jump to: navigation, search

Difference between revisions of "Cinder/tested-3rdParty-drivers"

(FAQ: updating to only have one set instructions for how to run tempest.)
(What tests do I use?)
Line 38: Line 38:
  
 
<pre>
 
<pre>
/path/to/tempest/run_tempest.sh tempest.api.volume
+
/path/to/tempest/tools/prettytox.sh tempest.api.volume
 
</pre>
 
</pre>
  

Revision as of 02:17, 15 January 2015

Driver Testing

Description

The Cinder community (and other OpenStack projects) have agreed that if a vendor wishes to submit a driver for their particular storage device that said vendor should also be required to set up a third party CI system in their lab which runs Tempest volume tests against their storage device for every Cinder commit, and provides feedback in to Gerrit.

Deadlines

All volume drivers need to have a CI by end of K-3, March 19th 2015. Failure will result in removal in the Kilo release. Discussion regarding this was in the #openstack-meeting IRC room during the Cinder meeting. Read discussion logs

Third Party CI Requirements

Existing CI Solutions

  • Simple OpenStack Continuous Integration (sos-ci)
    • Git repo
    • Builds Devstack virtual machines with Ansible.

Questions

  • Join Third Party Meeting
  • Reach out to IRC nicks DuncanT or asselin on Freenode #openstack-cinder.

FAQ

What tests do I use?

Use the OpenStack integration test suite Tempest. Specifically you only need to run the volume tests. These tests can be started with the following command from a Tempest repo:

/path/to/tempest/tools/prettytox.sh tempest.api.volume

How do I configure DevStack so my Driver Passes Tempest?

Sample local.conf for devstack setup.

[[local|localrc]]
ADMIN_PASSWORD=password
MYSQL_PASSWORD=password
RABBIT_PASSWORD=password
SERVICE_PASSWORD=password
SERVICE_TOKEN=password

# These options define  expected driver capabilities
TEMPEST_VOLUME_DRIVER=foo
TEMPEST_VOLUME_VENDOR="Foo Inc"
TEMPEST_STORAGE_PROTOCOL=iSCSI

# These options allow you to specify a branch other than "master" be used
CINDER_REPO=https://review.openstack.org/openstack/cinder
CINDER_BRANCH=refs/changes/83/72183/4

# Disable security groups entirely
Q_USE_SECGROUP=False
LIBVIRT_FIREWALL_DRIVER=nova.virt.firewall.NoopFirewallDriver
CINDER_SECURE_DELETE=False

[[post-config|$CINDER_CONF]]
volume_driver=cinder.volume.drivers.foo.FooDriver

When thirdparty CI voting will be required?

Once third party CI's become more common and stable, we'll revisit the subject. For now you can review the discussion on the decision.