Skip to content

Commit

Permalink
Updated README
Browse files Browse the repository at this point in the history
  • Loading branch information
joivo committed Sep 9, 2019
1 parent 603f46a commit 7b81ad2
Showing 1 changed file with 17 additions and 13 deletions.
30 changes: 17 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@

# Iguassu
## What is Iguassu?
Iguassu is a tool for monitoring and executing jobs in a multi-cloud environment federated by the [fogbow middleware](http://www.fogbowcloud.org). Iguassu allows the user to harness cloud resources without bothering about the details of the cloud infrastructure.
Iguassu is a tool for monitoring and executing jobs in a multi-cloud environment federated by the [fogbow middleware](https://github.com/fogbow).
Iguassu allows the user to harness cloud resources without bothering about the details of the cloud infrastructure.

Iguassu has two main components:
- **Submission Service**: The submission Service is the daemon responsible for receiving job submission and monitoring requests and interacting with the **fogbow middleware** to execute the jobs in the federated cloud resources. The submission services runs a **REST** interface accessed by one client: **Iguassu Dashboard**.
- **Iguassu Dashboard**: Its a web application that shows status information about the jobs controlled by a **Submission Service**.
Iguassu has three main components:
- **Submission Service**: The submission Service is the daemon responsible for receiving job submission and monitoring requests and interacting with the **fogbow middleware** to execute the jobs in the federated cloud resources. The submission services runs a **REST** interface accessed by one client, the **Web UI**.
- **Execution Service**: Named as [Arrebol](https://github.com/ufcg-lsd/arrebol/tree/feature/remote-worker), its responsible for executing a job queue on remote or local nodes, using for each task of a job, a container.
- **Web UI**: Its a Web Interface that shows status information about the jobs controlled by a **Submission Service** and accepts submissions of JDF's.

This document describes how to install and configure the **Submission Service**. To install and configure **Iguassu Dashboard**, go to [its repository](https://github.com/ufcg-lsd/iguassu-dashboard).
This document describes how to install and configure the **Submission Service**. To install and configure **Web UI**, go to [its repository](https://github.com/emanueljoivo/iguassu-web-ui). To install and configure **Execution Service**, go to [Arrebol](https://github.com/ufcg-lsd/arrebol/) repository.

## How to use it?

Expand All @@ -22,7 +24,7 @@ and commands for the entire job and the other one to specify particular attribut
Clause | Description
---- | --------------------
job: |
label: | A desciptive name for the job.
label: | A descriptive name for the job.
sched: | a common root directory to be used by all tasks
init: | Common job initiation, a list of commands to be executed first in all tasks of the job
final: | Common job finalization, a list of commands to be executed last in all tasks of the job
Expand All @@ -47,32 +49,34 @@ Besides label and requirements sub-clauses, you may define default descriptions

#### The Init clause

The Init clause is the first of the three definition clauses of a task. The ones responible for describing the behavior of a job. The Init clause is shared between all tasks of a given job and is comprised by a list of commands, which can be code to be executed remotely or two special commands for moving files the PUT and GET commands, which will be explained in a specific sections
The Init clause is the first of the three definition clauses of a task. The ones responsible for describing the behavior of a job. The Init clause is shared between all tasks of a given job and is comprised by a list of commands, which can be code to be executed remotely or two special commands for moving files the PUT and GET commands, which will be explained in a specific sections

#### The Final clause

As with the Init clause, the final clause is part of the definition of a task, it is also shared between all tasks, the diference being that it is executed after the task clause commands, it has the same functionality and usability of the Init clause
As with the Init clause, the final clause is part of the definition of a task, it is also shared between all tasks, the difference being that it is executed after the task clause commands, it has the same functionality and usability of the Init clause

#### The Task clause

There is one task clause to describe each task of a job. The number of tasks in a job is determined by the number of task clauses in the jdf. The task clause is used to describe the main behavior of a task. That said, the remain of it's behavior is identical to the Init and Final clauses

#### Special operators PUT and GET
This two commands are used to copy files from and to the file driver (ex: owncloud) where you can host files that you will produce or will use when run your task. the syntax is as follows: .
This two commands are used to copy files from and to the file driver (ex: ownCloud) where you can host files that you will produce or will use when run your task. the syntax is as follows: .
```
PUT localfile remotefile - where the localfile is visible to the scheduler that will run the job
GET remotefile localfile - where the localfile is writable to the scheduler that will run the job
```

## How to configure the **Submission Service**?
## How to build and configure the **Submission Service**?

To configure the **Submission Service** one should edit two configuration files. In the first file, **iguassu.conf**, it is mandatory to assign the port which the **Submission Service** daemon will wait for HTTP requests after it has been started:
To build, just run

```
rest_server_port=port
mvn clean install
```

In the second file, **sched.conf**, it is possible to tune the behaviour of the **Submission Service**.
To configure the **Submission Service** one should edit one configuration file.
Your template was placed in `src/main/resources/templates/iguassu.conf.template`.
Fill in as needed and described on the comments inside the file.

To start the **Submission Service**, run the script:

Expand Down

0 comments on commit 7b81ad2

Please sign in to comment.