Versions Compared

Key

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

...

Note that this section may be project-specific, but documenting it here because this is what SWOT and NISAR have currently implemented in the adaptation layer when running PGE software.

The PGE Wrapper code assists the PCM Sciflo jobs in running the PGE software. It does so by calling a podman run command on the PGE container.

To use Podman, the following should be added to the PGE wrapper code:

...

  • Checks that the celeryconfig has CONTAINER_ENGINE=podman

  • If true, then do not set the --passwd-entry flag option when building out the podman run container for the PGE

Customize Podman Start Up Script

For projects that need to do additional mounting of files/directories when running their container through podman, you’ll need to make sure that the podman start up script is updated accordingly. Some use-cases, for example, would be mounting the settings.yaml and adaptation code just like what is done on swot/nisar to do post-processing at the Verdi level (example: streaming job logs to AWS CloudWatch). Continue down this section if this applies to you as well.

Copy the following podman start up script to your conf/sds/files directory in your repository:

https://github.com/hysds/hysds-dockerfiles/blob/develop/verdi/run_verdi_podman.sh.tmpl

At this point, you can update this script to add the additional mounts if needed. Here’s an example:

Code Block
...

-v ${HYSDS_HOME}/verdi/etc/settings.yaml:/home/ops/verdi/ops/swot-pcm/conf/settings.yaml \
-v ${HYSDS_HOME}/verdi/ops/swot-pcm:/home/ops/verdi/ops/swot-pcm \
hysds/verdi

Next, ensure that this modified version of the podman script is pushed out to your cluster. Nominally, this is done through the cluster.py tool. As an example, swot added the following piece of code in its update_swot_packages cluster function:

Code Block
            send_template(
                "run_verdi_podman.sh.tmpl",
                "~/verdi/ops/hysds-dockerfiles/verdi/run_verdi_podman.sh",
            )

You want to make sure that however it is that you push this out to the cluster, that ordering is very important. Specifically, this update should occur prior to running sds ship.