-
Notifications
You must be signed in to change notification settings - Fork 227
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Investigate/Implement support of backup-restore plugin #92
Comments
|
https://gist.github.com/ax42/58d0c4c41eeabd91600a64e6d3280578 is the log file of the restore failing. |
The current method the backup/restore plugin uses to restore is this:
This means that if any other active process is using the basedir on the host filesystem, then the backup restore will fail since the OS prevents this in order to prevent fatal cascading process failures. If you're using docker to mount a volume to octoprint's basedir, then docker process will have an open fd for the octoprint basedir, and step 1 above will fail. This isn't just a docker problem. For example... another good example would be if you're using NFS or some other externalized file server mounted onto the host as octoprint's basedir. Basically, this one comes down to how the backup/restore is implemented, and isn't something that needs to be fixed within the docker image itself. If there is a technique the implementing user wishes to attempt based on mounting to different container volumes than the basedir, then docker allows that for specifically that type of reason, but it's not something you'd change in the docker image because a docker image should be implementation agnostic in order to do what docker does. |
This issue has been mentioned on OctoPrint Community Forum. There might be relevant details there: https://community.octoprint.org/t/backup-restore-fails-on-device-or-resource-busy/27182/2 |
I've now implemented plugin persistence via #132, I think I've identified a way to officially support backup/restore plugin from within the docker container. What I'm going to try is this;
I'm going to test the following approach:
This approach should mean the we can keep the current usage of mounting the If this works, we'll need to remove the |
Determine what changes could be made to enable support of the backup-restore bundled plugin.
Need to identify what problems exist with current implementation (users have reported permissions errors)
identify changes that could be made to allow restore to work without errors
determine any caveats to those changes due to docker ecosystem
implement changes if severity of caveats is low
reference discord conversation start: https://discordapp.com/channels/704958479194128507/744267928559550566/760421775925444658
The text was updated successfully, but these errors were encountered: