Releases: esl/amoc
Releases · esl/amoc
2.1.0
2.1.0 - 2020-08-19
This release focuses on the REST API, which is now powered by OpenAPI Specifications generated by openapi-generator.
The main changes:
- PR#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 - switch from cowboy-swagger to amoc_rest (framework generated using openapi-generator). Online Swagger UI documentation for the current release can be found here.
- PR#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 - 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 - 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 - remove the legacy way of providing configuration through erlang app environment variables
- PR#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
2.0.0
Changed:
- extended amoc documentation
- automatic distribution of the uploaded scenarios to all the nodes in the amoc cluster
- amoc configuration:
- mandatory declaration of the required parameters for the scenario
- ets based
amoc_config:get/2
interface
amoc_controller
- module doesn't hold any information about the cluster any more, it's now a responsibility of theamoc_dist
module
Added:
- integration tests for docker based amoc cluster
- possibility to dynamically add the new amoc node to the cluster
Removed:
- unused rebar dependencies
2.0.0-beta
Changed:
- exometer - now Amoc uses only exometer_core and 2 reporters graphite and statsd
- scenario for GDPR removal
Removed:
- scenarios and helpers related to XMPP - they were moved to https://github.com/esl/amoc-arsenal-xmpp
- dependency on escalus, amqp_client and other libraries not directly used by Amoc
1.3.0
Changed:
- escalus to esl/escalus@58c2bf8
amoc_xmpp
new helper functionsend_request_and_get_response
amoc_xmpp_handlers
new function for constructing handlersamoc_scenario
behavior was extended with optional callbackscontinue
,terminate
,next_user_batch
more details in #90- Amoc's docker container allows to pass
AMOC_EXTRA_CODE_PATHS
env var with path to additional beam files - Amoc's REST API allows to start a scenario which is outside of Amoc's
scenario
directory amoc_config
- allows to pass env vars containing value
false
- allows to parse and validate scenario variables passed as env vars
- allows to pass env vars containing value
amoc_dist
andamoc_slave
now master node is the one a scenario is started onamoc_throttle
works in distributed mode now- documentation - the structure of the documentation was reworked and the content was updated and extended
Added:
amoc_xmpp_muc
new module with helper function for building MUC scenarios- scripts and documentation showing how to setup and run load tests with multiple Amoc nodes in docker containers
iq_metrics
helper for generic metrics related to IQ stanzasMUC
andMUC_light
load test scenariosamoc_coordinator
to coordinate sessions
Removed:
- ansible scripts for deploying amoc
amoc_annotations
moduleconfig
helper module - functionality moved toamoc_config
1.2.1
Changed:
amoc_controller
to allow passing stated from scenario'sinit
callback tostart
callbackamoc_metrics
support gauge metric typeamoc_scenario
behavior to allow passing state frominit
tostart
callbacksamoc_xmpp
connect_or_exit
function was extended to allow passing extra user/connection options- new function
pick_server/1
which picks random server from config varxmpp_servers
- supported Erlang/OTP versions - now the oldest supported is Erlang/OTP 21.2
- escalus updated to esl/escalus@f20bee4
- scenarios where adjusted to be compatible with the updated escalus
Added:
- helper module for scenario configuration
amoc_throtlle
moduleamoc_xmpp_user
module for unified user and password generation
1.2.0 metrics refactoring and common XMPP helpers
Changed:
amoc_metrics
- now only 2 type of metrics are available via theamoc_metrics
APIcounters
- counting occurrences of an event in total and in last minute. This is exometer's spiral metric. Its name is prefixed with[amoc, counters]
.times
- provides statistic of given action execution time. This is exometer's histogram metric. Its name is prefixed with[amoc, times]
.
Added:
amoc_xmpp
- a new module, currently with only one function simplifying connection to the XMPP serveramoc_xmpp_handlers
- a new module with 2 handlers which can be used with escalus's stnaza handler feature. See sample scenarios (mongoose_simple_with_metrics) for examples.
1.1.0 deps upgrade
Changed:
- updated deps #67:
- escalus
- lager to
3.6.8
- jiffy to
0.15.2
- trails to
2.1.0
- cowboy_trails to
2.1.0
- recon to
2.4.0
- cowboy to
2.3.0
Added:
- amqp_client
3.7.9
Removed:
- mochijson2
- lhttpc
1.0.0 - Rebar3 and automated doceker image buids
Before switching to rebar3
Changed:
- esl/escalus updated to esl/escalus@47848b5
Added:
iproute2
pkg to amoc's docker- ability to pass graphite's port number to amoc's docker container