Files
hawkbit/docs/content/ui.md

166 lines
9.1 KiB
Markdown
Raw Normal View History

---
title: Management UI
weight: 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.
- Target type: open Type Filter section to show targets of a specific type
- _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".
- Select _Target_ to see _Action_ History.
- Bulk target upload: create bulk targets by upload.
- DS invalidation allows to mark broken updates and avoid the distribution of such
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
```
![Deployment Management view](../images/ui/deployment_mgmt.png)
### Distribution set invalidation
It is possible to mark broken updates and avoid the distribution of such by invalidating the corresponding distribution
set in the Distributions list of the Deployment view.
Invalidating a distribution set removes all auto-assignments that reference this distribution set. Optionally, all
rollouts that reference the distribution set can be stopped and existing update actions are removed, either by a
soft-cancel or a forced-cancel.
Invalidated distribution sets cannot be valid again, but remain invalid. They cannot be assigned to targets, neither
through a rollout, auto-assignment nor a single assignment.
![Distribution set invalidation](../images/ui/deployment_ds_invalidation.png)
## 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.
![Distribution Management view](../images/ui/distribution_mgmt.png)
## 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.
![Artifact Management view](../images/ui/artifact_mgmt.png)
## 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 an emergency shutdown of a rollout
![Rollout Management view](../images/ui/rollout_mgmt.png)
![Rollout Management view](../images/ui/rollout_groups.png)
{{% 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.
Feature soft autoassignment (#789) * 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>
2019-03-13 13:35:22 +01:00
- 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 expected value of the target field.
- Use `*` for wildcard matches.
- `<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:
- `and`
- `or`
### 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. |
![Target Filter Management view](../images/ui/target_filter.png)
Feature soft autoassignment (#789) * 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>
2019-03-13 13:35:22 +01:00
### Auto assignment
Feature download only (#810) * Added initial version of DOWNLOAD_ONLY * Added DOWNLOAD_ONLY option to ActionTypeOptionGroupLayout * Removed DOWNLOAD_ONLY checkbox, added Download Only UI option * Mark actions that finished with DOWNLOADED as finished * initial changes to realize downoadOnly in UI * Changed method of disabling maintenanceWindow into smarter solution * Added new icon for download only option * Set DistributionSet as unassigned when DOWNLOAD_ONLY * Enabled update action status for DOWNLOAD_ONLY after download * Current state of abstraction task * Assign DistributionSet to target if target installs it after downloading * Abstracted class redundant methods * Added tests * Fixed Rollout finish status for DWONLOAD_ONLY Rollouts * Added Rollout type json property in test documentation * Added DOWNLOAD_ONLY test for target assignment * Added event listener also to DistributionTable * Fixed event listener problem * Change column name to "Type" and added also DownloadOnly icon to that column. * Cleanup * Center aligned the icons in type column * Fixed DistributionSet already assigned but not installed * Rename download_only to downloadonly * Further changes regarding center aligned the icons * Fixed target assign status in Rollout view when download_only * Fixed SonarQube issues * Fixed SonarQube issues + code formatting * Fixed Tests * Marked squid:S128 as suppressed - irrelevant * Adapting rollouts view by additional column (not finished by now) * Putted type column on proper position * Trying to display icons in new type column in rollouts view * Added icon also for soft, icon might change -> just change * createOptionGroup method in ActionTypeOptionGroupLayout class * added first draft of type column in rollouts view * increase visibility of sendUpdateMessageToTarget method * Ground functionality of new type column in deployment view is now implemented * Type column implementation in rollouts view is finished for now * Rebased on master * Fixed DurationControl change on ScheduleControl change. * (Re)Added Soft deployment Icon * Fixed SonarQube issues * Fixed SonarQube issues * Fixed failing test * Fixes + added missing header * Added message to the fail() instruction * Fixed copyright header * Apply suggestions from code review * Fixed TotalTargetCountStatus.java * Removed unused method from TotalTargetCountStatus.java * add id to rollout create and update UI popup * Added download_only tests for MgmtTargetResourceTest.java * added missing header in TotalTargetCountStatusTest.java * Rename because of newest changes * added Download_Only dmf integration tests * Renamed MgmtAction.forcedType to actionType * renamed actionType to forceType for Mgmt API * added missing javadocs for public methods * Added Download Only support for AutoAssignment Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com> Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
2019-04-17 12:27:23 +02:00
It is possible to assign some distribution set with different action types (_forced_, _soft_, or _download only_) to all targets that belong to the corresponding custom target filter, including the ones, that are registered later on.
Feature soft autoassignment (#789) * 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>
2019-03-13 13:35:22 +01:00
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.
![Auto assignment](../images/ui/target_filter_auto_assignment.png)