Update Spring Boot & Hateoas (#430)

* Upgrade spring boot 1.4.4 and hateoas 0.23. Removed unneded dependency,

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Avoid link change with new hateoas version.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Readded commons.io

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Update MariaDB driver to 1.5.7

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Added missing content to docs.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Fix equals.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Simplify

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Fix equal after removal of commons collections.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
This commit is contained in:
Kai Zimmermann
2017-02-07 09:57:43 +01:00
committed by GitHub
parent c031142906
commit 21181bc6f8
18 changed files with 74 additions and 53 deletions

View File

@@ -0,0 +1,45 @@
---
layout: documentation
title: Rollout Management
---
{% include base.html %}
Software update operations in large scale IoT scenarios with hundreds of thousands of devices require special handling.
That includes:
- _Technical Scalability_ by means of horizontal scale of the _Rollouts_ server cluster in the cloud.
- _Global_ artifact _content delivery_ capacities.
- _Functional Scalability_ by means of:
- Secure handling of large volumes of devices at rollout creation time.
- Monitoring of the rollout progress.
- Emergency rollout shutdown in case of problems on to many devices.
- Reporting capabilities for a complete understanding of the rollout progress at each point in time.
Eclipse _hawkBit_ sees these capabilities under the term Rollout Management.
The following capabilities are currently supported by the _Rollout Management_:
- Create, update and start of rollouts.
- Selection of targets as input for the rollout based on _target filter_ functionality.
- Selection of a _DistributionSet_.
- Auto-splitting of the input target list into a defined number deployment groups.
- Cascading start of the deployment groups based on installation status of the previous group.
- Emergency shutdown of the rollout in case a group exceeds the defined error threshold.
- Rollout progress monitoring for the entire rollout and the individual groups.
## Cascading Deployment Group Execution
The cascading execution of the deployment groups is based on two thresholds that can be defined by the rollout creator.
- success condition by means of percentage of successfully installed targets in the current groups triggers.
- error condition by means of absolute or percentage of failed installations which triggers an emergency shutdown of the entire rollout.
[[images/DeploymentGroups.png]]
## Rollout state machine
### State Machine on Rollout
![](../images/rolloutstatediagram.png){:width="100%" .image-center}
### State Machine on Rollout Deployment Group
![](../images/rolloutgroupstatediagram.png){:width="100%" .image-center}