Hi there!

Use case:

Environment: clean Karaf 4.x instance.

Requirements:

Multiple software modules should be install according to accepted deployment 
plan. Deployment plan consist 3 modules in different regions: ActiveMQ 
(root/broker), business module A (root), business module B (root). Some bundle 
requirements for ActiveMQ and business modules are same or compatible.

How it works now:

Operation engineer should install modules in 2 steps: one for root region and 
one for root/broker region. Because of shared bundle deps optimal way is to 
install into root region first.

Whats wrong:

1. Service provider (ActiveMQ) should be installed after consumer. Consumer can 
fail to start before provider appears.
2. Operation engineer should know such deps semantics or it should be 
documented by developers.
3. There is 2 deployment steps for one deployment plan. Such deployment not 
atomic and can fail in the middle of installation reducing usefulness of new 
Karaf 4 resolver (you can’t do: feature:install -t feaure_list ).
4. If order of installation is reversed refreshes and ActiveMQ restart if 
follows because of uninstall/install of shared bundles in performed.

How it should work:

Operation engineer issue one install command where features tarted regions is 
specified by feature basis. Something like: feature:install 
{root/broker}actimemq-broker/5.13.2 business-module-a/1.1.12 
business-module-b/5.0


I can provide PR if proposal is accepted.

Regards,
Vladimir Konkov
CIT Consulting LLC

Reply via email to