Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1569665

Summary: [Infra] Namespace Exception alias: '/jolokia' is already in use in this or another context
Product: Red Hat OpenStack Reporter: Sai Sindhur Malleni <smalleni>
Component: opendaylightAssignee: Michael Vorburger <vorburger>
Status: CLOSED CURRENTRELEASE QA Contact: Tomas Jamrisko <tjamrisk>
Severity: low Docs Contact:
Priority: low    
Version: 13.0 (Queens)CC: jchhatba, mkolesni, nyechiel, smalleni, tjamrisk, vorburger
Target Milestone: ---Keywords: Triaged, ZStream
Target Release: 13.0 (Queens)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: Infra
Fixed In Version: opendaylight-8.3.0-1.el7ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-11-08 09:45:33 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:
Embargoed:
Attachments:
Description Flags
from https://gist.githubusercontent.com/smalleni/79c163bf80773fa60de372e7836ed302/raw/1647350c7512569fe3ee474e98a02be8c22871e5/gistfile1.txt
none
https://gist.githubusercontent.com/smalleni/d2cc9caf60d06a0d38c3942876ff6926/raw/ebde37406d1467b3e7e68720d5ee568da1f22ee7/gistfile1.txt none

Description Sai Sindhur Malleni 2018-04-19 17:53:50 UTC
Description of problem: On a clustered ODL + OSP setup seeing this in karaf logs
2018-04-19T16:26:50,567 | ERROR | features-1-thread-1 | osgi                             | 184 - org.jolokia.osgi - 1.3.7 | Namespace Exception: org.osgi.service.http.NamespaceException: alias: '/jolokia' is already in use in this or another context
org.osgi.service.http.NamespaceException: alias: '/jolokia' is already in use in this or another context
        at org.ops4j.pax.web.service.spi.model.ServerModel.addServletModel(ServerModel.java:124) ~[?:?]
        at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:241) ~[?:?]
        at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:221) ~[?:?]
        at org.ops4j.pax.web.service.internal.HttpServiceStarted.registerServlet(HttpServiceStarted.java:205) ~[?:?]
        at org.ops4j.pax.web.service.internal.HttpServiceProxy.registerServlet(HttpServiceProxy.java:65) ~[?:?]
        at org.jolokia.osgi.JolokiaActivator$HttpServiceCustomizer.addingService(JolokiaActivator.java:315) ~[?:?]
        at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) ~[?:?]
        at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) ~[?:?]
        at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) ~[?:?]
        at org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183) ~[?:?]
        at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:318) ~[?:?]
        at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:261) ~[?:?]
        at org.jolokia.osgi.JolokiaActivator.start(JolokiaActivator.java:102) ~[?:?]
        at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:774) ~[?:?]
        at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1) ~[?:?]
        at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:767) ~[?:?]
        at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:724) ~[?:?]
        at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:932) ~[?:?]
        at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:309) ~[?:?]
        at org.eclipse.osgi.container.Module.doStart(Module.java:581) ~[?:?]
        at org.eclipse.osgi.container.Module.start(Module.java:449) ~[?:?]
        at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:383) ~[?:?]
        at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:402) ~[?:?]
        at org.apache.karaf.features.internal.service.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:1361) ~[?:?]
        at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:888) ~[?:?]
        at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1248) ~[?:?]
        at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$1(FeaturesServiceImpl.java:1147) ~[?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
        at java.lang.Thread.run(Thread.java:748) [?:?]



Version-Release number of selected component (if applicable):
OSP13
opendaylight-8.0.0-5.el7ost.noarch

How reproducible: 100%


Steps to Reproduce:
1. Can easily be seen on a freshly deployed OSP+ODL cloud
2.
3.

Actual results:
Seeing the namespace exception

Expected results:
No exceptions should be seen

Additional info:

Comment 1 Janki 2018-04-20 01:13:15 UTC
Assigning it to Michael as he is an assignee for the upstream bug.

Comment 2 Michael Vorburger 2018-04-20 16:40:38 UTC
Analysis in upstream bug CONTROLLER-1815 has determined that this could (only) be caused by downstream somehow somewhere doing a featuresBoot= or "feature:install" of "jolokia" (wrong) instead of "odl-jolokia" (right).  Mike, is that the case?

Comment 3 Michael Vorburger 2018-04-20 16:41:27 UTC
FTR: Janki has confirmed in email "that neither TripleO nor Puppet-ODL uses jolokia (instead of odl-jolokia)".

Comment 5 Mike Kolesnik 2018-04-22 06:51:41 UTC
Tomas, can you check if this is affecting the clustering monitoring tool?

Comment 7 Sai Sindhur Malleni 2018-04-23 14:48:45 UTC
For references I install these features
https://github.com/smalleni/openstack-templates/blob/master/RDU-Perf/13/Dell/opendaylight-transactions.yaml

Could that be causing this?

Comment 8 Michael Vorburger 2018-04-23 15:38:44 UTC
> I install these features
> Could that be causing this?

I had a look at this list (good idea!), just copy/paste for future reference:

parameter_defaults:
  OpenDaylightFeatures: ["odl-mdsal-trace","odl-netvirt-openstack","odl-netvirt-ui","odl-jolokia"]

and did another local test trying to install these 3 of these 4 features into a local build from upstream stable/oxygen, and with those still cannot reproduce this; with same conclusions reached in CONTROLLER-1815.

The feature I could not myself locally install is odl-netvirt-ui.  Wondering if that could be the culprit here?? But I'm very surprised that you still have "odl-netvirt-ui"; that is not available anymore now, and a "feature:install odl-netvirt-ui" fails in a local build from upstream stable/oxygen.  (That's the DLUX UI which we are no longer supporting upstream;  in the next ODL Fluorine that "odl-netvirt-ui" feature has therefore been completely removed from Git; in Oxygen it's still in netvirt's git, but no longer built, so not available anymore either.)

