Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DIST-S1 PGE Stub Implementation #548

Closed
9 tasks done
collinss-jpl opened this issue Dec 2, 2024 · 1 comment
Closed
9 tasks done

DIST-S1 PGE Stub Implementation #548

collinss-jpl opened this issue Dec 2, 2024 · 1 comment
Assignees
Labels
must have Feature is a must have pge.er.01 PGE Engineering Release 01 pge.r06 PGE Release 06 pge.sprint.r06.03 Sprint 03 for PGE Release 06

Comments

@collinss-jpl
Copy link
Collaborator

collinss-jpl commented Dec 2, 2024

The Interface delivery for the R6 DIST-S1 SAS was made on Nov 22, meaning we can begin work on the "stub" implementation of the PGE code that will form the baseline for the first Engineering Release.

Development of the following must be included for a fully functional "stub" implementation:

  • Create the src/opera/pge/dist_s1/dist_s1_pge.py module
    • The initial module should only define the barebones versions of the pre/post-processor mixins and executor class that simply inherit from the implementations in base_pge.py. See the dswx-ni version for an example
  • Create the src/opera/pge/dist_s1/schema/dist_s1_sas_schema.yaml file
    • The dist-s1 repo models its runconfig schema as Pydantic code, which can be found here. We will need to convert this to the corresponding Yamale-format schema. An example runconfig that conforms to this schema can be found here
  • Update the PGE_NAME_MAP in src/opera/scripts/pge_main.py to include an entry mapping DIST_S1_PGE to the DistS1Executor class
  • Create the src/opera/test/pge/dist_s1/test_dist_s1_pge.py suite
    • This should also be a barebones test suite that only contains a single test_dist_s1_pge_execution function. See the dswx-ni example
  • Create the src/opera/test/data/test_dist_s1_config.yaml file for use with test_dist_s1_pge.py
    • The sample runconfig from the dist-s1 repo linked above can be used as sensible sample settings for the SAS section of the our test runconfig
  • Create the .ci/docker/Dockerfile_dist_s1 file
    • This will essentially be a copy of our other existing Dockerfiles, but with the following settings:
    • ARG PGE_DEST_DIR=/home/ops
    • dist_user:dist_user should be used where ever the user/group is referenced, for example: COPY --chown=dist_user:dist_user ${PGE_SOURCE_DIR} ${PGE_DEST_DIR}
  • Create the .ci/scripts/dist_s1/build_dist_s1.sh file
    • This can also essentially be a cut/paste of a previous build script, with the following modifications:
    • Default value for SAS_IMAGE argument should be SAS_IMAGE="ghcr.io/opera-adt/dist-s1:0.0.3"
    • Ensure Dockerfile_dist_s1 is referenced within the docker build command
  • Create the .ci/scripts/dist_s1/test_dist_s1.sh file
    • See the example for disp-s1
    • Ensure CONTAINER_HOME="/home/ops"
  • Update the .ci/scripts/util/build_all_images.sh and .ci/scripts/util/test_all_images.sh scripts to include the new build/test scripts for DIST-S1
@collinss-jpl collinss-jpl added must have Feature is a must have pge.er.01 PGE Engineering Release 01 pge.sprint.r06.03 Sprint 03 for PGE Release 06 pge.r06 PGE Release 06 labels Dec 2, 2024
@collinss-jpl
Copy link
Collaborator Author

Resolved by #549

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
must have Feature is a must have pge.er.01 PGE Engineering Release 01 pge.r06 PGE Release 06 pge.sprint.r06.03 Sprint 03 for PGE Release 06
Projects
None yet
Development

No branches or pull requests

2 participants