Skip to content
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

UFCG #492

Open
boegel opened this issue Jan 21, 2025 · 7 comments · May be fixed by easybuilders/easybuild-easyconfigs#22223
Open

UFCG #492

boegel opened this issue Jan 21, 2025 · 7 comments · May be fixed by easybuilders/easybuild-easyconfigs#22223
Assignees
Labels
conda Is supported in conda container Container image available difficulty: easy software that should be easy to support Java new new software priority: high site:ugent Software installation request for UGent Tier-2

Comments

@boegel
Copy link
Contributor

boegel commented Jan 21, 2025

@boegel boegel added conda Is supported in conda container Container image available difficulty: easy software that should be easy to support Java new new software priority: high site:ugent Software installation request for UGent Tier-2 labels Jan 21, 2025
@pavelToman pavelToman self-assigned this Jan 27, 2025
@pavelToman
Copy link
Collaborator

pavelToman added a commit that referenced this issue Jan 28, 2025
@boegel
Copy link
Contributor Author

boegel commented Jan 28, 2025

@pavelToman Did you manage to run any test cases with this?

Based on another question we got on UFCG, I learned that this tool checks whether it has access to the internet by running a command like this:

ping -c 1 -W 1 ufcg.steineggerlab.workers.dev

That doesn't work on our system, because ICMP (the protocol used by ping) is blocked by our firewall, leading to this internally in the tool

$ ping -c 1 -W 1 ufcg.steineggerlab.workers.dev
PING ufcg.steineggerlab.workers.dev (172.67.144.214) 56(84) bytes of data.
From nat03.gastly.os (10.141.10.243) icmp_seq=1 Destination Host Unreachable

--- ufcg.steineggerlab.workers.dev ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms

which then results in:

UFCG  |:  ERROR! No internet connection

Can you check if you can trigger this problem, and try to come up with a patch that dances around this?

The patch can either be to replace the ping command with another way to verify that the connection actually works (like downloading a small file from that server via wget), or do bypass the check entirely by returning true in the internetConnection function in https://github.com/steineggerlab/ufcg/blob/main/src/module/DownloadModule.java

@boegel
Copy link
Contributor Author

boegel commented Jan 28, 2025

See also steineggerlab/ufcg#7 w.r.t. the ping issue

@pavelToman
Copy link
Collaborator

pavelToman commented Jan 29, 2025

There is another issue - it wants to download some files (config) at the start of the program by ufcg download -t minimum. Could it be done by this ufcg cmd or should I create another patch and replace this command in install_cmds?
Testbot has a problem with this cmd: easybuilders/easybuild-easyconfigs#22223 (comment)

@boegel
Copy link
Contributor Author

boegel commented Jan 29, 2025

@pavelToman If we can not change where the config file is stored through an environment variable or something, then I guess we need to do it via postinstallcmds?
What's actually in that configuration file, and where does it download it from (is the URL versioned)?

@pavelToman
Copy link
Collaborator

pavelToman commented Jan 29, 2025

ufcg download -t minimum run this two functions: downloadConfig() + downloadCore():
A) downloadConfig():

    1. download tar wget https://ufcg.steineggerlab.workers.dev/payload/config.tar.gz
    1. extract it: tar -xzf config.tar.gz -> create ppx.cfg + tree.cfg
    1. delete tar

B) downloadCore():

    1. download tar wget https://ufcg.steineggerlab.workers.dev/payload/core.tar.gz
    1. extract it: tar -xzf core.tar.gz -> this contains 140MB with more config files (mainly .hmm and .fa files and some db)
    1. delete tar

So nothing special, but it download other files to run pipeline.

Should I let it do it by ufcg download -t minimum or should I download it in sources and then copy it the the right place in install_cmds or postinstallcmds?

@boegel
Copy link
Contributor Author

boegel commented Jan 29, 2025

So those downloads are not versioned at all, that's a bit nasty to say the least...

Where does it download that stuff to, can we control the location?
It seems like it just downloads to the current working directory, is that correct?
If so, there's nothing we should do, this is up to the users I would say?

If these files are being downloaded into the installation itself, can we pre-download these tarballs, and at least version them with a datestamp, and have a checksum for them, and "inject" them (unpacked) where they're expected?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
conda Is supported in conda container Container image available difficulty: easy software that should be easy to support Java new new software priority: high site:ugent Software installation request for UGent Tier-2
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants