Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

At home, you don't have direct access to the Centre's ecFlow servers. However, you can use SSH to connect ecflow_ui running on your laptop with ecFlow servers at ECMWF. The basic idea is that the SSH daemon server running on your ECMWF workstation at ECMWF will "pretend" to be an ecflow_ui, forwarding network connections from your real home ecflow_ui at home to the Centre's ecFlow servers. There are two ways of doing it. Both methods rely on the Port Forwarding functionality built into OpenSSH software suite. 

...

You will start SSH local port forwarding session on your laptop and connect your ecflow_ui to it. The local ssh SSH session will forward network connections from your ecflow_ui to the SSH server running at ECMWF on your ECMWF workstation and from there to the Centre's ecFlow servers.

...

Here I wish to connect to ECMWF workstation hostname machine1 where I have a ecflow ecFlow server running on port 4141, also wish to connect to host machine2 where I have a ecflow ecFlow server running on port 3142 (replace "user1" with your ECMWF username and "machine1", "machine2" with real ECMWF hostnames). To start the SSH tunnel session on your laptop, execute:

Code Block
languagetext
ssh -J user1@shell.ecmwf.int user1@machine1 -C -N -L 4141:machine1:4141 -L 3142:machine2:3142

The ssh SSH session will keep running in the terminal, listening on local ports 4141 and 3142 and printing various log messages as it forwards your ecflow ecFlow network traffic to the Centre.

To access HPC job output via the log serverlogserver, you need to create establish a tunnel access for this as well. Here we use 'logserver' as an example (replace this with qn an actual logserver).

Code Block
ssh -J user1@shell.ecmwf.int user1@machine1 -C -N -L 4141:machine1:4141 -L 3142:machine2:3142 -L 9316:logserver:9316

...

Now you will connect your ecflow_ui to your local SSH port forwarding session. Open and edit ecflow servers In ecflow_ui, edit ecFlow connection settings (launch ecflow_ui → Servers→ Manage Servers ...). Make sure to use "localhost" in the "Host" fields, not the actual ECMWF hostnames.

...

Applications which want to use SOCKS proxy must speak SOCKS protocol. Some applications can be SOCKS-ified using a tool called proxychains. The tool intercepts the application's network traffic, adds SOCKS protocol layer and redirects traffic to the proxy. Luckily, the ecflow_ui.x executable can be SOCKS-ified this way.

First you need to install proxychains in your laptop. On MacOS, you can install proxychains tool it with "brew install proxychains-ng". Many Some Linux distributions come with proxychains tool preinstalled.

Now comes the key part : - edit the ecflow_ui lauch script and replace the "$exe" with proxychains4 "$exe" at the end of the script. On my machine, ecflow_ui launch script is installed as /opt/miniconda3/bin/ecflow_ui.

...