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