Skip to content

Commit 95914c5

Browse files
authored
Merge pull request #4383 from RobbeDGH/enable-swarminging-kata
Kata - Swarming
2 parents 273e5bd + d200924 commit 95914c5

26 files changed

+213
-18
lines changed

develop/devguide/Connector/SwarmingPrepare.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ When the [Swarming](xref:Swarming) feature is enabled, alarm references need to
99
> [!NOTE]
1010
> The changes mentioned on this page require **DataMiner 10.5.1/10.5.0 or higher**. Note that while legacy alarm references may still be used in DataMiner 10.5.1 or higher, they must not be used on systems where the Swarming feature is enabled.
1111
12-
## About the Alarm ID changes
12+
## About the alarm ID changes
1313

1414
In order to implement the necessary changes to prepare for Swarming, you first need to understand what the alarm ID changes are that get introduced with Swarming and what their consequences are.
1515

solutions/standard_solutions/EPM/EPM_VSAT/VSAT_deployment.md

-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ Start by deploying the DataMiner EPM VSAT package to the system:
1616

1717
This will install the connectors, Automation scripts, and Visio drawings needed to create and configure the DataMiner EPM VSAT Solution.
1818

19-
While the package is being deployed, you can follow the progress of the deployment in the Admin app, on the *Deployments* page for your DMS. Make sure to use the *Refresh* button in the top-left corner.
20-
2119
## Collectors configuration
2220

2321
### iDirect Evolution collector

tutorials/Advanced_Admin_Tutorials.md

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
uid: Advanced_Admin_Tutorials
3+
keywords: swarming tutorials
4+
---
5+
6+
# Advanced admin tutorials
7+
8+
## Tutorials
9+
10+
| Name | Description|
11+
|--|--|
12+
| [Enabling swarming](xref:Swarming_Tutorial_Enable) | Learn how to enable Swarming in your DMS and swarm your first element. |

tutorials/Tutorials.md

+3
Original file line numberDiff line numberDiff line change
@@ -72,4 +72,7 @@ description: DataMiner tutorials are step-by-step guides that teach you how to u
7272
<div class="column">
7373
<a href="/tutorials/Visio_Tutorials.html" title="Visual Overview tutorials" target="_self"><img src="~/tutorials/images/Tutorials_Visual_Overview.svg" style="width:100%"></a>
7474
</div>
75+
<div class="column">
76+
<a href="/tutorials/Advanced_Admin_Tutorials.html" title="Advanced Admin tutorials" target="_self"><img src="~/tutorials/images/Tutorials_Advanced_Admin.svg" style="width:100%"></a>
77+
</div>
7578
</div>

tutorials/images/Tutorials_Advanced_Admin.svg

+1
Loading

tutorials/toc.yml

+2
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,5 @@ items:
3636
topicUid: User-defined_APIs_Tutorials
3737
- name: Visual Overview tutorials
3838
topicUid: Visio_Tutorials
39+
- name: Advanced admin tutorials
40+
topicUid: Advanced_Admin_Tutorials

user-guide/Advanced_Functionality/DCF/getting_started_dataminer_connectivity_framework.md

-2
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,6 @@ To deploy the package:
5757

5858
1. Click the *Deploy* button to deploy the package on your DMA.
5959

60-
While the package is being deployed, you can follow the progress of the deployment in the [Admin app](xref:Accessing_the_Admin_app), on the *Deployments* page for your DMS. Make sure to use the *Refresh* button in the top-left corner.
61-
6260
The package will deploy the following components:
6361

6462
- The **Generic Data Simulator** connector, which exposes DCF interfaces and will be used by the elements created for this tutorial.

user-guide/Advanced_Functionality/DCF/working_with_dcf_interface_properties_gqi.md

-2
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,6 @@ To deploy the package:
3333

3434
1. Deploy the latest version of the package on your DMA using the *Deploy* button.
3535

36-
While the package is being deployed, you can follow the progress of the deployment in the [Admin app](xref:Accessing_the_Admin_app), on the *Deployments* page for your DMS. Make sure to use the *Refresh* button in the top-left corner.
37-
3836
The package will deploy the following components:
3937

