Skip to content
workfloworchestratorPublic

About

ANA ultimate Requester Agent

Resources

Stars

0 stars

Watchers

15 watching

Forks

Latest commit

 

History

384 Commits

Folders and files

Repository files navigation

nsi-aura

Introduction

NSI-AuRA, the Network Service Interface (NSI) ultimate Requester Agent (uRA) for the Advanced North Atlantic (ANA) consortium (https://www.anaeng.global). This is part of a project called ANA-GRAM, the ANA Global Resource Aggregation Method, to federate the ANA trans-Atlantic links via network automation.

Getting started

Clone the GitHub repository:

git clone https://github.com/workfloworchestrator/nsi-aura.git

Create a Python virtual environment, like venv, and install the dependencies:

python -m venv venv
. venv/bin/activate
pip install .

And run nsi-aura:

PYTHONPATH=. python aura

Development

Editable install with development tools:

pip install '.[dev]'

Create statemachine image(s)

Besides the Python packages from dev, also Graphviz needs to be installed and available in your PATH. Depending on the platform being used for development, use something like the following to install Graphviz:

brew install graphviz

or

apt install graphviz

And then (re)generate the image(s) in the images folder:

python aura/fsm.py

Versioning

The release git tag is the only place a version is written by hand. pyproject.toml declares dynamic = ["version"] and setuptools-scm derives it: a tag builds 0.3.2, any other commit builds the next patch as a dev release with its commit, 0.3.3.dev3+g1a2b3c4. AuRA logs that version at startup and exposes it via importlib.metadata.version("nsi-aura").

The container build has no .git, so .github/workflows/build-push-container.yml checks out with fetch-depth: 0, resolves the version on the runner, and passes it as --build-arg VERSION=..., which the Dockerfile hands to setuptools-scm as SETUPTOOLS_SCM_PRETEND_VERSION_FOR_NSI_AURA. A build without that argument fails rather than producing a mislabelled image:

docker build --build-arg VERSION="$(uvx --from setuptools-scm python -m setuptools_scm)" -t nsi-aura .

Authors

Arno Bakker (SURF)
Hans Trompert (SURF)

License

Apache-2.0

About

ANA ultimate Requester Agent

Resources

Stars

0 stars

Watchers

15 watching

Forks

Releases

Packages

Used by

Contributors

Languages