Skip to main content

Lightweight TOSCA orchestrator

Project description

xOpera TOSCA orchestrator

xOpera orchestration tool compliant with TOSCA YAML v1.3 in the making.

PyPI Test PyPI CircleCI Code Climate coverage GitHub contributors GitHub top language GitHub code size in bytes PyPI - License PyPI - Python Version PyPI - Downloads

Aspect Information
Tool name opera
Documentation opera CLI documentation
Orchestration standard OASIS TOSCA Simple Profile in YAML v1.3
Implementation tools Ansible

Table of Contents

Introduction

opera aims to be a lightweight orchestrator compliant with OASIS TOSCA. The current compliance is with the OASIS TOSCA Simple Profile in YAML v1.3. The opera CLI documentation for is available on GitHub pages. Opera implements TOSCA standard with Ansible automation tool where Ansible playbooks can be used as orchestration actuators within the TOSCA interface operations.

Prerequisites

opera requires Python 3 and a virtual environment. In a typical modern Linux environment, we should already be set. In Ubuntu, however, we might need to run the following commands:

$ sudo apt update
$ sudo apt install -y python3-venv python3-wheel python-wheel-common

Installation and Quickstart

The orchestration tool is available on PyPI as a package named opera. Apart from the latest PyPI production version, you can also find the latest opera PyPI development version, which includes pre-releases so that you will be able to test the latest features before they are officially released.

The simplest way to test opera is to install it into Python virtual environment:

$ mkdir ~/opera && cd ~/opera
$ python3 -m venv .venv && . .venv/bin/activate
(.venv) $ pip install opera

To test if everything is working as expected, we can now clone xOpera's GitHub repository and try to deploy a hello-world service:

(.venv) $ git clone git@github.com:xlab-si/xopera-opera.git
(.venv) $ cd xopera-opera/examples/hello
(.venv) $ opera deploy service.yaml
[Worker_0]   Deploying my-workstation_0
[Worker_0]   Deployment of my-workstation_0 complete
[Worker_0]   Deploying hello_0
[Worker_0]     Executing create on hello_0
[Worker_0]   Deployment of hello_0 complete

If nothing went wrong, new empty file has been created at /tmp/playing-opera/hello/hello.txt.

To delete the created directory, we can undeploy our stuff by running:

(.venv) $ opera undeploy
[Worker_0]   Undeploying hello_0
[Worker_0]     Executing delete on hello_0
[Worker_0]   Undeployment of hello_0 complete
[Worker_0]   Undeploying my-workstation_0
[Worker_0]   Undeployment of my-workstation_0 complete

And that is it. For more startup examples please visit examples folder, or go to xopera-examples repository if you wish to explore deeper with more complex xOpera examples. If you want to use opera commands from an API take a look at xopera-api repository. To find more about xOpera project visit our xOpera documentation.

Acknowledgement

This project has received funding from the European Union’s Horizon 2020 research and innovation programme under Grant Agreements No. 825040 (RADON) and No. 825480 (SODALITE).

Project details


Download files

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

Source Distribution

opera-0.6.6.tar.gz (109.0 kB view details)

Uploaded Source

Built Distribution

opera-0.6.6-py3-none-any.whl (102.1 kB view details)

Uploaded Python 3

File details

Details for the file opera-0.6.6.tar.gz.

File metadata

  • Download URL: opera-0.6.6.tar.gz
  • Upload date:
  • Size: 109.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.4

File hashes

Hashes for opera-0.6.6.tar.gz
Algorithm Hash digest
SHA256 62600e116bffa024f9c898a633f4a1f0dbfdb39606e5066ed72ddc77a3845402
MD5 0a40fd73911d9cb0eedaa4b31811ada8
BLAKE2b-256 5b0b92bc16f02833f556571ea2264523942947e26e78978bf73969ee9cb018df

See more details on using hashes here.

File details

Details for the file opera-0.6.6-py3-none-any.whl.

File metadata

  • Download URL: opera-0.6.6-py3-none-any.whl
  • Upload date:
  • Size: 102.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.4

File hashes

Hashes for opera-0.6.6-py3-none-any.whl
Algorithm Hash digest
SHA256 63ee70bfa552107b26a327332ac7bf4600bee194567f8abfe7b95b917e5b1243
MD5 53544774cd4ddea829ff21dfe4ec1cc7
BLAKE2b-256 d4fb7f40545df1e1cbb4dcc6477b31612d6c3bf98ef062423c53ee2ca88991a7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page