Skip to content

Conversation

@TatianaBurek
Copy link
Contributor

Pull Request Testing

  • Describe testing already performed for these changes:

    Lightly tested on dakota (only with Python since R is not available)

  • Recommend testing for the reviewer(s) to perform, including the location of input datasets, and any additional instructions:

    Create different plots, download and upload XML files

  • Do these changes include sufficient documentation updates, ensuring that no errors or warnings exist in the build of the documentation? [Yes or No]
    No

  • Do these changes include sufficient testing updates? [Yes or No]
    No

  • Will this PR result in changes to the test suite? [Yes or No]

    If yes, describe the new output and/or changes to the existing output:

    No

  • Do these changes introduce new SonarQube findings? [Yes or No]

    If yes, please describe:

  • Please complete this pull request review by [Fill in date].

Pull Request Checklist

See the METplus Workflow for details.

  • Review the source issue metadata (required labels, projects, and milestone).
  • Complete the PR definition above.
  • Ensure the PR title matches the feature or bugfix branch name.
  • Define the PR metadata, as permissions allow.
    Select: Reviewer(s) and Development issue
    Select: Milestone as the version that will include these changes
    Select: Coordinated METplus-X.Y Support project for bugfix releases or METviewer-X.Y.Z Development project for official releases
  • After submitting the PR, select the ⚙️ icon in the Development section of the right hand sidebar. Search for the issue that this PR will close and select it, if it is not already selected.
  • After the PR is approved, merge your changes. If permissions do not allow this, request that the reviewer do the merge.
  • Close the linked issue and delete your feature or bugfix branch from GitHub.

@TatianaBurek TatianaBurek requested a review from bikegeek October 14, 2025 14:54
@TatianaBurek TatianaBurek linked an issue Oct 14, 2025 that may be closed by this pull request
24 tasks
@georgemccabe
Copy link
Contributor

Do the classpath values set in the mv_* scripts in the bin directory need to be updated to use the new versions of the packages? Example:

CLASSPATH=$CLASSPATH:$MV_HOME/lib/log4j-api-2.17.1.jar

@TatianaBurek
Copy link
Contributor Author

Do the classpath values set in the mv_* scripts in the bin directory need to be updated to use the new versions of the packages? Example:

CLASSPATH=$CLASSPATH:$MV_HOME/lib/log4j-api-2.17.1.jar

Yes, they should. Thank you for catching this

@TatianaBurek
Copy link
Contributor Author

The classpath in scripts has been updated

@georgemccabe
Copy link
Contributor

@TatianaBurek, could these changes, or a subset of them, also be applied to the main_v6.0 branch? I'm mainly interested in the changes that resolve the environment issues that are causing batch plots using Python execution to fail.

@TatianaBurek
Copy link
Contributor Author

@TatianaBurek, could these changes, or a subset of them, also be applied to the main_v6.0 branch? I'm mainly interested in the changes that resolve the environment issues that are causing batch plots using Python execution to fail.

@georgemccabe Yes, I can update the 'old' code with the changes for env vars. It would be a good idea to test it.
What is the best way to do that?

  • Create a new branch from main_v6.0
  • apply fixes
  • merge back to main_v6.0 ???? - it does not sound correct
    Let me know if you have a better idea

@georgemccabe
Copy link
Contributor

@TatianaBurek, if you can create a branch off of main_v6.0 to apply the changes, that would be great. I recently added a GitHub Actions workflow to create a development Docker image to use for testing, so I can create one from your branch.

@bikegeek
Copy link
Collaborator

@TatianaBurek, the mv_batch.sh (in its original form) does not work, in spite of setting the PRE_LOAD_CHROME env to True.
I will test other aspects of the changes and investigate why the SonarQube gatekeeping checks are not working.

@TatianaBurek
Copy link
Contributor Author

@TatianaBurek, the mv_batch.sh (in its original form) does not work, in spite of setting the PRE_LOAD_CHROME env to True. I will test other aspects of the changes and investigate why the SonarQube gatekeeping checks are not working.

I tested new mv_batch.sh
/d3/projects/METViewer/src_dev/apps/METviewer/bin/mv_batch.sh on dakota and it did work and generated an image

@bikegeek how do you test mv_batch.sh?

@bikegeek
Copy link
Collaborator

bikegeek commented Oct 14, 2025

@TatianaBurek, the mv_batch.sh (in its original form) does not work, in spite of setting the PRE_LOAD_CHROME env to True. I will test other aspects of the changes and investigate why the SonarQube gatekeeping checks are not working.

I tested new mv_batch.sh /d3/projects/METViewer/src_dev/apps/METviewer/bin/mv_batch.sh on dakota and it did work and generated an image

@bikegeek how do you test mv_batch.sh?

I ran with Rscript and python as execution type and get permission issues with loading chrome, in spite of setting PRE_LOAD_CHROME=True:

