-
Notifications
You must be signed in to change notification settings - Fork 219
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
FAI-681: Integrate TrustyService with Quarkus DevServices services #1759
Conversation
@r00ta @danielezonca Trusty's |
@cristianonicolai FYI really. |
The (build) optaplanner check has failed. Please check the logs. |
The (build) kogito-runtimes check has failed. Please check the logs. |
The (build) optaweb-employee-rostering check has failed. Please check the logs. |
The (build) optaplanner-quickstarts check has failed. Please check the logs. |
The (build) kogito-apps check has failed. Please check the logs. |
The (build) optaweb-vehicle-routing check has failed. Please check the logs. |
The (build) kogito-examples check has failed. Please check the logs. |
The (build) optaweb-vehicle-routing check has failed. Please check the logs. |
The (build) kogito-runtimes check has failed. Please check the logs. |
The (build) kogito-examples check has failed. Please check the logs. |
The (build) optaweb-employee-rostering check has failed. Please check the logs. |
The (build) optaplanner check has failed. Please check the logs. |
The (build) kogito-apps check has failed. Please check the logs. |
The (build) optaplanner-quickstarts check has failed. Please check the logs. |
The (build) kogito-runtimes check has failed. Please check the logs. |
The (build) kogito-examples check has failed. Please check the logs. |
The (build) optaplanner-quickstarts check has failed. Please check the logs. |
The (build) kogito-apps check has failed. Please check the logs. |
The (build) optaplanner check has failed. Please check the logs. |
The (build) optaweb-employee-rostering check has failed. Please check the logs. |
The (build) optaweb-vehicle-routing check has failed. Please check the logs. |
The (build) kogito-runtimes check has failed. Please check the logs. |
The (build) kogito-apps check has failed. Please check the logs. |
Jenkins retest this |
The (build) kogito-apps check has failed. Please check the logs. |
Jenkins run kogito-apps tests |
@danielezonca @r00ta @jiripetrlik Let's try to get these PRs merged.... The circular dependency issue is not unique for this extension. The processes extension also relies upon the publication of a kogito image to quay.io; that is not built until Versioning of the quay.io image to use for Trusty Service (PostgreSQL). I have extracted the version to The use of Quarkus WDYT? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well done 👍
@manstis Well done 👍 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice job!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree to merge this and try to discuss about circular dependencies in the future. However, I'm still not convinced about swallowing exceptions as was mentioned in one of my previous comments. But it is probably not a big issue.
The (build) kogito-examples check has failed. Please check the logs. |
Jenkins run kogito-examples tests |
The (build) kogito-apps check has failed. Please check the logs. |
Jenkins run kogito-apps tests |
The (build) kogito-runtimes check has failed. Please check the logs. |
Jenkins run kogito-runtimes tests |
The (build) kogito-examples check has failed. Please check the logs. |
Jenkins run kogito-examples tests |
SonarCloud Quality Gate failed. |
See https://issues.redhat.com/browse/FAI-681
Part of an ensemble:
These PRs contain the changes I've had to implement to have the following running:-
kogito
application running onlocalhost:8080
kogito
application starting a Docker container for a service it needsTrustyService
.kogito
application connecting with and using Quarkus' DevServices Redpanda (Kafka) instance.TrustyService
connecting with and using Quarkus' DevServices Redpanda (Kafka) instance.TrustyService
connecting with and using Quarkus' DevServices PostgreSQL instance.You can run https://github.com/kiegroup/kogito-examples/pull/1032 to see this work.
Then enter
mvn compile quarkus:dev
and wait a bit for things to start.You can make a model evaluation request:
You can also check things are getting processed elsewhere:
Get PostgreSQL's IP address
docker network prune
(it makes a step below easier to explain!)docker ps
and make a note of the imageNAME
forpostgres
e.g.gifted_nobel
.docker network ls
and make a note of theNETWORK ID
for abridge
(that does not have the namebridge
) e.g.c41e6358dddb
docker network inspect c41e6358dddb
(NETWORK ID
from the previous step) and look at theContainers
section.Name
matching that PostgreSQL name you found earlier.IPv4Address
e.g.192.168.64.3
.Run a PostgreSQL client
docker run -it --rm --network XXX jbergknoff/postgresql-client postgresql://quarkus:quarkus@YYY:5432/default
XXX
is theNETWORK ID
above, e.g.c41e6358dddb
YYY
is the IP address above, e.g.192.168.64.3
Inspect stuff*
select count(*) from kogito_data_cache;
Known issue
You will see in the Quarkus logs something like:-
This is caused by "hot reload" support. When the DMN model is deployed kogito triggers a hot restart of Quarkus. The problem is that a
ModelEvent
was fired when Quarkus started the first time and again following the restart. The PostgreSQL container is not stopped, re-started and cleared for the hot reload... a new JIRA can be created.Many thanks for submitting your Pull Request ❤️!
Please make sure that your PR meets the following requirements:
KOGITO-XYZ Subject
[0.9.x] KOGITO-XYZ Subject
How to replicate CI configuration locally?
Build Chain tool does "simple" maven build(s), the builds are just Maven commands, but because the repositories relates and depends on each other and any change in API or class method could affect several of those repositories there is a need to use build-chain tool to handle cross repository builds and be sure that we always use latest version of the code for each repository.
build-chain tool is a build tool which can be used on command line locally or in Github Actions workflow(s), in case you need to change multiple repositories and send multiple dependent pull requests related with a change you can easily reproduce the same build by executing it on Github hosted environment or locally in your development environment. See local execution details to get more information about it.
How to retest this PR or trigger a specific build:
Run all builds
Please add comment: Jenkins retest this
Run (or rerun) specific test(s)
Please add comment: Jenkins (re)run [kogito-runtimes|optaplanner|kogito-apps|kogito-examples|optaplanner-quickstarts|optaweb-employee-rostering|optaweb-vehicle-routing] tests
Quarkus LTS checks
Please add comment: Jenkins run LTS
Run (or rerun) LTS specific test(s)
Please add comment: Jenkins (re)run [kogito-runtimes|optaplanner|kogito-apps|kogito-examples|optaplanner-quickstarts|optaweb-employee-rostering|optaweb-vehicle-routing] LTS
Native checks
Please add comment: Jenkins run native
Run (or rerun) native specific test(s)
Please add comment: Jenkins (re)run [kogito-runtimes|optaplanner|kogito-apps|kogito-examples|optaplanner-quickstarts|optaweb-employee-rostering|optaweb-vehicle-routing] native
Full Kogito testing (with cloud images and operator BDD testing)
Please add comment: Jenkins run BDD
This check should be used only if a big change is done as it takes time to run, need resources and one full BDD tests check can be done at a time ...