summaryrefslogtreecommitdiffstats
path: root/patches/fuel-plugin-opendaylight/0001-ODL-leveldb-leveldbjni-Enable-arm64-support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/fuel-plugin-opendaylight/0001-ODL-leveldb-leveldbjni-Enable-arm64-support.patch')
-rw-r--r--patches/fuel-plugin-opendaylight/0001-ODL-leveldb-leveldbjni-Enable-arm64-support.patch121
1 files changed, 0 insertions, 121 deletions
diff --git a/patches/fuel-plugin-opendaylight/0001-ODL-leveldb-leveldbjni-Enable-arm64-support.patch b/patches/fuel-plugin-opendaylight/0001-ODL-leveldb-leveldbjni-Enable-arm64-support.patch
deleted file mode 100644
index b307af2b..00000000
--- a/patches/fuel-plugin-opendaylight/0001-ODL-leveldb-leveldbjni-Enable-arm64-support.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-: Copyright (c) 2017 Enea AB, Cavium and others.
-:
-: All rights reserved. This program and the accompanying materials
-: are made available under the terms of the Apache License, Version 2.0
-: which accompanies this distribution, and is available at
-: http://www.apache.org/licenses/LICENSE-2.0
-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-From: Florin Dumitrascu <florin.dumitrascu@enea.com>
-Date: Thu, 17 Mar 2016 18:15:42 +0100
-Subject: [PATCH] ODL leveldb, leveldbjni: Enable arm64 support.
-
-ODL depends on a native library (leveldb).
-
-ODL Beryllium and Boron versions are still using a native x86 version
-of this library (wrapped in leveldbjni).
-
-There is no upstream version of leveldbjni supporting arm64 leveldb,
-so we need to compile it when deploying ODL.
-This is done when running odl-install puppet manifest.
-
-For more info about this ODL limitation, see [1].
-
-[ Alexandru.Avadanii@enea.com ]
-Remove JAVA8 changes after upstream rework.
-Convert puppet patching to prebuilt DEB package, as part of [2].
-Rebase for Fuel Newton.
-
-[ Dan.Andresan@enea.com ]
-Modify Puppet recipe to restart Opendaylight service after leveldbjni
-This avoids a cache corruption described in [3]
-Fix leveldbjni on x86_64, since it should be silently skipped.
-
-[1] https://bugs.opendaylight.org/show_bug.cgi?id=3973
-[2] https://jira.opnfv.org/browse/ARMBAND-114
-[3] https://jira.opnfv.org/browse/ARMBAND-211
-
-Change-Id: Ia7abf375ffd122ff0ac7b12422f64526ff2c78fd
-Signed-off-by: Florin Dumitrascu <florin.dumitrascu@enea.com>
-Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com>
-Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
-Signed-off-by: Dan Andresan <dan.andresan@enea.com>
----
- .../puppet/modules/opendaylight/manifests/init.pp | 8 ++++++
- .../modules/opendaylight/manifests/install.pp | 3 ++
- .../modules/opendaylight/manifests/leveldbjni.pp | 32 ++++++++++++++++++++++
- 3 files changed, 43 insertions(+)
- create mode 100644 deployment_scripts/puppet/modules/opendaylight/manifests/leveldbjni.pp
-
-diff --git a/deployment_scripts/puppet/modules/opendaylight/manifests/init.pp b/deployment_scripts/puppet/modules/opendaylight/manifests/init.pp
-index 69cc23a..791ceba 100644
---- a/deployment_scripts/puppet/modules/opendaylight/manifests/init.pp
-+++ b/deployment_scripts/puppet/modules/opendaylight/manifests/init.pp
-@@ -9,4 +9,12 @@ class opendaylight {
- $odl_mgmt_ips = values($odl_mgmt_ips_hash)
- $odl_nodes_names = keys($odl_mgmt_ips_hash)
- $node_internal_address = $odl_mgmt_ips_hash["node-${node_uid}"]
-+
-+ $arch = $::architecture ? {
-+ 'aarch64' => $::osfamily ? {
-+ 'Debian' => 'arm64',
-+ default => 'aarch64',
-+ },
-+ default => $::architecture,
-+ }
- }
-diff --git a/deployment_scripts/puppet/modules/opendaylight/manifests/install.pp b/deployment_scripts/puppet/modules/opendaylight/manifests/install.pp
-index 2c3d776..22ab204 100644
---- a/deployment_scripts/puppet/modules/opendaylight/manifests/install.pp
-+++ b/deployment_scripts/puppet/modules/opendaylight/manifests/install.pp
-@@ -85,9 +85,12 @@ class opendaylight::install (
- value => $enabled_features,
- }
-
-+ include opendaylight::leveldbjni
-+
- Package['opendaylight'] ->
- Ini_setting <||> ->
- Firewall <||> ->
-+ Class['opendaylight::leveldbjni'] ->
- File <||> ~>
- Service['opendaylight']
- }
-diff --git a/deployment_scripts/puppet/modules/opendaylight/manifests/leveldbjni.pp b/deployment_scripts/puppet/modules/opendaylight/manifests/leveldbjni.pp
-new file mode 100644
-index 0000000..71c3635
---- /dev/null
-+++ b/deployment_scripts/puppet/modules/opendaylight/manifests/leveldbjni.pp
-@@ -0,0 +1,32 @@
-+# == Class opendaylight::leveldbjni
-+#
-+# Manages patching of JNI for leveldb on arm64.
-+#
-+# It fetches a prebuilt DEB package containing leveldbjni,
-+# patched so that it's properly detected by maven on arm64 systems.
-+#
-+# DEB: http://linux.enea.com/mos-repos/ubuntu/9.0/ \
-+# pool/main/a/armband-odl-leveldb-fix/
-+# JIRA: https://jira.opnfv.org/browse/ARMBAND-114
-+#
-+class opendaylight::leveldbjni {
-+ case $::osfamily {
-+ 'Debian', 'Ubuntu': {}
-+ default: {
-+ fail('Not supported on OS other than Debian based.')
-+ }
-+ }
-+
-+ if $::osfamily == 'Debian' and $::opendaylight::arch == 'arm64' and ! defined(Package['armband-odl-leveldb-fix']) {
-+ exec {'hotfix-odl':
-+ command => 'systemctl stop opendaylight; rm -rf /opt/opendaylight/data/cache',
-+ onlyif => 'test 0 -eq $(dpkg -l | grep -c armband-odl-leveldb-fix)',
-+ path => ['/bin', '/usr/bin']
-+ }
-+
-+ package { 'armband-odl-leveldb-fix':
-+ ensure => 'present',
-+ require => Exec['hotfix-odl']
-+ }
-+ }
-+}