tenzir / public-roadmap

The public roadmap of Tenzir
https://docs.tenzir.com/roadmap
4 stars 0 forks source link

Update Notifications #142

Closed dominiklohmann closed 1 year ago

dominiklohmann commented 1 year ago

We want to let users know when their Tenzir Nodes must be updated.

Which update states can a node be in?

  1. The version can exactly match the last released version
  2. The version can be greater than the last released version, which indicates that the user is a developer or running a pre-release version
  3. The version can be less than the last released version, but greater or equal than the minimum required version, which indicates that the node should be updated
  4. The version can be less than the minimum required version, which indicates that the node must be updated

The goal of this roadmap item is to make the states (3) and (4) visible to the user in the frontend. Let's call (3) outdated and (4) unsupported nodes.

### Tasks
- [x] Design how we show outdated and unsupported nodes in the frontend for connected and disconnected nodes
- [x] Design how we show the update instructions in the frontend
- [x] Write update instructions
- [x] Agree on and implement the mechanism to use for transporting the node version to the tenant manager (build number or version string)
- [x] Implement version comparisons in the frontend and display the states
### Tasks
- [ ] https://github.com/tenzir/issues/issues/840
lava commented 1 year ago

This was already done as part of https://github.com/tenzir/issues/issues/573

The /list-nodes endpoint in staging now returns last_version like this:

{
  "nodes": [
    {
      "name": "adhoc-node",
      "node_id": "n-jriwsn6s",
      "create_date_time": "2023-08-28T09:02:50.170974+00:00",
      "last_version": "v4.0.1",
      "connected": true,
      "lifecycle_state": "connected",
      "demo": false
    }
  ]

The string is populated from the value of tenzir::version::version that the node sends when connecting to the platform.

dit7ya commented 1 year ago

I think last_version is a bit confusing in the long run - it reads too much like latest_version. I don't know how much effort is it to change it to something more verbose is though.

rdettai commented 1 year ago

@dit7ya do you have a counter proposal? what is missing from last_version ?

dominiklohmann commented 1 year ago

Why not just version?

rdettai commented 1 year ago

We added last_ as a semantic hint that this is the "last seen version", which applies better in the case where the node is disconnected.

dit7ya commented 1 year ago

last_known_version or last_seen_version sound descriptive enough for me.