You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Assuming you have a working EDA cluster the upgrade procedure will consist of the following steps:
4
4
5
-
1. Backup your existing cluster.
6
-
2. Update the [playground][playground] repository.
7
-
3. Uninstall the existing version of EDA.
8
-
4. Install the new EDA `kpt` package (on both active and standby members if running geo redundant).
9
-
5. Restore your backup.
10
-
6. Upgrade your applications.
5
+
1. Pause NPP interactions.
6
+
2. Backup your existing cluster.
7
+
3. Update the [playground][playground] repository.
8
+
4. Uninstall the existing version of EDA.
9
+
5. Install the new EDA `kpt` package (on both active and standby members if running geo redundant).
10
+
6. Restore your backup.
11
+
7. Upgrade your applications.
12
+
8. Resume NPP interactions.
11
13
12
14
/// admonition | Nuances for Air-gapped and Geo-redundant clusters
13
15
type: info
@@ -18,9 +20,9 @@ In geo redundant clusters, cluster members cannot run different versions. Theref
18
20
19
21
/// admonition | EDA upgrade procedure scope
20
22
type: subtle-note
21
-
This is the Nokia EDA software upgrade procedure, it does not cover upgrading Talos Linux or Kubernetes.
23
+
This is the Nokia EDA software upgrade procedure, it does not cover upgrading Talos Linux or Kubernetes. Nokia EDA does not require upgrading Talos or Kubernetes for every EDA version upgrade, unless explicitly stated in the release notes.
22
24
23
-
To upgrade Talos and Kubernetes perform **one of** the following:
25
+
In case Talos and/or Kubernetes upgrade is desired perform **one of** the following:
24
26
/// tab | Install a new EDA cluster
25
27
When running EDA cluster on virtual machines it might be easier to perform a new installation with the desired Talos and Kubernetes versions and restore your existing cluster backup into the new cluster:
26
28
@@ -34,33 +36,64 @@ Follow the respective [Talos Linux upgrade documentation](https://docs.siderolab
34
36
///
35
37
///
36
38
37
-
## Backing up your cluster
39
+
## Pausing NPP interactions
40
+
41
+
Prior to taking a backup of your cluster, place all `TopoNode` resources into `emulate` mode to avoid any ongoing interactions with the network devices during the upgrade process.
42
+
43
+
In this mode, EDA does not interact with target devices, effectively pausing the cluster's interaction with your infrastructure. You can still interact with EDA and the `TopoNode` resources; changes are pushed upon switching back to `normal` mode.
38
44
39
-
Backing up your existing cluster is performed using the [`edactl` CLI tool](../../user-guide/using-the-clis.md#edactl):
45
+
To set `emulate` mode in bulk, run the script from the [playground](https://github.com/nokia-eda/playground) repo directory on a machine where you have [`kubectl`](../../user-guide/using-the-clis.md#kubectl) configured with the access to your cluster:
40
46
41
47
```{.shell .no-select}
42
-
edactl platform backup
48
+
make set-npp-mode-emulate
43
49
```
44
50
45
-
<divclass="embed-result highlight">
51
+
After the script has been run, verify that the `TopoNode` resources are in `emulate` mode:
Platform backup done at eda-backup-engine-config-2025-04-22_13-51-50.tar.gz
60
+
NAMESPACE NAME MODE
61
+
my-other-ns leaf1 emulate
62
+
my-other-ns leaf2 emulate
63
+
my-other-ns leaf3 emulate
64
+
my-other-ns leaf4 emulate
65
+
my-other-ns spine1 emulate
66
+
my-other-ns spine2 emulate
67
+
eda leaf1 emulate
68
+
eda leaf2 emulate
69
+
eda spine1 emulate
48
70
```
49
71
</div>
50
72
51
-
This will create a backup in a gzipped tarball format in the toolbox pod. The backup archive contains all the necessary information to restore your cluster.
73
+
## Backing up your cluster
52
74
53
-
Copy this backup outside of your `eda-toolbox` pod - as this pod is destroyed and recreated during the upgrade. Replace the file name with the one from the `edactl platform backup` command output and run:
75
+
Backing up your existing cluster is performed using the `collect-backup` target provided in the [`Makefile`](https://github.com/nokia-eda/playground/blob/main/Makefile) of the playground repository.
Platform backup done at /tmp/eda-platform-backup-2025-12-18-21-37-42.tar.gz
85
+
[ OK ] Collected backup
86
+
[ INFO ] Transferring to host /tmp/eda-support/logs-2025-12-18/eda-platform-backup-2025-12-18-21-37-42.tar.gz
87
+
tar: Removing leading `/' from member names
88
+
[ OK ] Transferred to /tmp/eda-support/logs-2025-12-18/eda-platform-backup-2025-12-18-21-37-42.tar.gz
61
89
```
90
+
</div>
62
91
63
-
The backup file will be copied to the `/tmp/eda-backup.tar.gz` file on your system.
92
+
This will create a timestamped backup archive in the toolbox pod and copy it to the system where make target was run in the `/tmp/eda-support/logs-<date>` directory. The backup archive contains all the necessary information to restore your cluster.
93
+
94
+
/// warning | Testing the backup
95
+
It is highly recommended to test the backup by restoring it in a test cluster before proceeding with the upgrade of your production cluster.
96
+
///
64
97
65
98
## Updating playground repository
66
99
@@ -70,7 +103,7 @@ The workflow to upgrade EDA slightly differs depending on whether you have the o
70
103
71
104
/// tab | Playground repository present
72
105
73
-
If you have an existing [playground repository][playground] ensure it is up to date by running:
106
+
If you have an existing [playground repository][playground], ensure it is up to date by running:
74
107
75
108
```bash
76
109
git pull --rebase --autostash -v
@@ -139,7 +172,7 @@ Ensure the package inventory is in sync with your existing cluster:
139
172
make cluster-restore-inventory
140
173
```
141
174
142
-
## Uninstalling EDA core components
175
+
## Uninstalling EDA components
143
176
144
177
The existing EDA core components must be uninstalled, before installing the new version.
145
178
@@ -152,41 +185,6 @@ If you have a geo-redundant installation, on your active cluster member, update
152
185
Do not update the EngineConfig resource on standby members. Although stopped, if the standby members were to start, they must continue to look for the active member (and fail to do so) throughout the upgrade.
153
186
///
154
187
155
-
### Pausing NPP interactions
156
-
157
-
Place your `TopoNode` resources into `emulate` mode by setting the resource's `.spec.npp.mode` from `normal` to `emulate`.
158
-
159
-
* In this mode, EDA does not interact with targets, effectively pausing the cluster's interaction with your infrastructure.
160
-
* You can still interact with EDA and the `TopoNode` resources; changes are pushed upon switching back to `normal` mode.
161
-
162
-
You can do this with running the following script in on your machine where you have `kubectl` configured to access your cluster:
163
-
164
-
```{.shell .no-select}
165
-
make set-npp-mode-emulate
166
-
```
167
-
168
-
After patching script is run, verify that the `TopoNode` resources are in `emulate` mode:
For geo redundant clusters, execute the `edactl platform stop` command on both active and standby members, via their respective `eda-toolbox` Pods.
230
-
///
230
+
### Stopping EDA git servers
231
+
232
+
Continue with stopping EDA Git servers by scaling down the EDA Git deployments:
233
+
234
+
```{.shell .no-select}
235
+
make scale-down-git-servers
236
+
```
231
237
232
238
## Updating EDA kpt packages
233
239
@@ -266,13 +272,15 @@ make install-external-packages eda-install-core eda-is-core-ready
266
272
267
273
## Restoring your backup
268
274
269
-
Copy the backup file you extracted at the beginning of this procedure back into the new `eda-toolbox` pod:
275
+
Copy the backup file you [collected at the beginning](#backing-up-your-cluster) of this procedure from your machine back into the new `eda-toolbox` pod:
A default install of EDA will install current-version applications, but your restore will have restored previous versions. These versions may be incompatible with the new version of EDA core, and must be upgraded immediately following the upgrade. The existing `Makefile` can be used to do so:
295
+
Installing the new version of EDA will deploy application versions according to the installed release; however, the backup restore operation will have restored application versions as they were set in the original cluster. These versions may be incompatible with the new version of EDA core, and must be upgraded immediately following the EDA backup restore. The existing `Makefile` can be used to do so:
288
296
289
297
```{.shell .no-select}
290
298
make eda-install-apps
291
299
```
292
300
301
+
## Resume NPP interactions
302
+
303
+
To resume NPP interactions, set all `TopoNode` resources back to the `normal` mode.
304
+
305
+
```{.shell .no-select}
306
+
make set-npp-mode-normal
307
+
```
308
+
309
+
After the script has been run, verify that the `TopoNode` resources are in `normal` mode:
0 commit comments