Please, separate automatic apps and platform upgrades
-
Today my Cloudron instance crashed during the automatic upgrade process - it's the first time in like 3 years, but it's pretty much enough for me to disable automatic platform upgrades anywhere until you can make it atomic (for example using snap or other Ubuntu Core or any other ways), just like you did for the apps.
But I can see that you have one switch for both - apps and the platform.
Could you please, separate that configuration?
Considering last upgrade issues in 7.5 and my specific issue, where the whole configuration is lost, I would like to ask you to make it as a priority, if possible.
-
Note that several app updates depend on the current version of Cloudron - if you autoupdate the app without Cloudron, you leave the app in a nun-functioning state. I don’t know if that is any better than figuring out the root cause for crashes of your updates?!
-
Today my Cloudron instance crashed during the automatic upgrade process - it's the first time in like 3 years, but it's pretty much enough for me to disable automatic platform upgrades anywhere until you can make it atomic (for example using snap or other Ubuntu Core or any other ways), just like you did for the apps.
But I can see that you have one switch for both - apps and the platform.
Could you please, separate that configuration?
Considering last upgrade issues in 7.5 and my specific issue, where the whole configuration is lost, I would like to ask you to make it as a priority, if possible.
@potemkin_ai said in Please, separate automatic apps and platform upgrades:
Today my Cloudron instance crashed during the automatic upgrade process
do we know what the problem is?
-
Note that several app updates depend on the current version of Cloudron - if you autoupdate the app without Cloudron, you leave the app in a nun-functioning state. I don’t know if that is any better than figuring out the root cause for crashes of your updates?!
@necrevistonnezr not quite correct, not from what I know at least: I remember some apps just were not updated during the transition from 7.4 to 7.5 due to some database dependency.
So, I believe, the dependency mechanism is there and could be used appropriately.
And if that's correct, I would rather have an outdated app instead of the crashed one.
-
@potemkin_ai said in Please, separate automatic apps and platform upgrades:
Today my Cloudron instance crashed during the automatic upgrade process
do we know what the problem is?
-
@potemkin_ai Ah yes, thanks. I just read the ticket. This is related to sftp keys migration which happenned many releases ago. It leaves the system in an inconsistent state. Strange bug somewhere.
-
@potemkin_ai Ah yes, thanks. I just read the ticket. This is related to sftp keys migration which happenned many releases ago. It leaves the system in an inconsistent state. Strange bug somewhere.
@girish said in Please, separate automatic apps and platform upgrades:
@potemkin_ai Ah yes, thanks. I just read the ticket. This is related to sftp keys migration which happenned many releases ago. It leaves the system in an inconsistent state. Strange bug somewhere.
So was this a "standard" update or - as "many releases ago" suggests - an update crossing several versions?
-
@necrevistonnezr not quite correct, not from what I know at least: I remember some apps just were not updated during the transition from 7.4 to 7.5 due to some database dependency.
So, I believe, the dependency mechanism is there and could be used appropriately.
And if that's correct, I would rather have an outdated app instead of the crashed one.
@potemkin_ai said in Please, separate automatic apps and platform upgrades:
@necrevistonnezr not quite correct, not from what I know at least: I remember some apps just were not updated during the transition from 7.4 to 7.5 due to some database dependency.
No, happens quite frequently. Just a few examples:
- https://forum.cloudron.io/post/42603
- https://forum.cloudron.io/post/47840
- https://forum.cloudron.io/post/5325
- https://forum.cloudron.io/post/9472
- https://forum.cloudron.io/post/9950
So, I believe, the dependency mechanism is there and could be used appropriately.
And if that's correct, I would rather have an outdated app instead of the crashed one.
Agreed.
-
@girish said in Please, separate automatic apps and platform upgrades:
@potemkin_ai Ah yes, thanks. I just read the ticket. This is related to sftp keys migration which happenned many releases ago. It leaves the system in an inconsistent state. Strange bug somewhere.
So was this a "standard" update or - as "many releases ago" suggests - an update crossing several versions?
@necrevistonnezr said in Please, separate automatic apps and platform upgrades:
So was this a "standard" update or - as "many releases ago" suggests - an update crossing several versions?
We only have standard update i.e updating from previous version to next one. Cannot jump several versions (atleast, we have never tested this, but in any case there is no easy way to do this unless you hotfix the code from gitlab).
I was debugging a bit yesterday but we have a code path where we create keys. These keys have to be written into filesystem and the database. It's written in db for backup and written in filesystem for containers to be able to use them. Unfortunately, writing to fs and db is not an atomic operation. The current code gets confused if there is some crash between the two writes (for example, no disk space). I will just fix it to be more robust.
-
@necrevistonnezr said in Please, separate automatic apps and platform upgrades:
So was this a "standard" update or - as "many releases ago" suggests - an update crossing several versions?
We only have standard update i.e updating from previous version to next one. Cannot jump several versions (atleast, we have never tested this, but in any case there is no easy way to do this unless you hotfix the code from gitlab).
I was debugging a bit yesterday but we have a code path where we create keys. These keys have to be written into filesystem and the database. It's written in db for backup and written in filesystem for containers to be able to use them. Unfortunately, writing to fs and db is not an atomic operation. The current code gets confused if there is some crash between the two writes (for example, no disk space). I will just fix it to be more robust.
@girish thank you.
Does it mean that separate apps updates and manual platform updates are out of the scope for the foreseeable future?
-
@girish thank you.
Does it mean that separate apps updates and manual platform updates are out of the scope for the foreseeable future?
@potemkin_ai said in Please, separate automatic apps and platform upgrades:
Does it mean that separate apps updates and manual platform updates are out of the scope for the foreseeable future?
Ah no. I was simply stating the lay of the land
If it's seen as useful by many, we will implement it.
-
@potemkin_ai said in Please, separate automatic apps and platform upgrades:
Does it mean that separate apps updates and manual platform updates are out of the scope for the foreseeable future?
Ah no. I was simply stating the lay of the land
If it's seen as useful by many, we will implement it.
@girish I see, thank you for clarification. I guess it means we are speaking months here.
Is there any API call, that I can probably execute with
curl
to automatically update only apps from cron? -
@girish I see, thank you for clarification. I guess it means we are speaking months here.
Is there any API call, that I can probably execute with
curl
to automatically update only apps from cron?@potemkin_ai internally, there is only one update pattern, we have to implement splitting it up.
-
@potemkin_ai internally, there is only one update pattern, we have to implement splitting it up.
@girish Ok… what about something that gets all apps list, check and execute update on any of those, who has ‘update available’ flag?
-
@girish Ok… what about something that gets all apps list, check and execute update on any of those, who has ‘update available’ flag?
@potemkin_ai perhaps make an N8N workflow with the API
-
@potemkin_ai perhaps make an N8N workflow with the API
@robi I prefer minimum of the moving parts and I don’t really like the programming with n8n; writing a script feels much easier and less error prone.
-
@robi I prefer minimum of the moving parts and I don’t really like the programming with n8n; writing a script feels much easier and less error prone.
@potemkin_ai it can do that too
-
@potemkin_ai it can do that too
@robi pardon?
-
@robi pardon?
@potemkin_ai scripting within n8n.. or even just a bunch of curl commands I think
-
@potemkin_ai scripting within n8n.. or even just a bunch of curl commands I think