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
2.10.3 brings vdb-config --interactive nightmare #291
Comments
The only way I have found to get around this is to run I noted the same problem in #282. |
You ran into exactly the problem that we are trying to avoid, which is that had it not been for that failure, you would have deployed a bunch of toolkits without initial configuration. With the 2.10.x release, a lot of things changed, and the SRA Toolkit has been adapting along with the changes. For example, before we send information about your billing credentials or computing environment, we are asking for user acknowledgement/agreement. Had it not been for giving you the chance to reject it, we could have just started sending it without your knowledge or consent. For this reason, and at least for the 2.10.3 release, we are asking users to manually configure their system. It's only required once, and it doesn't ask again. And by the way, we have the exact same issue for the Docker images we produce, and so you can expect this to be smoothed out very soon. |
To not have to copy config files in/out of a container you can run
Edit: This does not work if you run it in the Dockerfile as |
Hi all, thanks for the helpful notes! @ababaian, did you manage to find a command like @seandavi , could you please give more information on how to store the config file or where it can be found, and how it can later be read from Dockerfile? @kwrodarmer , any news on when this will be fixed/enabled? Thanks a lot! |
@probalica19 negative. See Dockerfile we just copy over the config file from the github repo. Feel free to grab that one if you don't have an obvious place to host it will remain in place for the foreseeable future.
|
We have a ticket to address this case, and I still owe a wiki page to describe the issue. |
@ababaian - you should not share configuration files and we would ask that you not place them in GitHub. |
This is a fully dummy config file, made on a blank container with no personal information inside it. We need a way for production to bypass the forced interaction. Edit: Unless I'm misunderstanding something here in which case please let me know what it is. |
For a fully blank config file, it certainly has a lot of non-blank entries! |
Hi. Thank you, Uri David |
Hello, |
any update on this guys..even after copying user-settings.mkfg, it gives me same error. |
Open the config file on a local machine to generate a GUID at the top of the config file. Once you have the GUID, copy it to the other machine
Good luck!
—
Eila
www.orielesearch.com
https://www.meetup.com/Deep-Learning-In-Production
…Sent from my iPhone
On May 3, 2020, at 2:38 AM, Abhinav Garg ***@***.***> wrote:
any update on this guys..even after copying user-settings.mkfg, it gives me same error.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
Hi all, Am I supposed to experience the same issue with the new version (2.10.6)? I have tried the approach of @ababaian and when I build the docker image as instructed, container started from that image on my local machine seems to be configured, but once this image gets pushed to remote, and docker container run on cloud, the configuration is required again. Any help is much appreciated! Thanks, probalica |
Yes, yes you are. That is, unless you use the enclosed Docker file. The behavior you see is something we were forced to implement in order to avoid a race condition that most people who are not running interactively would run into. There are many different requirements - some of them conflicting - from many different users, and we're trying to not kill one while supporting the other. 2.10.6 has a docker file in it, and we will be posting to docker hub within the near future. You should use that. |
Given that when I run |
yeah, I am having the same problem of upgrading the formula (Homebrew/homebrew-core#55471).
Can we have some default profile for this matter? |
They probably could, but for some reason, they just don't want to. It's a bit hard to believe that enforcing users to run See also: #77 (comment) and #77 (comment). Do you know of any alternatives to sra-tools that provides similar functionality and is still able to run non-interactively? It looks like, for now, NCBI are set on preventing any unattended setup and use of their tool. |
@s-andrews , @chenrui333 , @amizeranschi , and anyone else who wants to express an opinion here, PLEASE NOTE! THERE WOULD BE A RACE CONDITION IF YOUR PROPOSED SOLUTIONS WERE IMPLEMENTED. Please read the previous posts in this issue. This behavior we introduced - where you have to install and run a tool manually ONCE and thereafter it runs as it always has - to avoid a configuration race condition that would have caused another flood of complaints. The behavior is not permanent, and can be addressed by moving to formal installers. But this will also introduce another flood of complaints from users who do not have admin privileges. The SRA Toolkit supports a very large number of users across every time zone of the world, and have a lot of demands. We do our best to give people what they need. This issue is understood, your concerns have been heard, I have given you the answers:
|
Wouldn't it be possible to implement |
Not without encountering a race condition, no. We are updating a file in some arbitrary file system that we have little control over and we have no effective way of locking the file for modification across multiple hosts and/or multiple processes. Your proposal removes the |
@kwrodarmer thanks for replying to this - I appreciate that you're getting a lot of requests about this and I'm sure you're under a lot of pressure from users reporting issues, but please appreciate that many of us are also trying to placate users of our software and pipelines, and are trying to find workrounds for code which used to work and now doesn't. Your pointer to the docker script, now that we know where to look provides a completely functional workround for this. For others who haven't seen it, the relevant part is simply:
Which does exactly what people have been asking for, so thankyou for that. People here are generally fairly used to finding solutions for these types of issues, but this was not an easy solution to find. Specifically:
All people needed was a way to generate the GUUID without having to run a tool which has no user interaction without having to create an interactive environment - which could be non-trivial depending on the use case. I completely understand the need for interaction where the user must agree to conditions for controlled access, but most of us don't need that. |
The Docker release is not complete. We are new to the ecosystem and just moving in. We use Docker ourselves but have not yet used it as a medium for publishing solutions. This is why the Docker file is not being announced - yet. The importance of the line from Docker is that it is run at a time when there are no race conditions. If this line is extracted and run from a HPC farm, it will exactly cause the problem we took pains to avoid. |
Link to the NCBI supported docker documentation can be found here: |
Is there a solution to building sratoolkit within a docker and avoiding the vdb-config -i flow? I fail to recognize how running vdb-config -i and then exiting does anything of value to then allow the other tools (fastq-dump) to proceed? Is there an official dockerfile yet?
|
Interesting, if I run:
I don't get the vdb-config issue. However if I run the SAME command using cwl-runner, I do get the error. The CWL command is:
Is the contributing difference, --env=HOME=/uaJujC? |
The toolkit looks in
The only thing I can see that might go wrong is |
Yes, I discovered the image has /root/.ncbi/user-settings.mkfg that is read when you using the image directly. When run through cwl-runner, the image run as a different user hence this file isn't present. I took the file from the image and create it at runtime. Here is my workaround using CWL in the requirements section:
EDIT: This issue is more than just v2.10.3. I'm using 2.11.0, referencing #489 |
As soon as I migrated from 2.10.0 to 2.10.3 all my bioinformatic workflows failed with
error. It looks that you broke the way how config if resolved because when it runs prefetch inside bash script I get this "vdb-config --interactive" nighmare
My docker container is https://github.com/antonkulaga/biocontainers/tree/master/downloaders/sra
The text was updated successfully, but these errors were encountered: