The European Telecommunication Standards Institute (ETSI) describes a set of tests to verify the compliance of cloud management frameworks with OCCI or CDMI protocols. The title of the document is CLOUD; Test Descriptions for Cloud Interoperability.
The pOCCI test suite implements a real-world subset of tests described in the document. In essence, each test that can be carried out with real-world resources (Compute, Storage, Network) is implemented. Tests for abstract OCCI concepts that have no real-world counterpart (such as an OCCI Resource) are omitted because no real-world Cloud Management Framework can be asked to create a “Resource”.
Originally conceived for use by INDIGO-DataCloud service developers, the test suite runs against an existing, OCCI-enabled cloud service and produces a compliance report, detailing tests passed or failed.
The pOCCI test suite is intended for the following user groups, ordered by importance (meaning 1 is the main audience while 3 is a group that might be interested but not primarily targeted):
Basic features:
Authentication:
Cloud providers:
From sources:
git clone https://github.com/CESNET/pOCCI/ && cd pOCCI
python setup.py install
From pypi:
pip install pOCCI
From INDIGO Repository:
yum install python2-pOCCI
# OR
apt-get install python-pocci
OCCI compliance tests:
Set parameters in ~/.pOCCI.cfg.
Example config file:
[main]
url = 'https://example.com:11443'
authtype = 'basic'
ignoressl = True
user = 'oneadmin'
passwd = 'good-password'
mimetype = 'text/plain'
curlverbose = False
#outputformat = 'plain'
outputformat = 'json'
connectiontimeout = 60
timeout = 120
occi.tests.entity = {'occi.core.title': 'My Machine'}
Launch tests:
pOCCI
See manual page for all options.
OCCI message parser
Example:
echo 'Category: entity;scheme="http://schemas.ogf.org/occi/core#";class="kind"' | pOCCI-parse
curl -u $user:$password -H 'Accept: text/plain' https://occi.example.com:11443/-/ | pOCCI-parse
curl -u $user:$password -H 'Accept: text/plain' https://occi.example.com:11443/compute/ | pOCCI-parse -t entities -o text/occi