Thomas Bouron created KARAF-5352:
------------------------------------

             Summary: KARAF_ETC envvar ignored
                 Key: KARAF-5352
                 URL: https://issues.apache.org/jira/browse/KARAF-5352
             Project: Karaf
          Issue Type: Bug
    Affects Versions: 4.1.2
         Environment: Tested on CentOS 7.x
            Reporter: Thomas Bouron


I'm currently working on upgrading the RPM and DEB packaging for Apache 
Brooklyn. The project uses Karaf and has the following folder structure for the 
RPM package:
{code}
/-
 +- etc
 |+- brooklyn
 +- opt
 |+- brooklyn-0.12.0-SNAPSHOT
 ||+- bin
 ||+- data
 ||+- deploy
 ||+- lib
 ||+- system
{code}

The {{etc}} folder is not part of {{KARAF_HOME}} but in {{/etc/brooklyn}}. I 
setup my {{KARAF_ETC}} to point to this folder, however when I start Karaf, I 
get the followoing

{code}
Sep 07 15:27:14 br-ovx1by-amp-appl-om8x-empty-t0ww-280 systemd[1]: Started 
Apache Brooklyn Service.
Sep 07 15:27:14 br-ovx1by-amp-appl-om8x-empty-t0ww-280 systemd[1]: Starting 
Apache Brooklyn Service...
Sep 07 15:27:14 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: JAVA_HOME 
not set; results may vary
Sep 07 15:27:14 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: karaf: 
Ignoring predefined value for KARAF_HOME
Sep 07 15:27:17 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: 
15:27:17.085 [pool-1-thread-2] ERROR org.apache.karaf.features.inte
Sep 07 15:27:17 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: 
java.io.IOException: /opt/brooklyn-0.12.0-SNAPSHOT/etc/0d218152-8d8
Sep 07 15:27:17 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: at 
org.apache.karaf.features.internal.service.RepositoryImpl.load(R
Sep 07 15:27:17 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: at 
org.apache.karaf.features.internal.service.FeaturesServiceImpl.l
Sep 07 15:27:17 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: at 
org.apache.karaf.features.internal.service.FeaturesServiceImpl.a
Sep 07 15:27:17 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: at 
org.apache.karaf.features.internal.service.FeaturesServiceImpl.a
Sep 07 15:27:17 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: at 
org.apache.karaf.features.internal.service.BootFeaturesInstaller
Sep 07 15:27:17 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: at 
org.apache.karaf.features.internal.service.BootFeaturesInstaller
Sep 07 15:27:17 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: at 
org.apache.karaf.features.internal.osgi.Activator.doStart(Activa
Sep 07 15:27:17 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: at 
org.apache.karaf.util.tracker.BaseActivator.run(BaseActivator.ja
Sep 07 15:27:17 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.ja
Sep 07 15:27:17 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: at 
java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
Sep 07 15:27:17 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExec
Sep 07 15:27:17 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExe
Sep 07 15:27:17 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: at 
java.lang.Thread.run(Thread.java:748) [?:?]
Sep 07 15:27:17 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: Caused by: 
java.io.FileNotFoundException: /opt/brooklyn-0.12.0-SNAP
Sep 07 15:27:17 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: at 
java.io.FileInputStream.open0(Native Method) ~[?:?]
Sep 07 15:27:17 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: at 
java.io.FileInputStream.open(FileInputStream.java:195) ~[?:?]
Sep 07 15:27:17 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: at 
java.io.FileInputStream.<init>(FileInputStream.java:138) ~[?:?]
Sep 07 15:27:17 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: at 
java.io.FileInputStream.<init>(FileInputStream.java:93) ~[?:?]
Sep 07 15:27:17 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: at 
sun.net.www.protocol.file.FileURLConnection.connect(FileURLConne
Sep 07 15:27:17 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: at 
sun.net.www.protocol.file.FileURLConnection.getInputStream(FileU
Sep 07 15:27:17 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: at 
java.net.URL.openStream(URL.java:1045) ~[?:?]
Sep 07 15:27:17 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: at 
org.apache.karaf.features.internal.service.RepositoryImpl.load(R
Sep 07 15:27:17 br-ovx1by-amp-appl-om8x-empty-t0ww-280 karaf[1919]: ... 12 more
{code}

As you can see, karaf expect the {{etc}} folder to be inside {{KARAF_HOME}} 
even though I specified my {{KARAF_ETC}} envvar.

If I softlink {{/etc/brooklyn}} to {{/opt/brooklyn-0.12.0-SNAPSHOT}}, it works. 

It's also worth mentioning that I don't have this issue with Karaf 4.0.8



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to