So do try if removing "odl-netvirt-ui" by any chance does the trick?

But either way, whether removing "odl-netvirt-ui" fixes this or even if not, I do want to understand how come you can still install a feature which shouldn't be available anymore at all. 

Tomas and Sai, could you both also attach the output of this Karaf Shell CLI command in your envs:

  karaf@root()> feature:list

Comment 9 Michael Vorburger 2018-04-23 15:56:36 UTC
Sai and Tomas, can I ask you to also attach the same information I've just asked for from JamO in CONTROLLER-1815 - the "feature:list -r" thing followed by xN a "feature:info -t ..." line.

Jamo is chasing this upstreamin CSIT; whereas my understanding is that you both are hitting this downstream, where we have discprecancies; I'm interested in information from both.

Comment 10 Sai Sindhur Malleni 2018-04-23 16:19:20 UTC
PFA
karaf@root()> feature:list
https://gist.github.com/smalleni/d2cc9caf60d06a0d38c3942876ff6926
feature:list -r
https://gist.github.com/smalleni/79c163bf80773fa60de372e7836ed302

feature:info -t did not return before my patience timed out :-)

Comment 13 Michael Vorburger 2018-04-23 16:59:04 UTC
> do want to understand how come you can still install a feature
> which shouldn't be available anymore at all. 

The "feature:list -r" output shows that "odl-netvirt-ui" was ignored, so forget that.

> feature:info -t did not return before my patience timed out :-)

That's very curious, because it (should) just print out a list, it runs really quick for me.  Never mind though, I already spotted something more interestgin:

But feature:list shows that feature "jolokia" (not odl-jolokia) 1.3.5 is Uninstalled.  So my idea in CONTROLLER-1815 that is a double installation of jolokia and odl-jolokia is not what is causing this here. (It would also cause it, but is not causing it here.)

Something else that I just noticed in CONTROLLER-1815 is that it could be not duplicate jolokia Karaf features, but bundles...

Sai or Thomas, could you please attach (a) the full Karaf log, not just the exception, and (b) the output of "bundle:list -s -l" from an environment where you hit this?

Comment 14 Michael Vorburger 2018-04-23 18:19:37 UTC
I've made a breakthrough in the upstream issue (CONTROLLER-1815), and now underestand exactly what is causing this.  The underlying issue got fixed in upstream master as well as upcoming Oxygen SP1; but through a "fix" for this particular problem, but as part of the odlparent and yangtools version bumps which included a Karaf version bump.  

It's however very far from trivial, if at all possible, to backpatch that downstream.  We'll get this fixed "for free" whenever we pull to rebase on future Oxygen SP1.  As this issue really is "just" a certainly confusing, but absolutely not core functionality impacting problem, and really just a "bad" log message (of which we have many many; and made great progress in reducing now, but have some left, such as this), I'm setting priority Low and Impact Low on this, and will let it linger here until we'll get it fixed by adopting Oxygen SP1. 

Moving to  Oxygen SP1 in the very short term just to get a fix for this small issue is, IMHO, absolutely not worth it, and could easily lead to other problems; so let that happen in a future cycle - we'll all live just fine with this confusing error log message until then.

Comment 15 Michael Vorburger 2018-04-23 18:31:56 UTC
> but through a "fix" for this particular problem, but as part of....

"but NOT through..."

Comment 17 Michael Vorburger 2018-07-31 10:50:16 UTC
Mike, this problem was actually fixed in Oxygen SR1 (or SR2, not sure; but months ago already, not recently).  Can you do the right/needful BZ actions?