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

New omag server #7769

Merged
merged 16 commits into from
Jul 10, 2023
Merged

New omag server #7769

merged 16 commits into from
Jul 10, 2023

Conversation

lpalashevski
Copy link
Contributor

@lpalashevski lpalashevski commented Jun 28, 2023

New functionality

This PR introduces new server chassis, spring boot starter application that is able to launch single pre-configured OMAG server instance.
In the current implementation OMAG server instance in managed by re-using platform operational services.
In near future versions, there will be dedicated stand-alone operations management service part of the server module.

Currently, standard spring boot application lifecycle is controlling the OMAG server operation.

  • on ‘ApplicationStartedEvent’ OMAG server configuration is loaded and processes - in case of configuration errors application stopped
  • dedicated ApplicationRunner is activating OMAGServer instance - the startup outcome is controlling the application readiness (or alternatively can also bring the application down — optimal solution to be agreed)
  • on 'ContextClosedEvent' OMAG server deactivate temporary command is issued - this works well with the default java shutdown signals picked up by spring boot - in later stage if needed we can add custom shot down hook.

Application observability as part of the application lifecycle is also work in progress. Liveness and Readiness states will be properly exposed via actuator and can be used as probes for containerizedo deployment in k8s environments.

Build/Packaging

Current build/dependency configuration is not optimal. It is packaging the application as bootJAR executable including some of the optional runtime dependencies - this is primarily done for early testing and it is not ready for production.

Testing

This early implementation is tested with 3 configurations: metadata repository (repository services only), metadata access store (+access services) and integration daemon running database integrator service - working as
expected.

Next steps

New operational service, simplified declarative server configuration and dynamic build/packaging for optimal runtime distribution

Java docs and unit test will be added after the initial merge.

Related issues:

#7513
#7512
#7681

Signed-off-by: Ljupcho Palashevski <lpalashevski@gmail.com>
Signed-off-by: Ljupcho Palashevski <lpalashevski@gmail.com>
Signed-off-by: Ljupcho Palashevski <lpalashevski@gmail.com>
Signed-off-by: Ljupcho Palashevski <lpalashevski@gmail.com>
Signed-off-by: Ljupcho Palashevski <lpalashevski@gmail.com>
Signed-off-by: Ljupcho Palashevski <lpalashevski@gmail.com>
Signed-off-by: Ljupcho Palashevski <lpalashevski@gmail.com>
Signed-off-by: Ljupcho Palashevski <lpalashevski@gmail.com>
… for testing)

Signed-off-by: Ljupcho Palashevski <lpalashevski@gmail.com>
Signed-off-by: Ljupcho Palashevski <lpalashevski@gmail.com>
Signed-off-by: Ljupcho Palashevski <lpalashevski@gmail.com>
Signed-off-by: Ljupcho Palashevski <lpalashevski@gmail.com>
Signed-off-by: Ljupcho Palashevski <lpalashevski@gmail.com>
@lpalashevski lpalashevski marked this pull request as ready for review July 10, 2023 07:05
@lpalashevski lpalashevski requested a review from planetf1 as a code owner July 10, 2023 07:05
Signed-off-by: Ljupcho Palashevski <lpalashevski@gmail.com>
@lpalashevski lpalashevski removed the request for review from planetf1 July 10, 2023 09:59
@lpalashevski lpalashevski merged commit 3cbf742 into odpi:main Jul 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant