These are chat archives for nextflow-io/nextflow

8th
Feb 2019
Stephen Kelly
@stevekm
Feb 08 00:46
another question; when using scratch = true, Nextflow tries to execute tasks in /tmp. However, /tmp may not have enough space on our cluster nodes, so I also need to specify something like clusterOptions = '--tmp 16GB', or whatever size I expect, for SLURM to try and queue the job on a node that has that much tmp space free. However, SLURM does not actually count the available space on /tmp when doing this, instead it uses internal accounting, which can become inaccurate if other users are writing to /tmp without notifying SLURM about it in their job request. This can result in the job crashing due to unexpected lack of space on /tmp. Is it possible to instead have Nextflow check if there is enough /tmp space available on the node before the task tries to run?
Rad Suchecki
@rsuchecki
Feb 08 05:09
Re your second question @stevekm I guess you could check space at script level and fail early, but unless you request exclusive use of node there is no guarantee there isn't competition for tmp space. Consequently if NF was able to do it, the constraints would be the same i.e. queue, get on a node, cancel if not enough space.
This message was deleted
Not able to download an earlier NF version ...
NXF_VER=18.10.1.5003 nextflow run something-that-used-to-work-with-that-version.nf'
Downloading nextflow dependencies. It may require a few seconds, please wait .. curl: (22) The requested URL returned error: 403 Forbidden
ERROR: Cannot download nextflow required file -- make sure you can connect to the internet

Alternatively you can try to download this file:
    https://www.nextflow.io/releases/v18.10.1.5003/nextflow-18.10.1.5003-one.jar
Paolo Di Tommaso
@pditommaso
Feb 08 06:00
use NXF_VER=18.10.1 instead
Rad Suchecki
@rsuchecki
Feb 08 08:23
:+1:
Anthony Underwood
@aunderwo
Feb 08 09:14

@pditommaso

may you create a GH repo including files and command line to replicate it? and link it to GH issue?

I've tried to capture the issue (nextflow-io/nextflow#1024) and put the necessary test case in this GH repo https://github.com/aunderwo/nextflow-aws-batch-issue-1024.

Let me know via the issues if you require anything else. Cheers

Paolo Di Tommaso
@pditommaso
Feb 08 12:25
thanks a lot, I'll give a look asap
Anthony Underwood
@aunderwo
Feb 08 12:25
No rush - I have a work around :)
Submit 2 samples then the big batch
Paolo Di Tommaso
@pditommaso
Feb 08 12:25
:+1:
Hugues Fontenelle
@huguesfontenelle
Feb 08 14:41

Playing with K8s on my minikube local install.
NXF_VER= 19.01.0 nextflow kuberun hello -v task-pv-claim:/mnt/nextflow
But the driver pod wasn't able to launch any worker pods :-)

Here's the (edited) error message:

ERROR ~ 
Caused by:
  Request POST /api/v1/namespaces/default/pods returned an error code=403
[...]   
"message": "pods is forbidden: User \"system:serviceaccount:default:default\" cannot create resource \"pods\" in API group \"\" in the namespace \"def

Perhaps this is due to minikube starting to ship RBAC enabled by default..?

I got around that with by granting super-powers to that user :-)

kubectl create clusterrolebinding cluster-system-anonymous \
    --clusterrole=cluster-admin \
    --user=system:serviceaccount:default:default

but that might be unsafe (kubernetes-incubator/apiserver-builder-alpha#225) !
Anyway, who's system:serviceaccount:default:default? Can I specify another user for kuberun?

if you want to make it safe you need to create a separate namespace for NF
Hugues Fontenelle
@huguesfontenelle
Feb 08 14:45
Thanks @wikiselev . I see you pas -c nf.config to kuberun.
Is the nextflow user in there?
Vladimir Kiselev
@wikiselev
Feb 08 14:48
@huguesfontenelle , yes, I think you can define a user in the config
Hugues Fontenelle
@huguesfontenelle
Feb 08 14:53
In fact, your line
kubectl create clusterrolebinding nextflow --clusterrole=edit --serviceaccount=default:default -n default
is sufficient, no need to edit anything else :-)
Thanks!
Vladimir Kiselev
@wikiselev
Feb 08 15:00
:+1:
Luca Cozzuto
@lucacozzuto
Feb 08 16:57
dear all, I have the problem with this code
    output:
file("${genome_file}.fai") into chan1, chan2
this instead is ok
    output:
file("${genome_file}.fai") into chan1
file("${genome_file}.fai") into chan2
also this
file "${genome_file}.fai" into chan1, chan2
Stephen Kelly
@stevekm
Feb 08 19:49
@lucacozzuto what is the problem?
Hugues Fontenelle
@huguesfontenelle
Feb 08 22:16
@lucacozzuto Interesting. The parenthesis notation breaks the script:
ERROR ~ No such variable: process
But, file ("a.txt") into (chan1, chan2) works