Skip to content

Improvement wstunnel cache + background + versionning #446

@antoinetran

Description

@antoinetran

Hi,

Current main branch (> 0.5.2-pre4) runs wstunnel with this default annotation:

curl -L https://github.com/erebe/wstunnel/releases/download/v10.4.4/wstunnel_10.4.4_linux_amd64.tar.gz -o wstunnel.tar.gz && tar -xzvf wstunnel.tar.gz && chmod +x wstunnel\\n\\n./wstunnel client --http-upgrade-path-prefix %s %s ws://%s:80

This has drawbacks:

    • it download wstunnel each time, so it is not a good thing for github.com bandwidth
    • the client version does not necessarily match the server version
    • the command is run in the HPC node, in the default working directly, in my case the homedir. So when the extraction is done, the wstunnel content directory already exist and leads to an error
    • the command wstunnel client ... is synchronous, which means the containers of the pod is never launched.

Suggestion of improvement implementation:

  1. can be fixed with singularity run. The image is cached in SINGULARITY_CACHE. So no more useless download when it is done once. 2
  2. The wstunnel server is already defined at helm chart https://github.com/interlink-hq/interlink-helm-chart/blob/main/interlink/values.yaml#L99 . It is currently not used anywhere, but it should be mapped in the VK configmap. Then this config should be passed as a dedicated annotation. Something like
annotations:
  interlink.eu/wstunnel-client-image: privateregistry:12345/wstunnel:10.4.4
  interlink.eu/wstunnel-client-commands: wstunnel client --http-upgrade-path-prefix XXXXX -R XXXX ws://XXXXXX:80

Then interlink plugin should runs with the image. Eg:
slurm:
singularity exec docker://artifactory.XXX:443/erebe/wstunnel:v10.4.4 /home/app/wstunnel client ... &
docker:
docker run -d artifactory.XXX:443/erebe/wstunnel:v10.4.4 /home/app/wstunnel client ... &
3. Since we now use docker image for wstunnel, there is no need for a working directory. Although it should be the interlink data root path, we can just let the default one.
4. interlink plugin should runs in background, with &.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions