Skip to main content

Simple TOSCA orchestrator

Project description

opera aims to be a lightweight orchestrator compliant with OASIS TOSCA. The initial compliance is with the TOSCA Simple Profile YAML v1.2.

Quickstart

The simplest way to test opera is to install it into 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 try to deploy a hello-world service:

(.venv) $ curl -L \
      https://github.com/xlab-si/xopera-examples/archive/master.tar.gz \
  | tar -xzf -
(.venv) $ cd xopera-examples-master/01-hello-world
(.venv) $ opera deploy hello service.yaml

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

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

OpenStack client setup

Because using OpenStack modules from Ansible playbooks is quite common, we can install opera with all required OpenStack libraries by running:

(.venv) $ pip install -U opera[openstack]

Before we can actually use the OpenStack functionality, we also need to obtain the OpenStack credentials. If we log into OpenStack and navigate to the Access & Security -> API Access page, we can download the rc file with all required information.

At the start of each session (e.g., when we open a new command line console), we must source the rc file by running:

(venv) $ . openstack.rc

After we enter the password, we are ready to start using the OpenStack modules in playbooks that implement life cycle operations.

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.1.4.tar.gz (19.4 kB view hashes)

Uploaded Source

Built Distribution

opera-0.1.4-py3-none-any.whl (18.9 kB view hashes)

Uploaded Python 3

Supported by

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