* Repository layer and database migration * Changed target filter management to update auto assignment action type together with distribution set, extended mgmt API, adapted auto assign checker/scheduler, changed auto assign distribution set select table to combobox, added filter functionality (needs refactoring) * Refactored auto assignment dialog window, added soft/forced option group, restructured action type option group layout * Added forced icon to target filter table autoassignment cell for the forced auto assign actions * First working draft of distribution set select combobox for auto assignment window * Optimised filtering queries, added alphabetical sorting on distribution set name and version * Refactoring of distribution bean query for lazy loading * Distribution set combobox refactoring and comments * Added verification of auto assign distribution set validity (completed, not deleted), exdended target filter query fields with auto assign action type field, added rsql filter tests, added repository layer tests * Added mgmt API tests * Changed target filter rest docu tests to include auto-assignment type * Updated hawkbit docs with auto-assignment description * Added debouncing to key and value input fields of metadata popup layout to get rid of unnecessary value change events, removed redundant set value call in common dialog window, minimizing the repaint components calls * Fixed sonar findings * Reverted changes of common dialog window validaton, setting the value of the field explicitly as before, until we rethink the whole concept of validaton mechanism * Fixed review findings * Removed rsql filtering by filter auto-assign action type, due to missing conversion of disallowed timeforced action type * Small fix regarding usage of page request * Updated sql script version for flyway * Extended tests for soft deleted distribution sets for auto-assignment and filter string within distribution set specification builder Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
7.6 KiB
title, weight
| title | weight |
|---|---|
| Management UI | 70 |
The hawkBit Management UI provides several views for the different use cases:
- Deployment Management view for target administration and manual deployment.
- Distribution Management view software repository metadata management.
- Artifact Management view to manage the artifacts.
- Target Filter Management view to manage target filters that can be used both in Deployment and Rollout Management views.
- Rollout Management for large scale rollout orchestration.
Deployment Management
Purpose
Target status overview, target management and manual deployments.
Feature explained
-
Target Status: check status of all targets.
-
Target list allows filters based on:
- Assigned/installed DistributionSet (drag and drop a set on the filter icon on the top of the list)
- Target update status: click 1-X status to reduce the list of targets that have one of them.
- Target tag: click 1-X tags to reduce the list to targets that have one of them.
- Name, description: use search button on the top of the list.
-
DistributionSet list allows filters based on:
- DistributionSet tag: click 1-X tags to reduce the list of sets that have one of them.
- Name, description: use search button on the top of the list.
-
Start roll out by drag and drop targets on a DS.
-
Target list supports CTRL-A for "select all".
-
Delete sets, tags or targets by dragging them on delete icon.
-
Select Target to see Action History.
-
Bulk target upload: create bulk targets by upload.
Hints for bulk upload:
- Expected file type : csv.
- Expected file format : Each line with two values (ControllerID,Target Name). ControllerID is mandatory.
- Example:
Controller_id_1,targetName1
Controller_id_2,targetName2
Distribution Management
Purpose
Distribution Set view to manage software repository metadata, i.e. Distribution Sets, their Software Modules and the respective types.
Features explained
- Browse, create, delete and update Distribution Sets.
- Browse, create, delete and update Distribution Set Types.
- Browse, create, delete and update Software Modules.
- Browse, create, delete and update Software Module Types.
- Assign Software Modules to Distribution Sets.
Artifact Management
Purpose
Software artifact management, both metadata (i.e. Software Modules) and artifacts themselves.
Features explained
- Browse, create, delete and update Software Modules.
- Browse, create, delete and update Software Module Types.
- Upload and delete software artifacts for a module.
Rollout Management
Purpose
Software rollout in large scale, rollout status overview and rollout management.
Features explained
- Create, update, copy and delete of rollouts.
- Start, pause and resume of rollouts.
- Progress monitoring for the entire rollout and the individual groups.
- Drill down to see the groups in a rollout and targets in each group.
- Rollout attributes:
- Selection of targets as input for the rollout based on target filter
- Selection of distribution set
- Auto-splitting of the input target list based on group number defined
- Trigger threshold to define the percentage of installation to be completed , to trigger the start of next group
- Error threshold defines the percentage of error tolerance of a group before calling for a emergency shutdown of a rollout
{{% note %}} Deletion of targets which are in a rollout, changes the rollout statistics. {{% /note %}}
Target Filter Management
Purpose
Custom target filter overview and filter management.
Features explained
- Custom target filter allows user to filter targets by defining custom query.
- Displays custom target filter list and user can search any particular filter.
- Create, update and delete features are supported for target filters.
- Auto assignment of a distribution set to filtered targets.
How to Filter
The basic syntax to filter is: field<basic_operator>value <composite_operator> field<basic_operator>value <...>
field: is the name of the resource field.value: is the value of the target field<basic_operator>: Are operators to do simple queries. Supported basic operators are:==: equal!=: not equal- Use
=IN=for 'in' parameter.(Example: name=IN=(target1,target2).
<composite_operator>: Are operators to join simple queries: Supported composite operators are:andor- Use
=IN=for 'in' parameter.(Example: name=IN=(target1,target2). - Use
*for wildcard matches.
Examples
| Custom query | Description |
|---|---|
| updatestatus==error | Gives all targets in ‘error’ state. |
| controllerId!=192.168.2.42 | Gives all targets that do not have the controllerId 192.168.2.42. |
| name==*CCU* | Gives all targets which contain the term ‘CCU’ in there name. |
| name==*CCU* or description==*CCU* | Gives all targets that either have the term ‘CCU’ in their name or their description. |
| name==*SHC* and description==*SHC* | Gives all targets that have the term SHC in their name and their description. |
| name==CCU* and updatestatus==pending | Gives all targets with their name starting with ‘CCU’ and which are in ‘pending’ state. |
| (assignedds.name==‘ECU-DS’ and description==test) or updatestatus!=error | Gives all targets which are either assigned to ‘ECU-DS’ and have description equals to ‘test’ or which are not in error status. |
| (updatestatus!=In_sync or updatestatus!=error) and name==*SHC1* | Gives all targets that do not have the update status In_sync or error and that contains the term SHC1 in their name. |
| (updatestatus!=error or updatestatus!=pending) and (name==*CCU* or description==*CCU*) | Gives all targets that either have the term ‘CCU’ in their name or their description and that either have the update status not in state error or pending. |
Auto assignment
It is possible to assign some distribution set with different action types (forced or soft) to all targets that belong to the corresponding custom target filter, including the ones, that are registered later on.
In order to activate the auto-assignment, one should first click on Auto assignment cell in Custom Filters table, and then check the corresponding checkbox. After that, the action type and distribution set for auto-assignment should be selected and confirmed.
As long as the auto-assignment stays active, the scheduler will try to assign selected distribution set to corresponding custom filter targets, that have never seen it before.






