Migration from 3.x to 5.x
There were some configuration changes in OpenWRT in meantime and we should implement script that migrates those primary settings
-
Switch configuration is now done using DSA and switch sections are obsolete. We have to migrate them. -
Create new bridge interface for VLANs without CPU port assigned.(won't be implemented unless wide deployment with such config is discovered) -
Updater configuration and userlists to pkglists -
Wifi paths migration ( option path 'soc/soc:pcie-controller/pci0000:00/0000:00:01.0/0000:01:00.0'
vsoption macaddr '04:f0:21:1c:b7:52'
) -
Detect and select sfp
Known problems:
-
update takes a long time because ubus seems to be timing out. I is enough to kill ubusd
when new version is installed. -
base-files with /etc/services_wanted
is updated later in update and because of that some services (syslog-ng, dnsmasq, ...) are not activated. turris/turris-build@154d9217) -
some services like lighttpd and mysql are ordered before ubus update do they postinst scripts are hanging (on procd timeout) (solution: turris/updater/updater#137) -
services are still not enabled even with fix from previous line (solution: turris/updater/updater#273 (closed)) -
after migration Foris reports LAN and guest as to not contain any interface. This is because it expects ifname
as list not option. -
region country is not set in Foris. This is because of missing system[0]._country
option but do we care? (this is because it wasn't set in 3.x. If set then it is correctly carried over) -
nextcloud does not work after update. Website is empty. (turris/turris-os-packages#431) -
single interface in network should be option
notlist
otherwise wan dhcp proto does not work (turris/turris-os-packages@a9ec3c8b) -
knot resolver is unreachable for some reason (problem was in loopback not having interface) -
/etc/config/fstab
fielduuid
now really usesUUID
and notsubuuid
(SUBUUID drives are not mounted. We should replace SUBUUIDs with UUIDs) (Unconfirmed) -
User installed packages that are no longer available in 4.0+ should be removed/disabled somehow or we should not initialize update. (turris/turris-build!59, turris/turris-build!107) -
updater is unable to found localrepo repositories (turris/turris-os-packages!168) -
localrepo contains invalid packages (we should just flush localrepo and inform user about it) -
localrepo fix to move it away does not work sometimes (turris/turris-os-packages!374) -
LXC is not reportedly migrated (but script itself works as users suggesting them self to run it manually) (turris/turris-os-packages!369) -
Turris 1.x currently can't be migrated because of dependency loop on updater-ng
package (turris/turris-build!183, turris/turris-build!187) -
Scary message about removal of turris-btrfs
is send to users of Turris 1.x because of rename of that package (Low probably won't fix) -
Migration breaks (with broken libraries) because of turris/turris-os-packages!417 if package depending on knot-libs
is installed (resolved by turris/turris-build!196) -
Some swconfig configuration might stay in place (we might be ignoring it) and it can cause problems with system without swconfig (commands failing) (resolved by turris/turris-os-packages!383) -
Notify users about finished migration (probably on tos3to4 package removal) (turris/turris-os-packages!380) -
Wireguard DEVICE_CLAIM_FAILED
error after migration (turris/turris-os-packages#696 turris/turris-os-packages#697) -
Alternatives are not updated after migration as well as on Turris 1.x new version of kernel is not as well (turris/updater/updater#309 (closed) turris/turris-os-packages#678) -
After migration router has no LAN as switch config is removed and DSA is not yet deployed (we have to do reboot) (build!421 (merged)) -
Updater settings migration fails for some reason and we are with old version (build!421 (merged)) -
Package lists are not migrated as format changed and fix script is not installed during migration (build!421 (merged)) -
When approvals are enabled the migration won't trigger right after installation of tos3to4
but with next run (Low and probably won't fix)
Test:
-
basic network configuration (switch, bridges, ..) -
guest wifi and network configuration -
firewall rules -
DNS configuration -
openvpn -
pakon -
storage plugin -
lxc -
haas (honeypot as a service) -
netmetr -
nextcloud -
localrepo -
dev detect (migration from pakon-dev-detect to dev-detect) -
mwan
Things to notify users about:
- Updater approvals are disabled for this migration to mitigate possibility that because of link dependencies the approve would be impossible to give. Notification about it is send to notification system once user installs
tos3to4
on Turris OS 3.x. - Updater is reported as disabled during update.
Edited by Karel Koci