4038
- The **Generic Data Simulator** connector, which exposes DCF interfaces and will be used by the elements created for this tutorial.

user-guide/Advanced_Functionality/Swarming/EnableSwarming.md

+3
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ uid: EnableSwarming
44

55
# Enabling the Swarming feature
66

7+
> [!TIP]
8+
> Instead of following the procedure detailed below, you can also follow the [Enabling Swarming tutorial](xref:Swarming_Tutorial_Enable). This tutorial uses a script to check whether prerequisites are met and provides an example of how to adjust other scripts and protocols in order to prepare your system for Swarming.
9+
710
## Prerequisites
811

912
- DataMiner 10.5.1/10.6.0 or higher.

user-guide/Advanced_Functionality/Swarming/SwarmingElements.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ uid: SwarmingElements
66

77
With DataMiner Swarming, you can swarm basic elements from one DataMiner Agent to another within a cluster. You can do so [in DataMiner Cube](#swarming-elements-in-dataminer-cube) or [via an Automation script](#swarming-elements-via-automation).
88

9-
When you are swarming an element so it gets hosted on a different DataMiner Agent, a temporary transition occurs. While this happens, a message will be displayed to inform users that the element is currently swarming. The ability to open element cards or change the element configuration for the involved element will be temporarily suspended. Once the element migration is complete, it will become accessible again.
9+
When you are swarming an element so it gets hosted on a different DataMiner Agent, a temporary transition occurs. The element will be stopped and then started again on a new host. While this happens, a message will be displayed to inform users that the element is currently swarming. The ability to open element cards or change the element configuration for the involved element will be temporarily suspended. Once the element migration is complete, it will become accessible again.
1010

1111
At present, Swarming is only possible with **regular elements**. Refer to [Upcoming features](xref:Swarming#upcoming-features) for information on which other types of elements will be supported in the future.
1212

@@ -25,6 +25,8 @@ To swarm elements in DataMiner Cube:
2525

2626
1. On the right, select the destination DMA.
2727

28+
![Swarming UI in Cube](~/user-guide/images/Swarming_Tutorial_Enable_Cube_Swarm.png)<br>*Swarming UI in DataMiner 10.5.3*
29+
2830
1. Click *Swarm*.
2931

3032
## Swarming elements via Automation
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
---
2+
uid: Swarming_Tutorial_Enable
3+
keywords: swarming, swarming tutorial
4+
---
5+
6+
# Enabling Swarming
7+
8+
In this tutorial, you will learn how to enable [Swarming](xref:Swarming) in your DMS and swarm your first element. The tutorial makes use of an example Automation script to demonstrate how you need to adjust scripts to make sure you can enable Swarming.
9+
10+
The content and screenshots for this tutorial have been created using DataMiner version 10.5.3.
11+
12+
## Prerequisites
13+
14+
For this tutorial, you will need a DataMiner System that meets the following requirements:
15+
16+
- [Connected to dataminer.services](https://docs.dataminer.services/user-guide/Cloud_Platform/Connecting_to_cloud/Connecting_your_DataMiner_System_to_the_cloud.html).
17+
- Using DataMiner 10.5.1/10.6.0 [CU0] or higher.
18+
- Containing two or more Agents, but no Failover Agents. If you are using a single Agent, you can follow along, but you will not be able to do the last step (swarming an element).
19+
- Using [STaaS](xref:STaaS) or a [dedicated clustered storage](xref:Configuring_dedicated_clustered_storage) setup.
20+
- Without [data offloads](xref:Offload_database) configured.
21+
- The [*LegacyReportsAndDashboards* soft-launch option](xref:Overview_of_Soft_Launch_Options#legacyreportsanddashboards) is not enabled.
22+
23+
Other prerequisites for Swarming will be addressed later in this tutorial.
24+
25+
## Overview
26+
27+
- [Step 1: Deploy the tutorial package from the Catalog](#step-1-deploy-the-tutorial-package-from-the-catalog)
28+
- [Step 2: Create a basic test element](#step-2-create-a-basic-test-element)
29+
- [Step 3: Create a DataMiner backup (optional)](#step-3-create-a-dataminer-backup-optional)
30+
- [Step 4: Enable Swarming](#step-4-enable-swarming)
31+
- [Step 5: Swarm your first element](#step-5-swarm-your-first-element)
32+
33+
## Step 1: Deploy the tutorial package from the Catalog
34+
35+
To deploy the package:
36+
37+
1. Go to the [Tutorial - Getting started with Swarming](https://catalog.dataminer.services/details/b087dd80-8a62-4ef0-9321-76964ac4e039) package in the DataMiner Catalog.
38+
39+
1. Deploy the latest version of the package on your DMA using the *Deploy* button.
40+
41+
1. When the package has been deployed, open DataMiner Cube and check whether you can see the following scripts in the *Kata - Swarming* folder of the Automation module:
42+
43+
- *Mask Critical Alarms*: This is a demo script to mask the critical alarms of an element.
44+
45+
- *Enable Swarming*: This interactive Automation script takes you through the enabling procedure for Swarming.
46+
47+
![Package Content](~/user-guide/images/Swarming_Tutorial_Enable_Package_Content.png)
48+
49+
## Step 2: Create a basic test element
50+
51+
In this tutorial, you will swarm an element. To avoid impacting ongoing operations, start by adding a new test element.
52+
53+
You can either [create a new basic test element](xref:Adding_elements) yourself or import a demo element, e.g. by deploying the [Satellite Earth Station Uplink](https://catalog.dataminer.services/details/c8adec4a-e7be-47a4-b7a4-e574e0381fe6) package.
54+
55+
If you choose to create a new element yourself, you can select any protocol of your choice for it, except for a spectrum protocol or a DVE protocol, as these would not result in a swarmable element.
56+
57+
## Step 3: Create a DataMiner backup (optional)
58+
59+
Once you enable Swarming, the element configuration of the DMS will be moved from disk to database, which is a change that cannot easily be rolled back. This is why taking a backup of your DataMiner Agents before you enable Swarming is highly recommended.
60+
61+
For detailed steps, refer to [Backing up a DataMiner Agent](xref:Backing_up_a_DataMiner_Agent).
62+
63+
## Step 4: Enable Swarming
64+
65+
Swarming has its own set of prerequisites. In this step, you will use a script from the deployed package to make sure these are met and then enable Swarming.
66+
67+
1. In the Automation module in DataMiner Cube, select the *Enable Swarming* script and click the *Execute* button.
68+
69+
![Execute the Enable Swarming script](~/user-guide/images/Swarming_Tutorial_Run_script.png)
70+
71+
1. In the pop-up window, click *Execute now*.
72+
73+
Information about the Swarming prerequisites will be displayed.
74+
75+
1. Take a look at the mentioned static requirements.
76+
77+
These are the DMS requirements that are more difficult to change, such as the database type or Failover configuration. Based on the prerequisites for this tutorial, all prerequisites should be met, except possibly the requirement for compatible enhanced services.
78+
79+
![Static requirements](~/user-guide/images/Swarming_Tutorial_Enable_Static_Requirements.png)
80+
81+
1. In case *No incompatible enhanced services* is *Not Ok*:
82+
83+
1. Check in the DataMiner Catalog if a more recent version of the enhanced service connectors is available and upgrade to the latest version if possible.
84+
85+
1. If upgrading to a more recent version is not possible, follow the instructions to [prepare enhanced service connectors for Swarming](xref:SwarmingPrepare#enhanced-service-connectors)
86+
87+
1. Run the *Enable Swarming* script again.
88+
89+
1. Click the *Analyze* button to start checking the alarm ID usage.
90+
91+
This button will only be available once all static requirements are met. It will analyze the use of the unique identifiers of alarms in scripting (Automation scripts and QActions), as this has been modified to support Swarming. (See [About the alarm ID changes](xref:SwarmingPrepare#about-the-alarm-id-changes).)
92+
93+
This check can take up to several minutes, depending on the number of scripts and connectors in the system.
94+
95+
![Alarm ID usage](~/user-guide/images/Swarming_Tutorial_Enable_AlarmID_Usage.png)
96+
97+
> [!NOTE]
98+
> It is not possible to scan dependencies (e.g. NuGets) with this script, so these may still contain outdated references. However, if this should be the case, running these scripts on a system where Swarming is enabled will throw a clear error message.
99+
100+
1. Take a look at the results of the analysis.
101+
102+
![Alarm ID usage problem](~/user-guide/images/Swarming_Tutorial_Enable_AlarmID_Usage_Problem.png)
103+
104+
The *Mask Critical Alarms* script will be displayed as one of the problems that have been found. This script takes as input a reference to an element and will mask all critical alarms of this element. It does so by using a *SetAlarmStateMessage* and includes an identifier reference to the alarm it should mask, but this identifier still uses the old style of referring to an alarm, i.e. a **DataMiner ID/alarm ID** integer combination. This is must be changed to a **tree ID** instead.
105+
106+
1. Open the *Mask Critical Alarms* script in the Automation app, scroll down, and click *Validate* to check for errors and warnings.
107+
108+
You will see that a warning is detected.
109+
110+
![AlarmID Usage Problem Warning](~/user-guide/images/Swarming_Tutorial_Enable_AlarmID_Usage_Problem_Warning.png)
111+
112+
Note that you could also open the script via DIS in Visual Studio instead, if you have this installed. In that case, if you target the *Skyline.DataMiner.Dev.Automation* package version 10.5.1 or higher, you will also see an obsolete warning for this script.
113+
114+
1. Update the code in the *foreach* block (line 85) as follows:
115+
116+
Before:
117+
118+
```csharp
119+
var maskRequest = new SetAlarmStateMessage();
120+
maskRequest.DataMinerID = alarm.DataMinerID;
121+
maskRequest.AlarmId = alarm.AlarmID;
122+
maskRequest.DesiredStatus = AlarmUserStatus.Mask;
123+
maskRequests.Add(maskRequest);
124+
```
125+
126+
After:
127+
128+
```csharp
129+
var maskRequest = new SetAlarmStateMessage(alarm.TreeID, AlarmUserStatus.Mask, "");
130+
maskRequests.Add(maskRequest);
131+
```
132+
133+
1. Click *Validate* again to see if all warnings and errors are gone.
134+
135+
![Alarm ID usage problem fix](~/user-guide/images/Swarming_Tutorial_Enable_AlarmID_Usage_Problem_Fix.png)
136+
137+
1. Click *Execute* to run the script and test if it still works correctly.
138+
139+
1. If any other scripts or protocols are shown in the alarm ID usage summary, update these in a similar way to make sure they refer to the tree ID or alarm tree ID and validate and test them.
140+
141+
For detailed information, refer to [Preparing scripts and connectors for Swarming](xref:SwarmingPrepare)
142+
143+
1. Run the the *Enable Swarming* script again and click the *Analyze* button again.
144+
145+
If you have indeed correctly updated all scripts and protocols, a new button will be displayed at the bottom of the window. If you do not see this button, check which scripts or protocols still need to be updated and adjust them as mentioned above.
146+
147+
![AlarmID Usage Problem Fix](~/user-guide/images/Swarming_Tutorial_Enable_No_Problems.png)
148+
149+
1. Click *Restart DMS and enable Swarming*.
150+
151+
The script will now double-check the requirements (which will again take some time), enable Swarming, and restart DataMiner.
152+
153+
> [!IMPORTANT]
154+
> This will restart all DataMiner Agents in your DMS.
155+
156+
## Step 5: Swarm your first element
157+
158+
Once DataMiner has restarted, you can test the Swarming functionality by moving an element from one host to another host in your DMS. You will only be able to follow these steps if you are using a DataMiner System consisting of multiple Agents.
159+
160+
1. Go to *System Center* > *Agents* > *Status* and click the *Swarm* button in the lower right corner.
161+
162+
If you see a *Migrate* button here instead, this means Swarming has not been successfully enabled.
163+
164+
![Cube Status](~/user-guide/images/Swarming_Tutorial_Enable_Cube_Status.png)
165+
166+
1. On the left, select the test element you created in [step 2](#step-2-create-a-basic-test-element).
167+
168+
Note that you can select more elements to swarm if you want, but keep in mind that swarming an element involves an element restart, which will result in a brief downtime of the element.
169+
170+
1. On the right, select the destination DMA.
171+
172+
![Cube Swarm](~/user-guide/images/Swarming_Tutorial_Enable_Cube_Swarm.png)
173+
174+
1. Click *Swarm*.
175+
176+
A message will be displayed when the element has been successfully swarmed:
177+
178+
![Cube Success](~/user-guide/images/Swarming_Tutorial_Enable_Cube_Success.png)
179+
180+
> [!TIP]
181+
> For more details about Swarming elements, see [Swarming elements](xref:SwarmingElements).

user-guide/Advanced_Functionality/toc.yml

+4-1
Original file line numberDiff line numberDiff line change
@@ -637,4 +637,7 @@ items:
637637
topicUid: SwarmingBookings
638638
- name: Partially rolling back Swarming
639639
topicUid: SwarmingRollback
640-
640+
- name: Tutorials
641+
items:
642+
- name: Enable Swarming Tutorial
643+
topicUid: Swarming_Tutorial_Enable

user-guide/Advanced_Modules/Dashboards_and_Low_Code_Apps/Dashboards_app/Tutorials/Alarm_Dashboard_for_your_daily_DMS_health_check.md

+1-3
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,7 @@ Expected duration: 20 minutes
3535

3636
1. Click the *Deploy* button to deploy the *Alarm Report* package on your DMA.
3737

38-
While the package is being deployed, you can follow the progress of the deployment in the [Admin app](xref:Accessing_the_Admin_app), on the *Deployments* page for your DMS. Make sure to use the *Refresh* button in the top-left corner.
39-
40-
1. [Open the Dashboards app](xref:Accessing_the_Dashboards_app) and check if you can see the *Alarm Report* dashboard.
38+
1. When the package has been deployed, [open the Dashboards app](xref:Accessing_the_Dashboards_app) and check if you can see the *Alarm Report* dashboard.
4139

4240
When the deployment is complete, this dashboard is added in the root view of your dashboards folder structure.
4341

user-guide/Advanced_Modules/Dashboards_and_Low_Code_Apps/Dashboards_app/Tutorials/Tutorial_Apps_Node_Edge.md

+1-3
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,7 @@ To deploy the package:
6464

6565
1. Click the *Deploy* button to deploy the package on your DMA.
6666

67-
While the package is being deployed, you can follow the progress of the deployment in the [Admin app](xref:Accessing_the_Admin_app), on the *Deployments* page for your DMS. Make sure to use the *Refresh* button in the top-left corner.
68-
69-
The package contains the following components:
67+
The package will deploy the following components:
7068

7169
- Automation script [JSON Reader](https://catalog.dataminer.services/details/automation-script/5491): You will be able to find this in the Automation module, in the folder *Automation Scripts/GQI/Data sources*.
7270

user-guide/Advanced_Modules/Dashboards_and_Low_Code_Apps/Dashboards_app/Tutorials/Visualizing_Starlink_Location_History_in_DataMiner.md

+1-3
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,7 @@ Expected duration: 30 minutes
4141
-->
4242
1. Click the *Deploy* button to deploy the package on your DMA.
4343

44-
While the package is being deployed, you can follow the progress of the deployment in the [Admin app](xref:Accessing_the_Admin_app), on the *Deployments* page for your DMS. Make sure to use the *Refresh* button in the top-left corner.
45-
46-
1. Go to the root page of your DataMiner System, for example by clicking the *Home* button for your DMS on the [dataminer.services page](https://dataminer.services/).
44+
1. When the package has been deployed, go to the root page of your DataMiner System, for example by clicking the *Home* button for your DMS on the [dataminer.services page](https://dataminer.services/).
4745

4846
1. Check if you can see the *Starlink Enterprise* app listed under *SatOps*.
4947

Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

0 commit comments

Comments
 (0)