-
Notifications
You must be signed in to change notification settings - Fork 261
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
Correct container environment for ui-server-chassis #5918
Comments
I'm inclined to go with overriding the loader path when launching the UI (which will be tested) & ensuring the docs explain this. |
+1 to override the LOADER_PATH during runtime for now. The original image is designed for server-chassis and I think it should remain with its default parameters. At later stage we might consolidate UI backend and then we can think of new dedicated image. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 20 days if no further activity occurs. Thank you for your contributions. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 20 days if no further activity occurs. Thank you for your contributions. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 20 days if no further activity occurs. Thank you for your contributions. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 20 days if no further activity occurs. Thank you for your contributions. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 20 days if no further activity occurs. Thank you for your contributions. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 20 days if no further activity occurs. Thank you for your contributions. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 20 days if no further activity occurs. Thank you for your contributions. |
@lpalashevski over to you to decide if any followup is needed on this |
FYI @mandy-chessell - the UI chassis picking up the (new) application.properties is a related issue. |
I analyzed the two problems up close, in summary, we have limited options if we stick to the single docker image:
Both changes are in this PR https://github.com/odpi/egeria-charts/pull/269/files Configuration becomes simpler if we have two docker images but we need to residing and have more consistent way while packaging/creating the assembly. This is more work and I decided to go with the intermediate change as good enough solution. |
Agree with the analysis and actions. The redhat image we use is fairly flexible, and does allow both the directory (JAVA_APP_DIR) and a variety of classpath related settings to be specified - for example see the list here (slightly different image). In our Dockerfile we do set a value for JAVA_APP_JAR and JAVA_OPTS_APPEND, but these can both be overriden within our chart's yaml (and from there, could be configurable via values) So in future, it should be possible to specify a different directory if needed, or different classpaths/app jar within the same directory. Though it's still also worth thinking about whether to have a separate image, and that really makes sense with a very different assembly setup for that image |
Yes this is the theory but in practice setting JAVA_APP_DIR does not work at lease not for ubi9/openjdk-17 - I went over the S2I base image docs and it is indeed mentioned but test did not work. Inspecting the image endpoint and the startup scripts I found out that in the context of the startup sequence we are using and passing JAVA_APP_JAR, the JAVA_APP_DIR is hard-coded to /deployments.
|
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 20 days if no further activity occurs. Thank you for your contributions. |
Prompted by the cloud native work, alternatives to the combined open-metadata-assembly are being created (see #7766) to create specific images for each runtime. |
When testing #5848 it was found that the ui server chassis would crash if LOADER_PATH was set to include the egeria server-chassis libraries. The failure was in loading a Cassandra health check, probably due to spring component scanning finding libraries to initialize.
However for the ui server chassis this loader path should not be set - the ui chassis is very different to the server chassis, and operates in a different environment
Currently the Dockerfile for egeria explicitly defaults LOADER_PATH to include the server/lib directory of the distribution. The egeria container docs also refer to this path
This is also used as a default (no override) in the egeria-base and odpi-egeria-lab helm charts
Whilst a workaround is in place (cassandra health check disabled), the environment should be corrected. Possibilities include
Whilst this is clean, it could cause more problems since the out of the box experience would require the value to be set even to launch server chassis - or at least to get any useful function (eventually, as we decompose more)
Can be encoded in the helm charts
Would need adding to docs on launching the ui chassis
Does not impact on the server chassis
Simple to implement
Adds complexity
Clean, two distinct images to run - but adds more process, time, space (even if container layers are cached)
In addition
The text was updated successfully, but these errors were encountered: