Test if NebulOuS can detect that the SLO for an application component that allows scaling up is not being met and deploys new instances of the component.
Preconditions:
NebulOuS core is running.
Three NebulOuS nodes are active and registered in NebulOuS.
Application of “Scaling APP” is registered in NebulOuS.
The APP SLO is configured such as max_age can’t be bigger than 30 seconds. Number of worker component instances can range from 0 to infinite. The objective function is set to minimize the number of instances of worker component.
Steps:
Action:
User logs in into NebulOuS web UI and launches an instance of the application “Scaling APP”.
Expected result:
NebulOuS deploys an instance of the APP component “controller”.
No instance of worker component is created.
Action:
User interacts with the REST API offered by the controller component and sends a new job with a value of t = 30
Expected result:
After 30 seconds, NebulOuS detects that the SLO of the application has been violated and creates a new instance of worker component.
Action:
User interacts with the REST API offered by the controller component and sends 3 new jobs with a value of t = 30
Expected result:
After 30 seconds, NebulOuS detects that the SLO of the application has been violated and creates a new instance of worker component. This happens 2 times more without the user interacting with the APP.
Action:
None
Expected result:
All requests are completed and associated worker components terminated. Resources are freed.
Objective:
Preconditions:
Steps:
Expected result:
Expected result:
Expected result:
Expected result: