Can somebody perhaps explain to me why Nextflow 25...
# nextflow-plugins
m
Can somebody perhaps explain to me why Nextflow 25.10 is so terribly homesick? We have an offline HPC cluster, so I need to store the plugins locally. I have configured
NXF_PLUGINS_DIR
and to me it also seems that it it indeed recognizes the correct path
/vulpes/proj/ngis/ngi2016004/nobackup/nf-core-tower/tower-nxf-home/.nextflow/plugins
I have also pinned the plugin versions in the config:
Copy code
plugins {
    id 'nf-co2footprint@1.2.0'
    id 'nf-tower@1.23.0'
    id 'nf-schema@2.6.1'
}
Yet, it seems that Nextflow desperately wants to reach home for reasons that I do not understand:
Copy code
Mar-27 19:45:08.626 [main] DEBUG nextflow.plugin.PluginsFacade - Setting up plugin manager > mode=prod; embedded=false; plugins-dir=/vulpes/proj/ngis/ngi2016004/nobackup/nf-core-tower/tower-nxf-home/.nextflow/plugins; core-plugins: nf-amazon@3.4.1,nf-azure@1.20.2,nf-cloudcache@0.5.0,nf-codecommit@0.5.0,nf-console@1.3.0,nf-google@1.23.3,nf-k8s@1.2.2,nf-tower@1.17.1,nf-wave@1.16.1
Mar-27 19:45:08.658 [main] INFO  o.pf4j.DefaultPluginStatusProvider - Enabled plugins: []
Mar-27 19:45:08.658 [main] INFO  o.pf4j.DefaultPluginStatusProvider - Disabled plugins: []
Mar-27 19:45:08.659 [main] INFO  org.pf4j.DefaultPluginManager - PF4J version 3.12.0 in 'deployment' mode
Mar-27 19:45:08.668 [main] DEBUG nextflow.util.RetryConfig - Missing nextflow session - using default retry config
Mar-27 19:45:08.731 [main] INFO  org.pf4j.AbstractPluginManager - No plugins
Mar-27 19:45:08.732 [main] DEBUG nextflow.plugin.PluginsFacade - Plugins declared=[nf-co2footprint@1.2.0, nf-tower@1.23.0, nf-schema@2.6.1]
Mar-27 19:45:08.733 [main] DEBUG nextflow.plugin.PluginsFacade - Plugins default=[nf-tower@1.17.1]
Mar-27 19:45:08.734 [main] DEBUG nextflow.plugin.PluginsFacade - Plugins resolved requirement=[nf-co2footprint@1.2.0, nf-tower@1.23.0, nf-schema@2.6.1]
Mar-27 19:49:29.838 [main] DEBUG io.seqera.http.HxClient - HTTP request retry attempt 1: null
Mar-27 19:53:52.421 [main] DEBUG io.seqera.http.HxClient - HTTP request retry attempt 2: null
Mar-27 19:58:15.255 [main] DEBUG io.seqera.http.HxClient - HTTP request retry attempt 3: null
Mar-27 20:02:39.365 [main] DEBUG io.seqera.http.HxClient - HTTP request retry attempt 4: null
Mar-27 20:07:02.116 [main] DEBUG io.seqera.http.HxClient - HTTP request retry attempt 5: null
Mar-27 20:07:02.121 [main] ERROR nextflow.cli.Launcher - Conversion = '4'
java.util.UnknownFormatConversionException: Conversion = '4'
        at java.base/java.util.Formatter.parse(Formatter.java:2852)
        at java.base/java.util.Formatter.format(Formatter.java:2774)
        at java.base/java.util.Formatter.format(Formatter.java:2728)
        at java.base/java.lang.String.format(String.java:4386)
        at org.pf4j.util.StringUtils.format(StringUtils.java:39)
        at org.pf4j.PluginRuntimeException.<init>(PluginRuntimeException.java:41)
        at nextflow.plugin.HttpPluginRepository.fetchMetadata0(HttpPluginRepository.groovy:140)
        at nextflow.plugin.HttpPluginRepository.fetchMetadata(HttpPluginRepository.groovy:123)
        at nextflow.plugin.HttpPluginRepository.prefetch(HttpPluginRepository.groovy:70)
        at nextflow.plugin.PluginUpdater.prefetchMetadata(PluginUpdater.groovy:154)
        at nextflow.plugin.PluginsFacade.start(PluginsFacade.groovy:398)
        at nextflow.plugin.PluginsFacade.load(PluginsFacade.groovy:291)
        at nextflow.plugin.Plugins.load(Plugins.groovy:50)
        at nextflow.cli.CmdRun.run(CmdRun.groovy:363)
        at nextflow.cli.Launcher.run(Launcher.groovy:515)
        at nextflow.cli.Launcher.main(Launcher.groovy:675)
because all those plugins are available in the
NXF_PLUGINS_DIR
.
Copy code
ls /vulpes/proj/ngis/ngi2016004/nobackup/nf-core-tower/tower-nxf-home/.nextflow/plugins
nf-amazon-1.16.2       nf-co2footprint-1.0.0-beta   nf-cws-1.0.2             nf-google-1.8.3     nf-prov-1.2.3    nf-schema-2.4.0        nf-tower-1.11.4  nf-tower-1.5.3       nf-validation-1.1.4  nf-weblog-1.1.2
nf-amazon-1.3.4        nf-co2footprint-1.0.0-beta1  nf-cws-1.0.3             nf-gpt-0.4.0        nf-prov-1.2.4    nf-schema-2.4.1        nf-tower-1.12.0  nf-tower-1.5.4       nf-wave-0.13.0       nf-wr-1.2.0-rc.2
nf-amazon-2.1.3        nf-co2footprint-1.0.0-rc     nf-cws-1.0.5             nf-hello-0.1.0      nf-prov-1.3.0    nf-schema-2.4.2        nf-tower-1.13.0  nf-tower-1.5.6       nf-wave-0.8.4        xpack-amzn-1.2.1
nf-amazon-2.1.4        nf-co2footprint-1.0.0-rc.1   nf-dotenv-1.0.0          nf-hello-0.2.0      nf-prov-1.4.0    nf-schema-2.5.0        nf-tower-1.14.0  nf-tower-1.6.2       nf-wave-1.0.0        xpack-amzn-1.3.1
nf-amazon-2.5.2        nf-co2footprint-1.0.0-rc.2   nf-ffq-0.2.0             nf-hello-0.3.0      nf-prov-1.5.0    nf-schema-2.5.1        nf-tower-1.17.2  nf-tower-1.6.3       nf-wave-1.10.0       xpack-amzn-1.6.0
nf-amazon-2.9.1        nf-co2footprint-1.0.0-rc.3   nf-float-0.3.1           nf-hello-0.5.0      nf-prov-1.6.0    nf-schema-2.6.0        nf-tower-1.17.3  nf-tower-1.9.1       nf-wave-1.11.0       xpack-google-1.0.0
nf-amazon-3.4.1        nf-co2footprint-1.1.0        nf-float-0.4.6           nf-ignite-1.2.3     nf-prov-1.7.0    nf-schema-2.6.1        nf-tower-1.17.4  nf-tower-1.9.3       nf-wave-1.11.1       yellowdog-1.0.1
nf-azure-1.0.1         nf-co2footprint-1.2.0        nf-ga4gh-1.0.5           nf-iridanext-0.3.0  nf-quilt-0.4.5   nf-snowflake-0.6.0     nf-tower-1.17.5  nf-validation-0.3.1  nf-wave-1.12.0
nf-azure-1.10.2        nf-codecommit-0.1.4          nf-ga4gh-1.1.0           nf-jarvice-0.7.0    nf-quilt-0.9.1   nf-sqldb-0.5.0         nf-tower-1.18.0  nf-validation-0.3.2  nf-wave-1.12.1
nf-azure-1.3.2         nf-codecommit-0.1.5          nf-ga4gh-1.3.0           nf-nomad-0.3.1      nf-schema-2.0.0  nf-synapse-1.0.0       nf-tower-1.19.0  nf-validation-0.3.3  nf-wave-1.13.0
nf-azure-1.6.0         nf-codecommit-0.2.2          nf-google-1.13.2-patch1  nf-parquet-0.2.0    nf-schema-2.0.1  nf-tencentcloud-2.0.1  nf-tower-1.20.0  nf-validation-1.0.0  nf-wave-1.14.0
nf-boost-0.4.0         nf-console-1.0.3             nf-google-1.15.2         nf-pgcache-1.0.0    nf-schema-2.1.1  nf-tower-1.11.0        nf-tower-1.21.0  nf-validation-1.1.0  nf-wave-1.14.1
nf-cloudcache-0.2.0    nf-console-1.0.5             nf-google-1.7.3          nf-prov-1.1.0       nf-schema-2.2.0  nf-tower-1.11.1        nf-tower-1.22.0  nf-validation-1.1.1  nf-wave-1.16.1
nf-cloudcache-0.4.2    nf-console-1.0.6             nf-google-1.7.3-patch1   nf-prov-1.2.1       nf-schema-2.2.1  nf-tower-1.11.2        nf-tower-1.23.0  nf-validation-1.1.2  nf-wave-1.7.3
nf-co2footprint-1.0.0  nf-console-1.1.4             nf-google-1.8.2          nf-prov-1.2.2       nf-schema-2.3.0  nf-tower-1.11.3        nf-tower-1.5.12  nf-validation-1.1.3  nf-weblog-1.1.0
What am I missing?
m
NXF_OFFLINE ? NXF_DISABLE_CHECK_LATEST ?
m
Yes, both are set.
j
maybe are you using a custom repository (i.e. using NXF_PLUGINS_REGISTRY_URL) ?
m
Thanks for the suggestion. I have not defined this environment variable, no. If it is unset, nothing should happen, right?
🤔 1
j
are you defining NXF_OFFLINE=true //value must to be exactly "true"
offline = env.get('NXF_OFFLINE') == 'true'
m
I think so, yes. But I have definitively also tried
export NXF_OFFLINE=true && tw launch ..
as well.
Which environment is the relevant one? The CLI environment for tw launch or the head node or compute node?
j
uff dont know, I'm not using tw. I've debugged a hello pipeline in local with nextflow run and nxf_offline=true and I can see is not requesting an http call
m
Thanks for your help for sure! I can assert that our regular production deployments with aliases for
nextflow run
work like a charm. ❤️‍🔥 It is only as soon as I try setting up our self-hosted enterprise instance of Seqera Platform with our offline cluster that things tend to get tricky. But we are also again behind the latest version penguin construction, so I am now hoping that upgrading Platform itself will help?
🤞 1