PermissionError: [Errno 13] Permission denied: '/d3/projects/METViewer/miniforge3/envs/METviewer_py3.12/lib/python3.12/site-packages/choreographer/cli/browser_exe/chrome.zip'

@TatianaBurek
Copy link
Contributor Author

@TatianaBurek, the mv_batch.sh (in its original form) does not work, in spite of setting the PRE_LOAD_CHROME env to True. I will test other aspects of the changes and investigate why the SonarQube gatekeeping checks are not working.

I tested new mv_batch.sh /d3/projects/METViewer/src_dev/apps/METviewer/bin/mv_batch.sh on dakota and it did work and generated an image
@bikegeek how do you test mv_batch.sh?

I ran with Rscript and python as execution type and get permission issues with loading chrome, in spite of setting PRE_LOAD_CHROME=True.

@bikegeek Where do you run it? On dakota? Which user do you use?

@bikegeek
Copy link
Collaborator

@TatianaBurek
I am running it on 'dakota' as me. The mv_load.sh script is working and I'm generating line plots successfully.

@TatianaBurek
Copy link
Contributor Author

@TatianaBurek I am running it on 'dakota' as me. The mv_load.sh script is working and I'm generating line plots successfully.

@bikegeek Do you mean mv_batch.sh?

@bikegeek
Copy link
Collaborator

bikegeek commented Oct 14, 2025 via email

@TatianaBurek
Copy link
Contributor Author

@bikegeek I just tested /d3/projects/METViewer/src_dev/apps/METviewer//bin/mv_batch.sh on dakota as user 'tatiana'.
I do not set any environment variables. The script run successfully and generated an image

@bikegeek
Copy link
Collaborator

bikegeek commented Oct 14, 2025 via email

@georgemccabe
Copy link
Contributor

@TatianaBurek, I see in the issue that these changes update to use Tomcat 10. The METbaseimage used to create the METviewer Docker images downloads Tomcat 9.0.108 (see https://github.com/dtcenter/METbaseimage/blob/73c1a333180b93eebd95627ae6180481cef2ee6f/Dockerfile.metviewer#L11-L14).

Will these changes work with Tomcat 9 or will we need to update the base image to obtain Tomcat 10?

@TatianaBurek
Copy link
Contributor Author

The new code works only with Tomcat 10.

@georgemccabe
Copy link
Contributor

georgemccabe commented Oct 14, 2025

UPDATE: I meant to say v6.2 instead of v7.0. I forgot METviewer 6.2.0-rc1 has not been created yet.

OK, thanks for confirming. I think this means that I will create a new version of the METbaseimage that will work with these changes that will be used to create METviewer 6.2. I think this also means that only the changes that resolve the environment issues should be applied to the main_v6.0 and main_v6.1 branches, since we don't want to change the Tomcat version requirements for a bugfix to an existing release.

Does all that sound good/correct?

The new code works only with Tomcat 10.

@TatianaBurek
Copy link
Contributor Author

@georgemccabe The Java version also needs to be changed in the METbaseimage to Java 17 together with the Tomcat version.
And please confirm that the env vars fixes need to be added to both main_v6.0 and main_v6.1

@georgemccabe
Copy link
Contributor

@TatianaBurek, the base images used for METviewer going back to main_v6.0 install openjdk-17-jdk.

If the env var fixes resolve the issues with making batch plots using Python, then they should be applied to both main_v6.0 and main_v6.1.

@TatianaBurek
Copy link
Contributor Author

I put the fixes to the corresponding brunches for 6_0 and 6_1

@bikegeek
Copy link
Collaborator

TODO:

In Update section of the release notes, instruct users to ensure that all users (ugo) have execute permission to the python3.12/site-packages/choreographer/cli/browser_exe directory via

chmod -R +x path/to/choreographer/cli/browser_exe directory

AND

also have permissions set to their home directory (from the host where the mv_batch command is run) to allow creation of the .configure directory

update MET_BASE_TAG to 3.5-latest to use Tomcat 10
@bikegeek bikegeek marked this pull request as draft October 22, 2025 17:10
@bikegeek bikegeek added this to the METviewer-7.0.0 milestone Oct 22, 2025
@github-project-automation github-project-automation bot moved this to 🩺 Needs Triage in METplus-7.0 Development Oct 22, 2025
@bikegeek bikegeek moved this from 🩺 Needs Triage to 🚧 Stalled in METplus-7.0 Development Oct 22, 2025
@bikegeek bikegeek moved this from 🚧 Stalled to 🏗 In progress in METplus-7.0 Development Oct 28, 2025
@bikegeek bikegeek marked this pull request as ready for review October 28, 2025 16:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 🏗 In progress

Development

Successfully merging this pull request may close these issues.

Update METviewer to work with Java 17 and Tomcat 10

4 participants