Skip to content

Commit

Permalink
Merge pull request #134 from esl/2.1.0-release
Browse files Browse the repository at this point in the history
Preparation to 2.1.0 release
  • Loading branch information
NelsonVides authored Aug 19, 2020
2 parents 0f4eba5 + c5ced55 commit b4b4ab2
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 10 deletions.
29 changes: 29 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,35 @@
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/)

## [2.1.0](https://github.com/esl/amoc/compare/2.0.1...2.1.0) - 2020-08-19

This release focuses on the REST API, which is now powered by OpenAPI Specifications generated by [openapi-generator](https://openapi-generator.tech/).

## The main changes:

* [PR#123](https://github.com/esl/amoc/pull/123) - simplification of scenario uploading, now it can be done using the following command: `curl -s -H "Content-Type: text/plain" -T scenario.erl 'http://localhost:4000/upload'`
* [PR#124](https://github.com/esl/amoc/pull/124) - switch from [cowboy-swagger](https://github.com/inaka/cowboy_swagger) to [amoc_rest](https://github.com/esl/amoc_rest) (framework generated using [openapi-generator](https://openapi-generator.tech/)). Online Swagger UI documentation for the current release can be found [here](https://esl.github.io/amoc_rest/?v=1.1.0).
* [PR#125](https://github.com/esl/amoc/pull/125) - possibility to update scenario settings at runtime. Support of the settings for helper modules. Update of the `-required_variable(...)` module attribute format:
```
-type module_attribute() :: #{name := name(),
description := string(),
default_value => value(),
verification => verification_method(),
update => update_method()}.
```
* [PR#130](https://github.com/esl/amoc/pull/130) - added new `/scenarios/info/{scenario_name}` REST API, it returns edoc description of the scenario module and all the relevant settings declared using `-required_variable(...)` attribute.
* [PR#131](https://github.com/esl/amoc/pull/131) - implementation of the `/execution/*` REST APIs:
* `/execution/start` - starts scenario on all the nodes in the cluster
* `/execution/stop` - stops scenario execution on all the nodes in the cluster
* `/execution/add_users` - adds new users on all or specific nodes in the cluster
* `/execution/remove_users` - removes users on all or specific nodes in the cluster
* `/execution/update_settings` - updates scenario settings on all or specific nodes in the cluster
* [PR#132](https://github.com/esl/amoc/pull/132) - remove the legacy way of providing configuration through erlang app environment variables
* [PR#133](https://github.com/esl/amoc/pull/133) - significant improvement of the `/status` REST API, introduction of the `/status/{node_name}` REST API (which can be used to check the status of other nodes in the cluster). The following thing are reported:
* Amoc application status (up/down)
* Amoc specific env. variables
* Amoc controller status + runtime scenario settings for running/terminating/finished states

## [2.0.1](https://github.com/esl/amoc/compare/2.0.0...2.0.1) - 2019-12-05

### Changed:
Expand Down
15 changes: 7 additions & 8 deletions doc/http-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,16 @@ AMOC REST API
Overview
--

Current our API allows us to:
* Start a scenario
* Checking liveness of AMOC erlang application
* Upload scenario
Our current API allows us to:
* Control scenario execution
* List all the AMOC nodes in the cluster
* Check the status of the AMOC application (on all the nodes in the cluster)
* Upload a new scenario (or helper module)
* List available scenarios
* Pinging every AMOC nodes from master node
* Get status of running scenario on single node

With default options API will be running on port 4000. You can set other port by OS environment variable (`AMOC_API_PORT`).
In Amoc we use Swagger so if you want the current documentation in a nice format you can find it under `/api-docs/` path.
In Amoc we use Swagger UI so if you want the current documentation in a nice format you can find it under `/api-docs/` path.
Just open it in your browser (e.g. http://localhost:4000/api-docs/)

Also you can find the current documentation [here](https://esl.github.io/amoc_rest/?v=a5b9742)
You can also find the current documentation [here](https://esl.github.io/amoc_rest/?v=1.1.0)
(without possibility to execute requests)
2 changes: 1 addition & 1 deletion rebar.config
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
{exometer_core, {git, "https://github.com/esl/exometer_core.git", {branch, "master"}}},
{exometer_report_graphite, {git, "https://github.com/esl/exometer_report_graphite.git", {branch, "master"}}},
%% when updating amoc_rest version, don't forget to update it at ./doc/http-api.md as well.
{amoc_rest, {git, "https://github.com/esl/amoc_rest.git", {ref, "a5b9742"}}},
{amoc_rest, {git, "https://github.com/esl/amoc_rest.git", {tag, "1.1.0"}}},
{docsh, "0.7.2"}
]}.

Expand Down
2 changes: 1 addition & 1 deletion rebar.lock
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{"1.1.0",
[{<<"amoc_rest">>,
{git,"https://github.com/esl/amoc_rest.git",
{ref,"a5b974241b0c89faa3918d2424ff00a74873cc1b"}},
{ref,"a6a5f422a4a555dbd67dc5d393d62079f5b75b1e"}},
0},
{<<"cowboy">>,{pkg,<<"cowboy">>,<<"2.8.0">>},1},
{<<"cowlib">>,{pkg,<<"cowlib">>,<<"2.9.1">>},2},
Expand Down

0 comments on commit b4b4ab2

Please sign in to comment.