Bug 1042867

Summary: Some drools-osgi modules fail to install into Fuse
Product: [Retired] JBoss BRMS Platform 6 Reporter: Marek Winkler <mwinkler>
Component: BREAssignee: Mario Fusco <mfusco>
Status: CLOSED CURRENTRELEASE QA Contact: Marek Winkler <mwinkler>
Severity: high Docs Contact:
Priority: high    
Version: 6.0.0CC: etirelli, rrajasek
Target Milestone: CR1   
Target Release: 6.0.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-08-06 20:19:16 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Marek Winkler 2013-12-13 14:36:54 UTC
Description of problem:

When I try to install drools-osgi example application into JBoss Fuse 6.0.0 according to the instructions at [1], the following steps

features:install kie-aries-blueprint
features:install kie-camel

fail with error:

Error executing command: URL [mvn:org.kie.commons/kie-nio2-model/6.0.0-SNAPSHOT] could not be resolved.

This is very likely a blocker for drools-osgi integration. However, I am not sure if this qualifies as a blocker for GA1 or GA2. 

[1] https://github.com/droolsjbpm/droolsjbpm-integration/tree/6.0.x/drools-osgi/droolsjbpm-osgi-examples/blueprint-camel-drools-decision-table-example

Version-Release number of selected component (if applicable):

Drools 6.0.0-SNAPSHOT
JBoss Fuse 6.0.0

Comment 2 Mario Fusco 2013-12-16 16:33:06 UTC
I tried to reproduce the same and indeed when you issue the command 

features:install kie-aries-blueprint

in the osgi container you get the following error message:

Error executing command: Could not start bundle mvn:org.jbpm/jbpm-runtime-manager/6.1.0-SNAPSHOT in feature(s) jbpm-human-task-6.1.0-SNAPSHOT: Unresolved constraint in bundle org.jbpm.runtime.manager [121]: Unable to resolve 121.0: missing requirement [121.0] osgi.wiring.package; (osgi.wiring.package=org.jbpm.services.task.audit)

I discussed this issue with Maciej and he found that it is caused by the fact that the module https://github.com/droolsjbpm/jbpm/blob/master/jbpm-human-task/jbpm-human-task-audit/pom.xml is not a bundle.

Maciej will make that module a valid osgi bundle and eventually check if there are other jbpm modules requiring the same.

Comment 3 Maciej Swiderski 2013-12-17 12:37:32 UTC
as described above there was a need to improve osgi configuration for some jbpm modules to make them as valid osgi bunldes. On top of that some code change was required in kie-aries-bluprint module as well that was suggested by Charles.

Currently commits are made only on master
jbpm
https://github.com/droolsjbpm/jbpm/commit/cb3bd92dbd79d033823959d40d94291422e35aa5

droolsjbpm-integration
https://github.com/droolsjbpm/droolsjbpm-integration/commit/a68ed82498eb510cdd7169f2db1933a7d876c7b2

in case of back port, there will be additional change needed for both jbpm and droolsjbpm-integration due to master has jbpm-human-task-jpa module in addition to what 6.0.x has.

Although all modules are now deployable on OSGi container (tried on karaf) the example still does not work due to errors parsing package from XSD thus transferring to Mario for further analysis.

Comment 5 Mario Fusco 2014-01-08 08:31:17 UTC
I fixed the outstanding issues found by Maciej so it is now working on the master. Anyway we need to backport this fix to the 6.0.x branch so I am reassigning this ticket to him in order to make jbpm and -integration osgi compliant even there.

Comment 6 Maciej Swiderski 2014-01-08 11:55:04 UTC
changes back ported to 6.0.x and in addition removed not existing artifacts as well for human task feature in droolsjbpm-integration (artifacts that were moved from kid-commons to uberfire and since core modules are not dependent on them any more)

droolsjbpm-integration
master:
https://github.com/droolsjbpm/droolsjbpm-integration/commit/6f361087e8a5141cfbfa770bae7b3e6f7c10afdb

6.0.x:
https://github.com/droolsjbpm/droolsjbpm-integration/commit/2f74a6d97fefaa84ef73af33033a42258117e896
https://github.com/droolsjbpm/droolsjbpm-integration/commit/7c5f89d00a504e3cc4a5eba11d62988f6e57479f
https://github.com/droolsjbpm/droolsjbpm-integration/commit/6cde36e4a3556e5843e4519f9c7e8ff3b51aca16

jbpm
6.0.x:
https://github.com/droolsjbpm/jbpm/commit/b4821488fb10e39978f366754fa24c060679ce97

reassign to Mario for last parts in back porting process.

Comment 7 Mario Fusco 2014-01-08 12:30:56 UTC
I cherry-picked also my fixes to 6.0.x and checked that it is working even there.

Comment 8 Marek Winkler 2014-01-24 11:11:16 UTC
Verified that the drools-osgi example project can be deployed on Fuse.