Skip to main content

OCCI Compliance Testing Tool

Project description

Build Status Coverage

pOCCI—OCCI Compliance Test Suite

Introduction

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):

  1. Developers of OCCI-compliant services for compliance testing, ideally to be used as a part of their continuous integration process. For their purpose, pOCCI may be used either as a client against a remote service but it may also be used in a local mode just to validate OCCI messages for compliance with the standard.
  2. Administrators (integrators) of cloud service sites with OCCI interfaces. Note that in this scenario, pOCCI is intended mainly for preliminary testing while the site is being set up. It may be potentially destructive to virtual resources already created in the cloud site.
  3. Prospective user groups that use OCCI-compliant clients and wish to verify OCCI compliance of the server side.

Features

Basic features:

  • OCCI testing
  • OCCI messages parsing
  • partial OCCI client library for python

Authentication:

  • basic auth
  • X509
  • keystone

Cloud providers:

  • dummy (rOCCI server)
  • OpenNebula
  • Amazon EC2
  • OpenStack

Installation

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

Usage

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
pOCCI-1.0.3.tar.gz (25.9 kB) Copy SHA256 hash SHA256 Source None Mar 13, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page