Orca Docker sub-modules

ORCA Framework

License

License

Eclipse Public Licence, Version 1.0
Categories

Categories

Docker Container Virtualization Tools Net
GroupId

GroupId

net.exogeni.orca
ArtifactId

ArtifactId

docker-orca
Last Version

Last Version

5.4.5
Release Date

Release Date

Type

Type

jar
Description

Description

Orca Docker sub-modules
ORCA Framework
Project Organization

Project Organization

RENCI

Download docker-orca

How to add to project

<!-- https://jarcasting.com/artifacts/net.exogeni.orca/docker-orca/ -->
<dependency>
    <groupId>net.exogeni.orca</groupId>
    <artifactId>docker-orca</artifactId>
    <version>5.4.5</version>
</dependency>
// https://jarcasting.com/artifacts/net.exogeni.orca/docker-orca/
implementation 'net.exogeni.orca:docker-orca:5.4.5'
// https://jarcasting.com/artifacts/net.exogeni.orca/docker-orca/
implementation ("net.exogeni.orca:docker-orca:5.4.5")
'net.exogeni.orca:docker-orca:jar:5.4.5'
<dependency org="net.exogeni.orca" name="docker-orca" rev="5.4.5">
  <artifact name="docker-orca" type="jar" />
</dependency>
@Grapes(
@Grab(group='net.exogeni.orca', module='docker-orca', version='5.4.5')
)
libraryDependencies += "net.exogeni.orca" % "docker-orca" % "5.4.5"
[net.exogeni.orca/docker-orca "5.4.5"]

Dependencies

compile (6)

Group / Artifact Type Version
org.ini4j : ini4j jar 0.5.4
com.googlecode.json-simple : json-simple jar 1.1.1
log4j : log4j jar 1.2.13
org.slf4j : jcl-over-slf4j jar 1.7.5
org.slf4j : slf4j-api jar 1.7.5
org.slf4j : slf4j-log4j12 jar 1.7.5

test (1)

Group / Artifact Type Version
junit : junit jar 4.10

Project Modules

  • orca_mysql
  • orca_base
  • orca-rpmbuild
  • orca_common
  • orca_am_broker
  • orca_sm
  • orca_controller

ORCA is a IaaS software for managing meta-clouds. It is deployed in production on ExoGENI world-wide testbed (http://www.exogeni.net).

Building ORCA

Building Orca is a straightforward Maven command.

Running ORCA in emulation

You can run Orca in emulation using docker containers by running some scripts:

  • ./docker/docker_build.sh
  • ./docker/docker_run.sh

Testing ORCA

The default compile doesn't run any of the tests, because many of them depend on having a MySQL server to talk to (not a great idea, but working for now).

One of the docker containers started (in emulation) will be a MySQL container, that can be used when running the "unit tests", which are enabled via a Maven 'profile'. (Most of the unit tests are not, strictly speaking, "unit tests". But they're still useful :)

  • mvn clean install -Ptest

Tests are run automatically on our Jenkins server, following every commit pushed to GitHub. https://ci.exogeni.net:8443/

Tests that are run

Many, but not all, of the current ORCA tests are run as if requests were submitted to the Controller:

Interacting with ORCA

You can download Flukes from here: http://geni-images.renci.org/webstart/flukes.jnlp And use that to connect to ExoGENI or your emulated ORCA.

You'll need to get GENI credentials to use ExoGENI: http://www.exogeni.net/2015/09/exogeni-getting-started-tutorial/

You can also use Ahab to programmatically manipulate slices in ORCA.

Contributing to ORCA

  • Issue for the code change
  • Branch, named after the issue
    • Test for the code change (TDD. Test should fail at this point)
    • Code for the code change (Test should pass at this point)
    • Code can be automatically formatted following Orca guidelines using the maven command mvn formatter:format
  • Pull Request
  • Code Review
  • Merge code into master

Your code will not be formatted to follow the Orca style guidelines using the normal maven build commands (e.g. mvn clean install), but it can be formatted using the maven command mvn formatter:format. The style guidelines can also be imported into Eclipse from the file orca_formatter_style.xml

Orca deployment structure in ExoGENI

net.exogeni.orca

RENCI NRIG

Network Research and Infrastructure Group, RENCI/UNC Chapel Hill

Versions

Version
5.4.5