Cinder/tested-3rdParty-drivers
Contents
Driver Testing
Testing for new drivers in Kilo release
We've implemented a simple wrapper around the tempest volume.api tests at https://github.com/openstack-dev/devstack/tree/master/driver_certs . The process currently is for each vendor to run this test against their backend driver in their own environment. The wrapper is very simple, it just does a fresh clone of the cinder and tempest repos and restarts services, then runs the tempest volume.api tagged tests in the tempest suites and collects the output to a temporary log file. Once you have a log file, create a cinder launchpad bug and attach the log to it. Post a comment to your driver's gerrit review with a link to the bug.
Testing for drivers merged before Kilo release
Deadline for drivers merged before Kilo to have a CI is end of k-2 (5th of Feb 2015) - Discussion regarding this here
To be designated as compatible, a third-party plugin and/or driver code must implement external third party testing. The testing should be Tempest executed against a Devstack build with the proposed code changes. The environment managed by the vendor should be configured to incorporate the plugin and/or driver solution. The OpenStack Infrastructure team has provided details on how to integrate 3rd party testing at:
http://ci.openstack.org/third_party.html
and Tempest can be found at:
https://github.com/openstack/tempest
Questions
- Join Third Party Meeting
- Reach out to IRC nicks DuncanT or asselin on Freenode #openstack-cinder.
Configuring Devstack For Your Driver CI Testing
[[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<br /> 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
FAQ
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.