Package: opera
xOpera TOSCA orchestratorxOpera orchestration tool compliant with TOSCA YAML v1.3 in the making.AspectInformationTool nameoperaDocumentationxOpera documentationOrchestration standardOASIS TOSCAImplementation toolsAnsibleContact usxopera@xlab.siTable of ContentsIntroductionPrerequisitesInstallation and QuickstartLicenseContactAcknowledgementIntroductionoperaaims to be a lightweight orchestrator compliant withOASIS TOSCA.
The current compliance is with theOASIS TOSCA Simple Profile in YAML Version 1.3.operaimplements the TOSCA standard withAnsibleautomation tool where Ansible playbooks can be used as
orchestration actuators within the TOSCA interface operations.We are currently testing experimental support forTOSCA Version 2.0, which will become the main version after
TOSCA 2.0 is released.Prerequisitesoperarequires 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:$sudoaptupdate$sudoaptinstall-ypython3-venvpython3-wheelpython-wheel-commonInstallation and QuickstartThe orchestration tool is available on PyPI as a package namedopera.
Apart from the latestPyPI productionversion, you can also find the latest operaPyPI developmentversion, which
includes pre-releases so that you will be able to test the latest features before they are officially released.The simplest way to testoperais to install it into Python virtual environment:$mkdir~/opera&&cd~/opera$python3-mvenv.venv&&..venv/bin/activate(.venv)$pipinstalloperaTo test if everything is working as expected, we can now clone xOpera's
GitHub repository and try to deploy a hello-world service:(.venv)$gitclonegit@github.com:xlab-si/xopera-opera.git(.venv)$cdxopera-opera/examples/hello(.venv)$operadeployservice.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 completeIf 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)$operaundeploy[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 completeAnd that is it.
For more startup examples please visitexamples folder, or go toxopera-examplesrepository if you wish to explore
deeper with more complex xOpera examples.
If you want to use just xOpera TOSCA parser go toxopera-tosca-parserrepository.
If you want to use opera commands from an API take a look atxopera-apirepository.
You can also take a look at thexOpera SaaScomponent, which is designed for business partners and enterprise users.
To find more about xOpera project visit ourxOpera documentation.LicenseThis work is licensed under theApache License 2.0.ContactYou can contact the xOpera team by sending an email toxopera@xlab.si.AcknowledgementThis 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).