Migration from v2.4 to v2.6

Hello,

we recently updated our mender server from 2.4 to 2.6. Now we are facing two problems:

  1. We are missing more than half of our devices on the v2.6 UI.
  2. We cant use our field serial_number to sort the devices anymore.

Regarding 1)
We are using docker-compose from the mender-integration github repo. Since we needed to update quite many mongo db versions, we first thought this came from the mongo db update from 3.4 to 4.4. But comparing the tables of the v2.4 mender with the ones of the v2.6 mender with migrated mongo shows us that the tables are nearly identical (some fields where added)

To determine whether the problem comes from the frontend or the backend, we used v2.4 Frontend and rerouted it to the new backend. We could see all our devices as expected, while v2.6 missed on devices (16 on v2.6 vs 41 on v2.4).
Comparing which APIs the Frontend is actually calling, we observed that they differ. While the v2.4 made requests where the frontend receives device lists with 41 devices, v2.6 only receives
16 devices calling the search endpoint and resolves 12 of them using the devices endpoint. What we saw then is that the ids differ. All devices available via search endpoint have deviceIds that are
not in the form of a uuid v4 id, but look like 5ebba38e5f9c2c0001e0c721. Since then, we assume it has something to do with the ids.

Question now is, how can we migrate the missing devices so that they work with mender v2.6?

Regarding 2)
This feature was available in the mender-gui v2.4, however with 2.6 the number of fields decreased to just Device ID (seems like an ID provided by mender) and status. If I don’t select status or Device ID
it stays available, but as soon as I select one of them after the update the view gets lost.
mender-serial-number-to-sort

Is this on VM or cloud instance. Did you take a vm/cloud snapshot before doing the migration so you can roll back?

When you did the upgrade did you go from 2.4 to 2.6 via 2.5? I believe jumping minor versions is not recommend/supported by the mender team as you could miss important migrations.

If you can roll back then try going from last 2.4 version to 2.5

Taking things to the extreme i have found that the smoothest path for me is to migrate incrementally thru the patch releases before jumping to the next minor release, and then repeat.

@peter @tranchitella can you help here?

  • VM on Google Cloud Platform.
  • Yes, I did take a snapshot and can easily roll back
  • I have skipped the 2.5 Update, I will setup a new VM with the snapshot to try this

Thanks for the advise!

1 Like

I did the update of the snapshot from v2.4 to v2.5. Sadly we still have the same problem.

Regarding the IDs that are available / not available, here is a screenshot.

ok, that should narrow down the problem, I will need to defer to the Mender developers now as what could be causing this as I haven’t seen this problem before.

@dbasner One of the key differences between Mender 2.4 and 2.5 is that the list of devices is retrieved from the inventory service instead of the deviceauth one. What I suppose is happening here is that your inventory service is not fully synced with deviceauth.

Can you please follow these instructions?

1 Like

Hi,

Thank you for the answers. With this information, I will retry the migration 2.4->2.6 by doing the following:

Reload 2.4 Version Snapshot

  • Update 2.4 → 2.5
  • Update MongoDB
  • Migration step as mentioned by @tranchitella
    check if this works out, if so, migrate to 2.6

I`ll keep you updated as soon as I have my results.

1 Like

Hi,

That worked quite well. We see the devices now and can also filter as before.
Thanks for the support!