Upgrading to v3.9.1
Platform train v3.9.1 supports an in-place upgrade from v3.9.0 and from v3.8.0. You keep the same Controller database.
From v3.9.0 this patch is a tag bump. There is no schema or API change. From v3.8.0 you use the same v3.9.1 tags, and you also apply the v3.9 registry and catalog changes below.
There is no direct upgrade from v3.7.x, v1.6.x, or legacy Java Agent deployments to v3.9.1. Move to v3.8.0 first with a greenfield Control Plane and Edgelet-only nodes. See Migrating to v3.8.0 and the Documentation archive.
Before you start
- Read What's New.
- Export or commit your control plane YAML,
Agentmanifests, and application YAML. - Plan a maintenance window. Upgrade the control plane first, then fleet Edgelet nodes.
- Air-gapped sites: stage wrapper images before you bump tags. See Airgap deployment and Offline images.
Default pins are on Control plane.
| Component | v3.9.1 pin |
|---|---|
| potctl | v3.9.1 |
| Controller | image 3.9.1 |
| Operator (Kubernetes) | image 3.9.1 (Helm chart 3.9.1) |
| Router | image 3.9.1 |
| NATS | image 2.15.1 |
| Edgelet | v1.1.1 (image 1.1.1) |
| EdgeOps Console | v1.1.1, embedded in the Controller image |
Container image tags omit the v prefix. The CLI binary and the Edgelet binary keep the v.
Supported upgrade path
| You are on | Action |
|---|---|
| v3.9.0 | Tag bump below. Skip the v3.8 workload review. |
| v3.8.0 | Same tag bump, then the v3.8 review. |
| v3.7.x or older | Greenfield to v3.8.0 first. See Migrating to v3.8.0. |
| New install | Deploy v3.9.1 directly. See Getting started or Platform deployment. |
Recommended order
Keep Controller, Operator (Kubernetes), Router, NATS, system Edgelet on Controller hosts, fleet Edgelet nodes, and potctl on v3.9.1.
- Upgrade potctl on your workstation to v3.9.1.
- Bump image tags and the Edgelet pin in control plane YAML (
Controller,Router,NATS,spec.systemAgent). Use the table above. - Re-apply control plane YAML:
potctl deploy -f controlplane.yaml
On Kubernetes, upgrade the operator or Helm chart to 3.9.1, then apply the updated KubernetesControlPlane manifest.
- Upgrade fleet Edgelet nodes to v1.1.1 after the control plane is healthy. See Upgrade and rollback Edgelet.
sudo sh /usr/share/edgelet/install.sh --upgrade --version=v1.1.1
That host upgrade stays on the CLI flavor's Edgelet repository. Controller hosts pick up the system Edgelet pin in step 3.
- If you started on v3.8.0, do the review in the next section. If you started on v3.9.0, skip it.
If you are on v3.8.0
v3.9 removed registry fields requiresCert, certificate, and isSecure. Use type (oci or hf), optional ca, and insecure.
Agent YAML no longer has deviceScanFrequency, bluetoothEnabled, or abstractedHardwareEnabled. Use edgeGuardFrequency when you need attestation.
Deploy Model and Knowledge catalog rows before you bind them in microservices. New spec.container fields are optional.
Details: What's New, Registries, Microservices.
Verify
potctl describe controlplane
potctl describe controller CONTROLLER_NAME
potctl get agents
The console Overview shows control plane status. The API tab loads Scalar for the Controller API.
Rollback
Redeploy the previous control plane tags and Edgelet pin, then downgrade fleet nodes with upgrade agent aimed at the prior Edgelet version. From v3.9.1 that prior pin is v1.1.0 if you came from v3.9.0, or v1.0.0 if you came from v3.8.0. Test rollback in a lab ECN before you change production.
Related guides
- What's New in Datasance PoT
- Upgrade the platform train
- Edgelet nodes
- Registries
- AI Model Catalog
- AI Knowledge Catalog