<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:55:25 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>OpenDaylight JIRA</title>
    <link>https://jira.opendaylight.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.20.10</version>
        <build-number>820010</build-number>
        <build-date>22-06-2022</build-date>
    </build-info>


<item>
            <title>[CONTROLLER-1389] Leveldbjni not available on ARM</title>
                <link>https://jira.opendaylight.org/browse/CONTROLLER-1389</link>
                <project id="10113" key="CONTROLLER">controller</project>
                    <description>&lt;p&gt;odl-akka-leveldb pulls in leveldb which pulls in &lt;/p&gt;

&lt;p&gt;mvn:org.fusesource.leveldbjni/leveldbjni-all/1.8&lt;/p&gt;


&lt;p&gt;This dependency fails with:&lt;br/&gt;
Error executing command: Can&apos;t install feature odl-l2switch-switch/0.0.0: &lt;br/&gt;
Could not start bundle mvn:org.fusesource.leveldbjni/leveldbjni-all/1.8 in feature(s) odl-akka-leveldb-0.7: The bundle &quot;org.fusesource.leveldbjni.leveldbjni-all_1.8.0 &lt;span class=&quot;error&quot;&gt;&amp;#91;355&amp;#93;&lt;/span&gt;&quot; could not be resolved. Reason: No match found for native code: META-INF/native/windows32/leveldbjni.dll; processor=x86; osname=Win32, META-INF/native/windows64/leveldbjni.dll; processor=x86-64; osname=Win32, META-INF/native/osx/libleveldbjni.jnilib; processor=x86; osname=macosx, META-INF/native/osx/libleveldbjni.jnilib; processor=x86-64; osname=macosx, META-INF/native/linux32/libleveldbjni.so; processor=x86; osname=Linux, META-INF/native/linux64/libleveldbjni.so; processor=x86-64; osname=Linux&lt;/p&gt;


&lt;p&gt;As there is no nativ build for arm 32 and 64 bit available. This blocks deployment on non x86 machines like ARM 64 bit servers.&lt;/p&gt;

&lt;p&gt;See this entry:&lt;br/&gt;
&lt;a href=&quot;https://ask.opendaylight.org/question/4114/lithium-rc2-feature-install-error-on-armv8-platform/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://ask.opendaylight.org/question/4114/lithium-rc2-feature-install-error-on-armv8-platform/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And this ML post:&lt;br/&gt;
&lt;a href=&quot;https://lists.opendaylight.org/pipermail/controller-dev/2015-June/009797.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://lists.opendaylight.org/pipermail/controller-dev/2015-June/009797.html&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;It is possible to compile for arm as this page shows:&lt;br/&gt;
&lt;a href=&quot;http://arm.koji.fedoraproject.org/koji/rpminfo?rpmID=1282603&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://arm.koji.fedoraproject.org/koji/rpminfo?rpmID=1282603&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Its a feature request in the end - and for a external dependency. But it shows that we need to be careful with our dependencies!&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="25943">CONTROLLER-1389</key>
            <summary>Leveldbjni not available on ARM</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                                <status id="5" iconUrl="https://jira.opendaylight.org/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10002">Duplicate</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="jsmoeller@linuxfoundation.org">Jan-Simon Moeller</reporter>
                        <labels>
                    </labels>
                <created>Thu, 9 Jul 2015 08:23:37 +0000</created>
                <updated>Tue, 25 Jul 2023 08:24:05 +0000</updated>
                            <resolved>Fri, 15 Mar 2019 22:08:00 +0000</resolved>
                                                                    <component>clustering</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>9</watches>
                                                                                                                <comments>
                            <comment id="50884" author="florin.dumitrascu@enea.com" created="Tue, 6 Oct 2015 09:19:27 +0000"  >&lt;p&gt;Hi Jan and all,&lt;/p&gt;

&lt;p&gt;Thanks for filling in this entry.&lt;br/&gt;
I have raised the question originally on ODL forum.&lt;br/&gt;
I have access to several ARM 64bit server platforms, from various vendors including AppliedMicro (APM), Freescale, Cavium. &lt;/p&gt;

&lt;p&gt;Since then I have been able to build leveldb and corresponding JNI library on aarch64 target. It has been successfully tested in the last couple of months, running ODL Lithium on an APM server as part of a basic ARM 64bit OPNFV test lab (OpenStack controller including ODL + 3 compute nodes).&lt;/p&gt;

&lt;p&gt;I would gladly help to upstream this support, however I need some guidance on the release procedure (releasing leveldjni to Maven Central and integration with ODL).&lt;br/&gt;
I would like to prioritize this feature request as next release of OPNFV will depend on it.&lt;/p&gt;

&lt;p&gt;Looking forward to sync with you on this.&lt;/p&gt;

&lt;p&gt;Also, please add me to the CC list (in case Bugzilla will not do it).&lt;/p&gt;

&lt;p&gt;Best Regards,&lt;br/&gt;
Florin&lt;/p&gt;</comment>
                            <comment id="50885" author="jsmoeller@linuxfoundation.org" created="Wed, 28 Oct 2015 23:08:16 +0000"  >&lt;p&gt;@Florin:&lt;/p&gt;

&lt;p&gt;See &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/25693/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/25693/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The infra is there, ping the RELENG/IT to make it happen.&lt;/p&gt;</comment>
                            <comment id="50886" author="gary.wu1@huawei.com" created="Tue, 3 Nov 2015 20:06:52 +0000"  >&lt;p&gt;I&apos;ve also added a commit that shows how to turn on the Java-only &lt;br/&gt;
implementation of leveldb, for those platforms where the native version&lt;br/&gt;
is unavailable.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/29217/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/29217/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="50887" author="florin.dumitrascu@enea.com" created="Wed, 4 Nov 2015 12:15:54 +0000"  >&lt;p&gt;(In reply to Jan-Simon Moeller from comment #2)&lt;br/&gt;
&amp;gt; @Florin:&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; See &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/25693/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/25693/&lt;/a&gt;&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; The infra is there, ping the RELENG/IT to make it happen.&lt;/p&gt;

&lt;p&gt;Many thanks Jan,&lt;/p&gt;

&lt;p&gt;I&apos;ll have a look at the Solaris example for reference.&lt;/p&gt;</comment>
                            <comment id="50888" author="moraja@cisco.com" created="Wed, 4 Nov 2015 17:05:23 +0000"  >&lt;p&gt;Gary,&lt;/p&gt;

&lt;p&gt;To get leveldb java to work in karaf don&apos;t we need to also have the leveldb java bundle installed? Were you able to verify that leveldb java was used when we change the configuration?&lt;/p&gt;</comment>
                            <comment id="50889" author="gary.wu1@huawei.com" created="Wed, 4 Nov 2015 18:07:28 +0000"  >&lt;p&gt;Hi Moiz,&lt;/p&gt;

&lt;p&gt;Yes, I did verify (via stack traces) that the Java-only leveldb was being used when the option is set.&lt;/p&gt;

&lt;p&gt;It looks like the Java-only leveldb (&lt;a href=&quot;https://github.com/dain/leveldb&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/dain/leveldb&lt;/a&gt;) is already included by the Akka Persistence default plugin for leveldb.  So, we don&apos;t need to package any additional bundles ourselves.&lt;/p&gt;</comment>
                            <comment id="50890" author="moraja@cisco.com" created="Wed, 4 Nov 2015 20:32:44 +0000"  >&lt;p&gt;Thanks for confirming that Gary.&lt;/p&gt;</comment>
                            <comment id="50891" author="jsmoeller@linuxfoundation.org" created="Fri, 27 Nov 2015 22:08:25 +0000"  >&lt;p&gt;@Florin: just provide the instructions on how to build leveldbjni for arm here. IT can pick it up here and create the package.&lt;/p&gt;


&lt;p&gt;@Moiz/Gary:&lt;br/&gt;
There is still the dependency to leveldbjni left which fails during feature:install. So there is no way to successfully install something e.g. on arm currently. Even if the java-only version would just pick-up, the installation procedure would fail currently. &lt;br/&gt;
So we&apos;d need a weaker dependency or an architecture-dependent dependency on leveldbjni then ?&lt;/p&gt;</comment>
                            <comment id="50892" author="zxiiro" created="Fri, 27 Nov 2015 23:04:20 +0000"  >&lt;p&gt;FWIW leveldbjni upstream project recently accepted our Solaris patch &lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt; which tells me they aren&apos;t completely dead. Just really slow. I think it&apos;d be worth providing patches to them in hopes that they&apos;ll merge it and release a version we can consume in the future.&lt;/p&gt;

&lt;p&gt;To not block our own development though IT can rebuild and publish a custom version on nexus.opendaylight.org we just need instructions on how to build it as well as the source since we have to release source.jars with anything we push to Nexus, please provide that detail here. Once that&apos;s done I&apos;d recommend opening a helpdesk ticket by sending email to helpdesk@opendaylight.org with a link back to this bug so that we can see the build instructions and history.&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt; &lt;a href=&quot;https://github.com/fusesource/leveldbjni/pull/64&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/fusesource/leveldbjni/pull/64&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="50893" author="gary.wu1@huawei.com" created="Tue, 1 Dec 2015 16:50:25 +0000"  >&lt;p&gt;We discussed this today at the Clustering Hackers Meeting.  The consensus is that the right way to deal with the karaf feature dependency issue is with karaf 4.0 version which has the necessary features to address this type of dependency requirements.&lt;/p&gt;

&lt;p&gt;There is a pre-existing bug logged for the karaf upgrade here:&lt;br/&gt;
&lt;a href=&quot;https://bugs.opendaylight.org/show_bug.cgi?id=4219&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://bugs.opendaylight.org/show_bug.cgi?id=4219&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Due to the time constraint and the potential impact, the karaf upgrade will likely be done in the Boron release.&lt;/p&gt;</comment>
                            <comment id="50894" author="jsmoeller@linuxfoundation.org" created="Thu, 3 Nov 2016 19:11:08 +0000"  >&lt;p&gt;Whats the status of this bug ?&lt;/p&gt;

&lt;p&gt;I see there is movement on the karaf front.&lt;/p&gt;

&lt;p&gt;Do we have a leveldbjni with arm meantime ?&lt;/p&gt;</comment>
                            <comment id="50895" author="florin.dumitrascu@gmail.com" created="Fri, 4 Nov 2016 08:21:11 +0000"  >&lt;p&gt;Hi Jan,&lt;/p&gt;

&lt;p&gt;Unfortunately I did not have the bandwidth to follow up on pushing leveldbjni for ARM (same as it was done for Solaris). In the meantime OPNFV for ARM builds it locally. &lt;br/&gt;
Let me see if I can free up some time in the next couple of weeks.&lt;/p&gt;</comment>
                            <comment id="50896" author="vorburger" created="Mon, 6 Feb 2017 18:54:09 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.opendaylight.org/browse/CONTROLLER-1591&quot; title=&quot;Make it possible to use LevelDB native binary installed by OS package manager, instead of the one bundled in leveldbjni-all&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CONTROLLER-1591&quot;&gt;&lt;del&gt;CONTROLLER-1591&lt;/del&gt;&lt;/a&gt; may help in this regard (if I ever manage to make progress with it).&lt;/p&gt;

&lt;p&gt;&amp;gt; I would gladly help to upstream this support, however I need some&lt;br/&gt;
&amp;gt; guidance on the release procedure (releasing leveldjni to&lt;br/&gt;
&amp;gt; Maven Central and integration with ODL).&lt;/p&gt;

&lt;p&gt;Any such work would have to at least initially start via a Pull Request over on &lt;a href=&quot;https://github.com/fusesource/leveldbjni&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/fusesource/leveldbjni&lt;/a&gt;, not here... You could jump on &lt;a href=&quot;https://github.com/fusesource/leveldbjni/issues/76&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/fusesource/leveldbjni/issues/76&lt;/a&gt;.  But see also &lt;a href=&quot;https://jira.opendaylight.org/browse/CONTROLLER-1591&quot; title=&quot;Make it possible to use LevelDB native binary installed by OS package manager, instead of the one bundled in leveldbjni-all&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CONTROLLER-1591&quot;&gt;&lt;del&gt;CONTROLLER-1591&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&amp;gt; how to turn on the Java-only implementation of leveldb,&lt;br/&gt;
&amp;gt; for those platforms where the native version is unavailable.&lt;br/&gt;
&amp;gt; &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/29217/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/29217/&lt;/a&gt;&lt;br/&gt;
&amp;gt; the Java-only leveldb (&lt;a href=&quot;https://github.com/dain/leveldb&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/dain/leveldb&lt;/a&gt;) &lt;/p&gt;

&lt;p&gt;Do any of you actually use this alternative implemementation? To me, both the comment you put in c/29217 and looking myself at &quot;dain/leveldb&quot; doesn&apos;t look very serious... &quot;currently the code base is basically functional, but only trivially tested&quot; - if any of you have tested ODL with this, do let us know here please.&lt;/p&gt;</comment>
                            <comment id="65609" author="rovarga" created="Wed, 14 Nov 2018 12:20:11 +0000"  >&lt;p&gt;I agree, there are a bunch of architectures supported upstream. &lt;a href=&quot;https://jira.opendaylight.org/secure/ViewProfile.jspa?name=ariel.adam&quot; class=&quot;user-hover&quot; rel=&quot;ariel.adam&quot;&gt;ariel.adam&lt;/a&gt;, is there interest to support ARM on RH? If so, we really need an update to upstream and then we can pull the arches we need.&lt;/p&gt;</comment>
                            <comment id="65610" author="skitt@redhat.com" created="Wed, 14 Nov 2018 12:25:05 +0000"  >&lt;p&gt;For Red Hat products we rebuild from source anyway, so our downstream support doesn&#8217;t depend on the availability of binaries upstream. Currently we ship leveldbjni on ppc64le and x86_64.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                                                <inwardlinks description="is blocked by">
                                        <issuelink>
            <issuekey id="26145">CONTROLLER-1591</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="22146">ODLPARENT-23</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="31444">CONTROLLER-1884</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="25965">CONTROLLER-1411</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_11400" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3973</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10201" key="com.atlassian.jira.plugin.system.customfieldtypes:url">
                        <customfieldname>External issue URL</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[https://bugs.opendaylight.org/show_bug.cgi?id=3973]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10206" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Issue Type</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10300"><![CDATA[Bug]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i02q9r:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>