* Add new hugo-based website for hawkBit Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com> * Fix broken links + wordings - , i.e. -> i.e, - , e.g. -> e.g., - hawkbit -> hawkBit - don't -> do not - isn't -> is not Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com> * Remove old documentation and add maven integration Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com> * Add Intellij files to ignore Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com> * Update README Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com> * Update Copyright header * exclude website artifacts Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com> * Harmonize usage of i.e. and e.g. Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com> * Add remark for windows user Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com> * Fix indention Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com> * Introduce review findings Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com> * Change image in 'run hawkbit' guide Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>
50 lines
2.2 KiB
Markdown
50 lines
2.2 KiB
Markdown
---
|
|
title: Rollout Management
|
|
parent: Concepts
|
|
weight: 54
|
|
---
|
|
|
|
Software update operations in large scale IoT scenarios with hundreds of thousands of devices require special handling.
|
|
<!--more-->
|
|
|
|
That includes:
|
|
- _Technical Scalability_ by means of horizontal scale of the hawkBit 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.
|
|
- Approval workflow
|
|
- Has to be enabled explicitly in configuration.
|
|
- Enables a workflow that requires a user with adequate permissions to review any new or updated rollout before it
|
|
can be started.
|
|
- Allows integration with 3rd party workflow engines.
|
|
|
|
- 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.
|
|
|
|
## Rollout state machine
|
|
|
|
### State Machine on Rollout
|
|

|
|
|
|
### State Machine on Rollout Deployment Group
|
|

|