Bosch IoT Rollouts

Rollout view

Table of contents:

Purpose

Software rollout in large scale, rollout status overview and rollout management.

Features explained

  • Create, update, start (manual, auto or scheduled), copy and delete rollouts.

  • Pause and resume 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.

    • Splitting of the input target list based on a list of defined groups.

    • Trigger threshold to define the percentage of installations to be completed to trigger the start of the next group.

    • Manual triggering the start of the next group to override the trigger threshold in special cases.

    • Error threshold defines the percentage of error tolerance of a group before calling for an emergency shutdown of the rollout.


Deletion of targets which are in a rollout, changes the rollout’s statistics.

Tips and hints

  • Click on Action buttons to start, approve, pause, resume, trigger next group of, edit, copy or delete a rollout.

  • Click on Rollout name to see the rollout groups.

  • Click on Rollout group name to see the targets of that group.

Permissions

You need the following permissions to see the Rollout view in…

  • read-only access mode: READ_ROLLOUT

  • full access mode: READ_ROLLOUT, CREATE_ROLLOUT, UPDATE_ROLLOUT, DELETE_ROLLOUT, HANDLE_ROLLOUT

The cloud user has full access by default for all available service plans except Starter.

See the Authentication and authorization for further information about available roles and their included permissions.

Rollout list view

By opening the Rollout view from the left sidebar, you can see a list of all existing rollouts and their monitoring information.

For each rollout there are also action buttons which allow you to manage it in terms of starting, approving, pausing, resuming, triggering its next group, editing, copying or deleting it.

images/confluence/download/attachments/1695525472/rollout_list_with_approval_and_manual_trigger-version-1-modificationdate-1673528784000-api-v2.png


Rollout group view

By selecting a rollout on the list, you can see all groups within it with more detailed statistics.

images/confluence/download/attachments/1695525472/rollout_group_list_software_provisioning_with_confirmation-version-1-modificationdate-1673528833000-api-v2.png

Rollout creation dialog

By clicking the create icon above the rollout list or the copy icon of a rollout, you open the rollout creation dialog.

images/confluence/download/attachments/1695525472/rollout-version-1-modificationdate-1618905770000-api-v2.png

There you can define a new rollout either with Number of Groups or with an Advanced Group definition.

The Number of Groups tab defines a fixed amount of groups in which the targets are distributed in equal parts.

In the Advanced Group definition tab, groups can be added and defined with a Target filter query and Target percentage.

The Trigger threshold is the percentage of targets in the group, that must be successful before the next group is started.

The Error threshold is the percentage of targets in the group that must fail before the rollout is paused.

In the Action Type field, you can select the type of action the rollout should be running as, see Action state machine > Defined Action Types.

Up to 500 groups can be defined per rollout.

The pie chart shows the distribution of the total targets count among the different groups.

Depending on the Start type the rollout will be started automatically or only when the user triggers the start. If the scheduled date lies in the past or the Auto start option is selected, the rollout will start as soon as it is ready. Depending on the size of the rollout, the rollout can be ready within a few moments or within several minutes. Very large rollouts (> 100000 targets) might take longer.

Once the rollout is saved, the targets will be filled into the defined groups.

Rollout end-user consent

If the user consent flow feature has been enabled for the tenant, the Number of Groups view will include an additional field at the bottom called Confirmation required with a check-mark selected by default.


images/confluence/download/attachments/1695525472/ro_createRollouts_withConfirmation-version-2-modificationdate-1670596661000-api-v2.png


In the Advanced Group definition view, each created group will include an additional Confirmation field to the right with a check-mark selected by default.

images/confluence/download/attachments/1695525472/ro_createRollouts_advanced_withConfirmation-version-2-modificationdate-1670937454000-api-v2.png

In such cases, every time a rollout campaign is started, the end users of the devices (targets) of all groups included in the rollout campaign or the ones marked in the Advanced Group definition will be asked to confirm whether to proceed with the update.

Therefore, the action will be assigned a WAIT_FOR_CONFIRMATION state until such a confirmation is granted. After confirmation, the action will move to a RUNNING state, according to the default behavior. Find out more in Action state machine.

The Confirmation-related check-marks can also be removed for the respective rollout or groups. In that case the confirmation will still be required because for the whole tenant the user consent flow feature is enabled. However, the confirmation will be treated as granted by the operator (the current user), and the action will move from WAIT_FOR_CONFIRMATION state to a RUNNING state automatically. This can be verified via the respective Action history message:


images/confluence/download/attachments/1695525472/ro_createRollouts_withConfirmation_message-version-1-modificationdate-1670602270000-api-v2.png

Rollout approval workflow

When enabled in the System configuration view, the approval workflow demands an approver to accept or deny a rollout before it can be started.

After a rollout is created, as described in the previous section, it is waiting for an approval. This is indicated by the hourglass icon images/confluence/download/thumbnails/1695525472/hourglass-gray-version-1-modificationdate-1619192151000-api-v2.png . A user, with the role APPROVE_ROLLOUT, can now approve or deny the rollout by clicking on the handshake icon images/confluence/download/thumbnails/1695525472/handshake-gray-version-1-modificationdate-1619192186000-api-v2.png . In the opened dialogue window the approver can review the created rollout, make a decision, and can provide a remark. If the rollout is approved, it is ready to start. If the rollout is denied, it can not be edited or approved anymore, but only be copied or deleted.

images/confluence/download/attachments/1695525472/rollout_to_be_approved-version-2-modificationdate-1619420919000-api-v2.png


images/confluence/download/attachments/1695525472/rollout_approval-version-1-modificationdate-1618905791000-api-v2.png

Manual triggering of next group

As mentioned earlier, when a rollout is created a Trigger threshold is defined as the percentage of targets in the group that must be successful before the next group is started automatically.

However, this could slow down the rollout execution, or even make it completely stuck, in case a substantial number of targets are offline or have not provided user consent confirmation for example. In such cases it could be useful for the operator to manually start the execution for the next group even if the trigger threshold of the previous group has not been reached.

This is possible by means of the Trigger next group functionality, for which an UPDATE_ROLLOUT permission is required.

It is available through a button images/confluence/download/thumbnails/1695525472/trigger-next-group-button-version-1-modificationdate-1673529277000-api-v2.png in the rollouts actions, as well as via API.

In the UI, a confirmation dialog protects you from accidentally triggering the next group.

images/confluence/download/attachments/1695525472/confirm-trigger-next-group-dialog-version-1-modificationdate-1673529140000-api-v2.png

The Trigger next group option is not exposed for rollouts in a PAUSED state, which might occur if the error threshold of a group has been exceeded.

However, after resuming the rollout group, the option is available again.

Deletion of a rollout

It is possible to delete a rollout using the trash icon, even when it is already started.

After confirm the delete action, the deletion is performed.

When a rollout is not started yet, it will be hard deleted. This means that it is removed completely out of the Bosch IoT Rollouts repository.

If a rollout is already started, all scheduled actions will be deleted and all running actions will be continued.

In the action history you only see the already running actions while the scheduled actions are deleted and are not shown in the UI. Already started rollouts are soft deleted which means that they are still available in the repository but are not presented on the UI.

The Rollout View only shows rollouts which are not deleted. To delete a rollout you need the permission DELETE_ROLLOUT.