-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
elixer applications are not able to access files in the job task directory. #4194
Comments
Thanks for reporting this. https://github.com/hashicorp/nomad/pull/4129/files looks like it could be related to this regression. As a workaround, would you be able to make the file being downloaded be world readable, the changes we made in #4129 should preserve original permissions. |
Hi @preetapan Thanks for the reply! Unfortunately, I don't think its a permissions issue as all the files and directories are all world read all the way up the chain: -rw-r--r-- 1 root root 8635 Apr 16 12:32 local/org_service/releases/0.0.1/org_service.schema.exs Also, when I do a "touch" on the file (no permissions change at all) it becomes accessible to the service. Thanks! |
@dansteen Could you share the same permission breakdown when you running it under 0.7.1? Also could you, as a test, run a batch version of that job and have the command just be |
Here is a super-simple test application that will demonstrate this issue: If you can't use the binary, or you want to test in other box types, here is the code that generates that application bundle: To build it, you will need the following packages (on debian): Then run the following commands:
The binary bundle will then be located in And here is an associated job file that will demonstrate this issue:
The errors show up in stderr:
A successful run will generate the following log line:
Some interesting tests
Thanks! |
Hi @dadgar ! Here is the permissions breakdown under 0.7.1: -rw-r--r-- 1 root root 9193 Apr 23 10:49 local/org_service/releases/0.0.1/org_service.schema.exs Here is the outcome of running a
So it seems that the file is there and can be generally read. Thanks! |
@dansteen Thanks for the reproducer. We were able to track it down to an issue when the archive did not have access time set. This has been fixed and will be pulled into Nomad 0.8.2 which will be releasing shortly! |
I'm going to lock this issue because it has been closed for 120 days ⏳. This helps our maintainers find and focus on the active issues. |
Nomad versions
Nomad v0.8.1 (46aa11b)
(also 0.8.0)
(worked fine in Nomad v0.7.1 (0b295d3))
Operating system and Environment details
debian 8
Issue
After upgrading to nomad 0.8.0 (and then 0.8.1 as a test) my elixer applications are no longer able to read files that are placed in the allocation directory during the "downloading artifacts" phase of the deployment (i get a "file not found" type of error).
These applications worked just fine under version 0.7.1.
The actual error I get is:
but the file does exist:
To resolve this I can manually run through and "touch" all the files that the application will need to read. once I do that, the application is able to read the files and start up.
(note that I have also opened a support ticket for this issue - sorry about the duplicate)
Nomad Server logs (if appropriate)
There are no server error logs
Nomad Client logs (if appropriate)
there are no client error logs
Job file (if appropriate)
The text was updated successfully, but these errors were encountered: