blob: da2e7c01d6c58f2e494ce9bbeadac28b32536c80 [file]
<!DOCTYPE html>
<html>
<!--Head section for CSS/Javascript -->
<head>
<meta charset="utf-8">
<meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>
<meta name="description" content="IoT Software Update">
<meta name="author" content="">
<!--base to have relative path for offline navigation -->
<title>Eclipse hawkBit - IoT Software Update</title>
<!--Stylesheets-->
<!-- Bootstrap 3.3.1 -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<!-- Font Awesome Icons -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.2.0/css/font-awesome.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="../../css/prettyPhoto.css" type="text/css" media="screen" title="prettyPhoto main stylesheet" charset="utf-8" />
<!-- Custom CSS -->
<link href="../../css/hawkbit.css" rel="stylesheet">
<!--Javascript-->
<!-- JQuery 2.1.1-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- Bootstrap 3.3.1 JS -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.1/js/bootstrap.min.js" type="text/javascript"></script>
<script src="../../js/jquery.prettyPhoto.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
$("a[rel^='prettyPhoto']").prettyPhoto();
});
</script>
</head>
<body>
<!--Header section Site navigation -->
<!--base to have relative path for offline navigation -->
<!-- Navigation -->
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="../../index.html">Eclipse hawkBit™</a>
</div>
<div class="collapse navbar-collapse wow fadeIn" id="navbar-collapse" data-wow-delay="0.2s">
<ul class="nav navbar-nav pull-right">
<li >
<a href="../../news/index.html">News</a>
</li>
<li >
<a href="../../documentation/overview/introduction.html">Documentation</a>
</li>
</ul>
</div>
<!-- /.navbar-collapse -->
</div>
<style>#forkongithub a{background:#8d0c0c;color:#fff;text-decoration:none;font-family:Arial, Helvetica, sans-serif;text-align:center;font-weight:bold;padding:5px 40px;font-size:12px;line-height:3rem;position:relative;transition:0.5s;}#forkongithub a:hover{background:#c11;color:#fff;}#forkongithub a::before,#forkongithub a::after{content:"";width:100%;display:block;position:absolute;top:1px;left:0;height:1px;background:#fff;}#forkongithub a::after{bottom:1px;top:auto;}@media screen and (min-width:800px){#forkongithub{position:fixed;display:block;top:0;right:0;width:50px;overflow:visible;height:200px;z-index:9999;}#forkongithub a{width:260px;position:absolute;top:40px;right:-60px;transform:rotate(45deg);-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);-moz-transform:rotate(45deg);-o-transform:rotate(45deg);}}</style><span id="forkongithub"><a href="https://github.com/eclipse/hawkbit">Fork me on GitHub</a></span>
<!-- /.container -->
</nav>
<div id="header_wrapper" class="container">
<div class="nav-bar col-md-3">
<nav class="navmenu navmenu-default" role="navigation">
<ul class="nav navmenu-nav">
<!--base to have relative path for offline navigation -->
<li>
Introduction
<ul class="nav navmenu-nav">
<!-- 2nd level -->
<!--base to have relative path for offline navigation -->
<li >
<a href="../../documentation/overview/introduction.html">Overview</a>
</li>
<li >
<a href="../../documentation/overview/features.html">Features</a>
</li>
<li >
<a href="../../documentation/overview/getting-started.html">Getting Started</a>
</li>
</ul>
</li>
<li>
Concepts
<ul class="nav navmenu-nav">
<!-- 2nd level -->
<!--base to have relative path for offline navigation -->
<li >
<a href="../../documentation/architecture/architecture.html">Architecture</a>
</li>
<li >
<a href="../../documentation/architecture/datamodel.html">Data model</a>
</li>
<li >
<a href="../../documentation/architecture/targetstate.html">Target States</a>
</li>
</ul>
</li>
<li>
Interfaces
<ul class="nav navmenu-nav">
<!-- 2nd level -->
<!--base to have relative path for offline navigation -->
<li >
<a href="../../documentation/interfaces/interfaces.html">Overview</a>
</li>
<li >
<a href="../../documentation/interfaces/management-ui.html">Management UI</a>
</li>
<li >
<a href="../../documentation/interfaces/management-api.html">Management API</a>
</li>
<li >
<a href="../../documentation/interfaces/ddi-api.html">DDI API</a>
</li>
<li >
<a href="../../documentation/interfaces/dmf-api.html">DMF API</a>
</li>
</ul>
</li>
<li>
Security
<ul class="nav navmenu-nav">
<!-- 2nd level -->
<!--base to have relative path for offline navigation -->
<li >
<a href="../../documentation/security/security.html">Overview</a>
</li>
</ul>
</li>
<li>
Guides
<ul class="nav navmenu-nav">
<!-- 2nd level -->
<!--base to have relative path for offline navigation -->
<li >
<a href="../../documentation/guide/runhawkbit.html">Build and Run hawkBit</a>
</li>
<li >
<a href="../../documentation/guide/clustering.html">Clustering</a>
</li>
<li >
<a href="../../documentation/guide/customtheme.html">Theme Customization</a>
</li>
<li >
<a href="../../documentation/guide/feignclient.html">Create Feign Client</a>
</li>
</ul>
</li>
</ul>
</nav>
</div>
<div id="page" class="col-md-9">
<div class="inner">
<div id="maincontainer">
<section id="top" class="documentation-section">
<div class="row">
<div class="span8 offset3">
<!--base to have relative path for offline navigation -->
<p>The <em>hawkBit</em> Management UI provides several views for the different use cases:</p>
<ul>
<li><em>Deployment Management</em> view for target administration and manual deployment.</li>
<li><em>Distribution Management</em> view software repository metadata management.</li>
<li><em>Artifact Management</em> view to manage the artifacts.</li>
<li><em>Target Filter Management</em> view to manage target filters that can be used both in Deployment and Rollout Management views.</li>
<li><em>Rollout Management</em> for large scale rollout orchestration.</li>
</ul>
<h1 id="deployment-management">Deployment Management</h1>
<h2 id="purpose">Purpose</h2>
<p>Target status overview, target management and manual deployments.</p>
<h2 id="feature-explained">Feature explained</h2>
<ul>
<li>Target Status: check status of all targets.</li>
<li>Target list allows filters based on:
<ul>
<li>Assigned/installed <em>DistributionSet</em> (drag and drop a set on the filter icon on the top of the list)</li>
<li>Target update status: click 1-X status to reduce the list of targets that have one of them.</li>
<li>Target tag: click 1-X tags to reduce the list to targets that have one of them.</li>
<li>Name, description: use search button on the top of the list.</li>
</ul>
</li>
<li><em>DistributionSet</em> list allows filters based on:
<ul>
<li><em>DistributionSet</em> tag: click 1-X tags to reduce the list of sets that have one of them.</li>
<li>Name, description: use search button on the top of the list.</li>
</ul>
</li>
<li>Start roll out by drag and drop targets on a DS.</li>
<li>Target list supports CTRL-A for “select all”.</li>
<li>Delete sets, tags or targets by dragging them on delete icon.</li>
<li>Select <em>Target</em> to see <em>Action</em> History.</li>
<li>Bulk target upload: create bulk targets by upload.</li>
</ul>
<p>Hints for bulk upload:
- Expected file type : csv.
- Expected file format : Each line with two values (ControllerID,Target Name). ControllerID is mandatory.
- Example:
<code>
Controller_id_1,targetName1
Controller_id_2,targetName2
</code></p>
<p><img src="../images/ui/deployment_mgmt.png" alt="Deployment Management view" width="100%" /></p>
<h1 id="distribution-management">Distribution Management</h1>
<h2 id="purpose-1">Purpose</h2>
<p>Distribution Set view to manage software repository metadata, i.e. Distribution Sets, their Software Modules and the respective types.</p>
<h2 id="features-explained">Features explained</h2>
<ul>
<li>Browse, create, delete and update Distribution Sets.</li>
<li>Browse, create, delete and update Distribution Set Types.</li>
<li>Browse, create, delete and update Software Modules.</li>
<li>Browse, create, delete and update Software Module Types.</li>
<li>Assign Software Modules to Distribution Sets.</li>
</ul>
<p><img src="../images/ui/distribution_mgmt.png" alt="Distribution Management view" width="100%" /></p>
<h1 id="artifact-management">Artifact Management</h1>
<h2 id="purpose-2">Purpose</h2>
<p>Software artifact management, both metadata (i.e. Software Modules) and artifacts themselves.</p>
<h2 id="features-explained-1">Features explained</h2>
<p>Allows to:
- Browse, create, delete and update Software Modules.
- Browse, create, delete and update Software Module Types.
- Upload and delete software artifacts for a module.</p>
<p><img src="../images/ui/artifact_mgmt.png" alt="Artifact Management view" width="100%" /></p>
<h1 id="rollout-management">Rollout Management</h1>
<h2 id="purpose-3">Purpose</h2>
<p>Software rollout in large scale, rollout status overview and rollout management.</p>
<h2 id="features-explained-2">Features explained</h2>
<ul>
<li>Create, update and start of rollouts.</li>
<li>Pause and resume of rollouts.</li>
<li>Progress monitoring for the entire rollout and the individual groups.</li>
<li>Drill down to see the groups in a rollout and targets in each group.</li>
<li>Rollout attributes:
<ul>
<li>Selection of targets as input for the rollout based on <em>target filter</em></li>
<li>Selection of <em>distribution set</em></li>
<li>Auto-splitting of the input target list based on <em>group number</em> defined</li>
<li><em>Trigger threshold</em> to define the percentage of installation to be completed , to trigger the start of next group</li>
<li><em>Error threshold</em> defines the percentage of error tolerance of a group before calling for a emergency shutdown of a rollout</li>
</ul>
</li>
</ul>
<p><img src="../images/ui/rollout_mgmt.png" alt="Rollout Management view" width="100%" /></p>
<p><img src="../images/ui/rollout_groups.png" alt="Rollout Management view" width="100%" /></p>
<h2 id="note">Note</h2>
<ul>
<li>Deletion of targets which are in a rollout, changes the rollout statistics.</li>
</ul>
<h1 id="target-filter-management">Target Filter Management</h1>
<h2 id="purpose-4">Purpose</h2>
<p>Custom target filter overview and filter management.</p>
<h2 id="features-explained-3">Features explained</h2>
<ul>
<li>Custom target filter allows user to filter targets by defining custom query.</li>
<li>Displays custom target filter list and user can search any particular filter.</li>
<li>Create, update and delete features are supported for target filters.</li>
</ul>
<h2 id="how-to-filter">How to Filter</h2>
<p>The basic syntax to filter is: <code>field&lt;basic_operator&gt;value &lt;composite_operator&gt; field&lt;basic_operator&gt;value &lt;...&gt;</code>
- <code>field</code>: is the name of the resource field.
- <code>value</code>: is the value of the target field
- <code>&lt;basic_operator&gt;</code>: Are operators to do simple queries. Supported basic operators are:
- <code>==</code> : equal
- <code>!=</code> : not equal
- Use <code>=IN=</code> for ‘in’ parameter.(Example: name=IN=(target1,target2).</p>
<ul>
<li><code>&lt;composite_operator&gt;</code>: Are operators to join simple queries: Supported composite operators are:
<ul>
<li><code>and</code></li>
<li><code>or</code></li>
<li>Use <code>=IN=</code> for ‘in’ parameter.(Example: name=IN=(target1,target2).</li>
<li>Use <code>*</code> for wildcard matches.</li>
</ul>
</li>
</ul>
<h2 id="examples">Examples</h2>
<table>
<thead>
<tr>
<th>Custom query</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>updatestatus==error</td>
<td>Gives all targets in ‘error’ state.</td>
</tr>
<tr>
<td>controllerId!=192.168.2.42</td>
<td>Gives all targets that don’t have the controllerId 192.168.2.42.</td>
</tr>
<tr>
<td>name==*CCU*</td>
<td>Gives all targets which contain the term ‘CCU’ in there name.</td>
</tr>
<tr>
<td>name==*CCU* or description==*CCU*</td>
<td>Gives all targets that either have the term ‘CCU’ in their name or their description.</td>
</tr>
<tr>
<td>name==*SHC* and description==*SHC*</td>
<td>Gives all targets that have the term SHC in their name and their description.</td>
</tr>
<tr>
<td>name==CCU* and updatestatus==pending</td>
<td>Gives all targets with their name starting with ‘CCU’ and which are in ‘pending’ state.</td>
</tr>
<tr>
<td>(assignedds.name==‘ECU-DS’ and description==test) or updatestatus!=error</td>
<td>Gives all targets which are either assigned to ‘ECU-DS’ and have description equals to ‘test’ or which are not in error status.</td>
</tr>
<tr>
<td>(updatestatus!=In_sync or updatestatus!=error) and name==*SHC1*</td>
<td>Gives all targets that don’t have the updatestatus In_sync or error and that contains the term SHC1 in their name.</td>
</tr>
<tr>
<td>(updatestatus!=error or updatestatus!=pending) and (name==*CCU* or description==*CCU*)</td>
<td>Gives all targets that either have the term ‘CCU’ in their name or their description and that either have the <em>update status</em> not in state error or pending.</td>
</tr>
</tbody>
</table>
<p><img src="../images/ui/target_filter.png" alt="Target Filter Management view" width="100%" /></p>
</div>
</div>
</section>
</div>
</div>
</div>
</div>
<!-- Footer -->
<footer>
<div class="container">
<div class="row">
<div class="col-md-4">
<h3 class="footer-links-header">Quick Links</h3>
<ul class="footer-links clearfix">
<li><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
<li><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
<li><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li>
<li><a href="http://www.eclipse.org/legal/">Legal</a></li>
</ul>
<ul class="footer-links clearfix">
<li><a href="http://www.eclipse.org">Eclipse Home</a></li>
<li><a href="http://marketplace.eclipse.org/">Market Place</a></li>
<li><a href="http://live.eclipse.org/">Eclipse Live</a></li>
<li><a href="http://www.planeteclipse.org/">Eclipse Planet</a></li>
</ul>
</div>
<div class="col-md-2">
</div>
</footer>
<!--/.Footer-->
</body>
</html>