-
Notifications
You must be signed in to change notification settings - Fork 45
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
Error with Grate 1.7.0 - Read-only file system #509
Comments
I understand why this is happening. It's the internal grate migration that extracts embedded SQL from the DLL and writes them to a temporary folder before running an extra, internal grate migration on its own internal tables, to make sure they are up-to-date, before proceeding with the actual migration. This is due to #482 . I did think of it, but I thought it was an exotic use case to not have a writable temporary folder. Of course I was wrong 😛 I'll try to look into virtualising the fil system access, so that we are not dependent on a writable file system for this. In the mean time, I recommend rolling back to grate 1.6.2. A related question, how do you handle grate's changeDropFolder/outputPath? Do you get a lot of warnings that we're unable to copy the scripts to the changeDropFolder? |
A follow-up question, @mbp, could you try to add a tmpfs volume on /tmp, and see if that solves you issue? https://docs.docker.com/storage/tmpfs/ or is that not possible in your situation? |
@erikbra right now we have workaround with pinning the version to 1.6.2. So there is no urgent issue for us 👍 We do have writable tmp folder. It's just the root file system that is not writable (I suppose it's to prevent someone from modfying any application code) We actually invoke Docker like so:
And grate is invoked like so:
As you can see, we set output path to tmp folder. I am not sure what is meant by "changeDropFolder", but we don't get any warnings when running grate. |
…nt directory) is not writable * Created concept for running unit tests with grate in docker. * Added docker tests for all databases * Fixed problem with the internal migrations not obeying the output folder * Removed requirement of output folder already existing before migrating ( WIP: Working on docker publish to container instead of Dockerfile - not done yet)
…nt directory) is not writable (#510) * Created concept for running unit tests with grate in docker. * Added docker tests for all databases * Fixed problem with the internal migrations not obeying the output folder * Removed requirement of output folder already existing before migrating ( WIP: Working on docker publish to container instead of Dockerfile - not done yet)
Double-checking, @misterjunio and @mbp , does grate 1.8.0 solve this, or is this still not working? |
Makes sense :) I'll try to get 1.8.1 out the window soon :) Re-opening this for now, so that we have it on the radar until we're certain it's resolved (or not) |
Hi @erikbra , I don't have any issue with read-only file system. We use grate 1.8.0. |
Do you also run in a container with a read-only filesystem, @mbp ? |
Yes I do @erikbra. |
Wonderful, thanks for the follow-up, @mbp . I'll close this one again then, and assume the issue is actually solved in 1.8.0. All joy and happy-yappiness, then 😄 |
Since the version 1.7.0 of Grate, we are getting errors when running it in our Docker environment.
Log file:
We use AWS Fargate to run grate with readonlyrootFileSystem enabled for security reasons. It seems new grate version is writing to the root file system. Can this change be reverted?
This issue can also be reproduced if you run grate in a Docker with
--read-only
set, e.g.The text was updated successfully, but these errors were encountered: