Uploaded image for project: 'aaa'
  1. aaa
  2. AAA-191

Certificate Configuration accepts only path relative to ODL directories

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Medium Medium
    • Magnesium, Sodium SR3
    • None
    • General
    • None

      It would be nice for aaa-cert-config.xml file to support both relative and absolute paths. Also if path is not found controller fails to start.

      For example, using this aaa-cert-config.xml:

      <?xml version="1.0" encoding="UTF-8" standalone="no"?>
      <aaa-cert-service-config xmlns="urn:opendaylight:yang:aaa:cert">
       <use-config>true</use-config>
       <use-mdsal>false</use-mdsal>
       <bundle-name>opendaylight</bundle-name>
       <ctlKeystore>
         <name>/opt/lumina/lsc/controller/etc/controller1.sjt.openedge.keystore.p12</name>
         <alias>controller1.sjt.openedge</alias>
         <store-password>LH0L7Z19KG/sxGOOv8zn</store-password>
       </ctlKeystore>
       <trustKeystore>
         <name>/opt/lumina/lsc/controller/etc/controller1.sjt.openedge.truststore.p12</name>
         <store-password>4xACSpAzJI5mZZ7fy4wo</store-password>
       </trustKeystore>
      </aaa-cert-service-config>
      

      Controller fails to start with this ERROR:

      2019-08-19T20:55:01,018 | ERROR | Blueprint Extender: 1 | ServiceRecipe                    | 93 - org.apache.aries.blueprint.core - 1.8.3 | Error retrieving service from ServiceRecipe[name='.component-1']
      org.osgi.service.blueprint.container.ComponentDefinitionException: Error when instantiating bean certManager of class org.opendaylight.aaa.cert.impl.CertificateManagerService
              at org.apache.aries.blueprint.container.BeanRecipe.wrapAsCompDefEx(BeanRecipe.java:361) [93:org.apache.aries.blueprint.core:1.8.3]
              at org.apache.aries.blueprint.container.BeanRecipe.getInstanceFromType(BeanRecipe.java:351) [93:org.apache.aries.blueprint.core:1.8.3]
              at org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:282) [93:org.apache.aries.blueprint.core:1.8.3]
              at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:830) [93:org.apache.aries.blueprint.core:1.8.3]
              at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:811) [93:org.apache.aries.blueprint.core:1.8.3]
              at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79) [93:org.apache.aries.blueprint.core:1.8.3]
              at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
              at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88) [93:org.apache.aries.blueprint.core:1.8.3]
              at org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:62) [93:org.apache.aries.blueprint.core:1.8.3]
              at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:106) [93:org.apache.aries.blueprint.core:1.8.3]
              at org.apache.aries.blueprint.container.ServiceRecipe.createService(ServiceRecipe.java:285) [93:org.apache.aries.blueprint.core:1.8.3]
              at org.apache.aries.blueprint.container.ServiceRecipe.internalGetService(ServiceRecipe.java:252) [93:org.apache.aries.blueprint.core:1.8.3]
              at org.apache.aries.blueprint.container.ServiceRecipe.internalCreate(ServiceRecipe.java:149) [93:org.apache.aries.blueprint.core:1.8.3]
              at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79) [93:org.apache.aries.blueprint.core:1.8.3]
              at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
              at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88) [93:org.apache.aries.blueprint.core:1.8.3]
              at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:255) [93:org.apache.aries.blueprint.core:1.8.3]
              at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:186) [93:org.apache.aries.blueprint.core:1.8.3]
              at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:704) [93:org.apache.aries.blueprint.core:1.8.3]
              at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:410) [93:org.apache.aries.blueprint.core:1.8.3]
              at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:275) [93:org.apache.aries.blueprint.core:1.8.3]
              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
              at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
              at org.apache.aries.blueprint.container.ExecutorServiceWrapper.run(ExecutorServiceWrapper.java:106) [93:org.apache.aries.blueprint.core:1.8.3]
              at org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48) [93:org.apache.aries.blueprint.core:1.8.3]
              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
              at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
              at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
              at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
              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) [?:?]
      Caused by: java.lang.NullPointerException
              at org.opendaylight.aaa.cert.impl.AaaCertProvider.createKeyStores(AaaCertProvider.java:82) ~[?:?]
              at org.opendaylight.aaa.cert.impl.CertificateManagerService.<init>(CertificateManagerService.java:96) ~[?:?]
              at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
              at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:?]
              at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
              at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:?]
              at org.apache.aries.blueprint.utils.ReflectionUtils.newInstance(ReflectionUtils.java:331) ~[?:?]
              at org.apache.aries.blueprint.container.BeanRecipe.newInstance(BeanRecipe.java:984) ~[?:?]
              at org.apache.aries.blueprint.container.BeanRecipe.getInstanceFromType(BeanRecipe.java:349) ~[?:?]
              ... 30 more
      

            gvrangan Venkatrangan Govindarajan
            gvrangan Venkatrangan Govindarajan
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: