Migration to YNH 12 : restoring YNH 11 backups on fresh install gives strange conflicts

What type of hardware are you using: Raspberry Pi 3, 4+
What YunoHost version are you running: 12.xxx
How are you able to access your server: The webadmin
SSH

Describe your issue

First of all, my apologies, this will be a quite puzzled dump of information shared on the support channel, as a way to document it quickly as I’m lacking time - I will try to improve later on.

I tried to restore backups made in YNH 11 (around 6 months ago) on a fresh install of YNH 12 on the same rasperry pi and storage, using official image, and after updating it.

It seems to have revealed a corner case not handled correctly.


I tried to restore the system backup, without running post-installation first, but it fails during an automated migration:

Error: Migration 0028_delete_legacy_xmpp_permission did not complete, aborting. Error: Could not find peertube in the list of installed apps: 
 * 
Error: Could not find peertube in the list of installed apps: 

Or rather the empty complete log:

args:
  force: true
  permission: xmpp.main
ended_at: 2025-01-09 13:23:09.400640
error: "Could not find peertube in the list of installed apps: \n * "
interface: cli
operation: permission_delete
parent: null
related_to:
- - app
  - xmpp
started_at: 2025-01-09 13:23:09.289620
success: false
yunohost_version: 12.0.7

============

2025-01-09 13:23:09,344: DEBUG - The permission database has been resynchronized

On the other end :

yunohost tools migrations state
migrations: 
  0027_migrate_to_bookworm: skipped
  0028_delete_legacy_xmpp_permission: skipped
  0029_postgresql_13_to_15: skipped
  0030_rebuild_python_venv_in_bookworm: skipped
  0031_terms_of_services: skipped

I also can’t restore peertube backup, because permissions for the app (such as peertube.api) already exist.

It’s even more broken : if I try to restore system backup, it fails with that previous migration issue.
But if I try to restore peertube backup, if fails because several peertube.something (like peertube.api) permissions already exists (should that be handled by the package ? :thinking:) but I can’t delete them because Could not find peertube in the list of installed apps. :sweat_smile:

So I ended up installing a temporary peertube app, restoring the system backup, then removing peertube app a’d restoring the peertube backup.
It went smootly.

PS : I solved this so I can’t debug it anymore.

Share relevant logs or error messages

See post.

1 Like