Lightweight TOSCA orchestrator
Project description
xOpera TOSCA orchestrator
xOpera orchestration tool compliant with TOSCA YAML v1.3 in the making.
Aspect | Information |
---|---|
Tool name | opera |
Documentation | xOpera documentation |
Orchestration standard | OASIS TOSCA |
Implementation tools | Ansible |
Contact us | xopera@xlab.si |
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 Version 1.3.
opera
implements the TOSCA standard with Ansible automation tool where Ansible playbooks can be used as
orchestration actuators within the TOSCA interface operations.
We are currently testing experimental support for TOSCA Version 2.0, which will become the main version after TOSCA 2.0 is released.
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 just xOpera TOSCA parser go to xopera-tosca-parser repository. If you want to use opera commands from an API take a look at xopera-api repository. You can also take a look at the xOpera SaaS component, which is designed for business partners and enterprise users. To find more about xOpera project visit our xOpera documentation.
License
This work is licensed under the Apache License 2.0.
Contact
You can contact the xOpera team by sending an email to xopera@xlab.si.
Acknowledgement
This project has received funding from the European Union’s Horizon 2020 research and innovation programme under Grant Agreements No. 825040 (RADON), No. 825480 (SODALITE) and No. 101000162 (PIACERE).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file opera-0.7.0.tar.gz
.
File metadata
- Download URL: opera-0.7.0.tar.gz
- Upload date:
- Size: 77.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 263fa342decdb638492ae9140cd22ed1d077e00b2e8ea83153acb59221cb91bb |
|
MD5 | be074e03199fcbd0c990c093091130e6 |
|
BLAKE2b-256 | 91f40c8f058ff2c0d7058f24a0a1625c4ba9d14ddd9f1df0ef95c362f1a1e8c5 |
File details
Details for the file opera-0.7.0-py3-none-any.whl
.
File metadata
- Download URL: opera-0.7.0-py3-none-any.whl
- Upload date:
- Size: 47.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e573892b8a72c29870764b75d2ddef866918ba1c34b9d7677d6613c86a23ae1a |
|
MD5 | 483c32fc38b457d77d45cd169d75b3d9 |
|
BLAKE2b-256 | 3c00cda119cb7eaaf4193ab61e385fcd7f1e3f2dd728813e31ecd1dd9f2cc9b1 |