Name: volume_driver_cert
Owner: Cloud Foundry
Description: null
Created: 2016-04-20 17:16:17.0
Updated: 2018-03-21 19:25:21.0
Pushed: 2018-03-21 19:25:20.0
Homepage: null
Size: 5596
Language: Go
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
These tests are used to certify volume drivers against the Diego volume manager (aka volman).
Prereqs:
et github.com/onsi/ginkgo/ginkgo
et github.com/onsi/gomega
To install cert tests in your GOPATH
:et -t code.cloudfoundry.org/volume_driver_cert
olman_driver_path": "~/voldriver_plugins",
river_address": "http://127.0.0.1:9786",
river_name": "fakedriver",
reate_config": {
"Name": "fake-volume",
"Opts": {"volume_id":"fake-volume"}
NB: Optionally, you can supply a TLS Config as follows:-
olman_driver_path": "~/voldriver_plugins",
.
ls_config": {
"InsecureSkipVerify": true,
"CAFile": "localdriver_ca.crt",
"CertFile":"localdriver_client.crt",
"KeyFile":"localdriver_client.key"
go
Note: to run tests, you'll need to be in a containing project or GOPATH
(eg. diego_release).
Our support example driver is a local volume driver. We run certifications in our CI to certify it against both Volman and Docker.
The definitions of those tasks are in local-volume-release/scripts. They can be used to create a Concourse pipeline or run the certifications locally. We'll focus on the Volman certifications here.
We used a start/stop script to manage our driver (local-volume-release/scripts/startdriver* and local-volume-release/scripts/stopdriver.sh).
We created stock fixture files (local-volume-release/scripts/fixtures/*) and certs for the encrypted tests (local-volume-release/scripts/certs).
Finally, we encapsulated the running of the various types of the driver (json plain/tls, unix sockets, tcp) in a script (local-volume-release/scripts/run-certification-tests).
To run (with all the prereqs met):
cal-volume-release/scripts/run-certification-tests