ceph: use the sources from upstream git repos 31/5131/1
authorJackie Huang <jackie.huang@windriver.com>
Thu, 19 Nov 2020 06:30:26 +0000 (14:30 +0800)
committerJackie Huang <jackie.huang@windriver.com>
Fri, 20 Nov 2020 09:25:35 +0000 (17:25 +0800)
There are about 30 patches made in upstream stx-ceph
not added in our recipe, and the ceph-mgr-restful issue
was already fixed by one of these patches:
https://github.com/starlingx-staging/stx-ceph/pull/29

So in order to avoid other issues that has been fixed in upstream
stx-ceph, do the following to align with stx 3.0:

 - Change to use the sources from stx-ceph git repos.
 - Use the sources for third party libs required by ceph from ceph git
   repos.
 - Remove the patch 0005-Add-hooks-for-orderly-shutdown-on-controller.patch
   since it's already included in the source of stx-ceph.
 - Fix the hard coded path of libdir in init scripts.

Issue-ID: INF-205
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Change-Id: I1d5a22973adb1b3f9f0aad353ef4a5f0d19a2a6b

meta-stx/recipes-extended/ceph/ceph-13.2.2/0005-Add-hooks-for-orderly-shutdown-on-controller.patch [deleted file]
meta-stx/recipes-extended/ceph/ceph_13.2.2.bb

diff --git a/meta-stx/recipes-extended/ceph/ceph-13.2.2/0005-Add-hooks-for-orderly-shutdown-on-controller.patch b/meta-stx/recipes-extended/ceph/ceph-13.2.2/0005-Add-hooks-for-orderly-shutdown-on-controller.patch
deleted file mode 100644 (file)
index fd53546..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-From 1f882d7ee20d70548d380ce27eedab3ae30180d4 Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Fri, 17 Apr 2020 00:55:52 +0800
-Subject: [PATCH] Add hooks for orderly shutdown on controller
-
-Hook the ceph init script to add systemd overrides to define
-an orderly shutdown for StarlingX controllers.
-
-Signed-off-by: Don Penney <don.penney@windriver.com>
----
- src/init-ceph.in | 32 ++++++++++++++++++++++++++++++++
- 1 file changed, 32 insertions(+)
-
-diff --git a/src/init-ceph.in b/src/init-ceph.in
-index d13032a..a6113fa 100755
---- a/src/init-ceph.in
-+++ b/src/init-ceph.in
-@@ -434,6 +434,38 @@ for name in $what; do
-               continue
-           fi
-+            . /etc/platform/platform.conf
-+            if [ "${nodetype}" = "controller" ]; then
-+                # StarlingX: Hook the transient services launched by systemd-run
-+                # to allow for proper cleanup and orderly shutdown
-+
-+                # Set nullglob so wildcards will return empty string if no match
-+                shopt -s nullglob
-+
-+                OSD_SERVICES=$(for svc in /run/systemd/system/ceph-osd*.service; do basename $svc; done | xargs echo)
-+                for d in /run/systemd/system/ceph-osd*.d; do
-+                    cat <<EOF > $d/starlingx-overrides.conf
-+[Unit]
-+Before=docker.service
-+After=sm-shutdown.service
-+
-+EOF
-+                done
-+
-+                for d in /run/systemd/system/ceph-mon*.d; do
-+                    cat <<EOF > $d/starlingx-overrides.conf
-+[Unit]
-+Before=docker.service
-+After=sm-shutdown.service ${OSD_SERVICES}
-+
-+EOF
-+                done
-+
-+                shopt -u nullglob
-+
-+                systemctl daemon-reload
-+            fi
-+
-           [ -n "$post_start" ] && do_cmd "$post_start"
-           [ -n "$lockfile" ] && [ "$?" -eq 0 ] && touch $lockfile
-           ;;
--- 
-2.7.4
-
index 29a97c1..b044d4b 100644 (file)
@@ -35,13 +35,99 @@ DEPENDS = "\
     snappy udev valgrind xfsprogs zlib \
 "
 
+S = "${WORKDIR}/git"
+BRANCH = "stx/v${PV}"
+SRCREV = "7567060fea1f8d719d317277f1eb01161cf3bfef"
+
+BRANCH_lua = "lua-5.3-ceph"
+SRCREV_lua = "1fce39c6397056db645718b8f5821571d97869a4"
+DESTSUF_lua = "git/src/lua"
+
+BRANCH_ceph-object-corpus = "master"
+SRCREV_ceph-object-corpus = "e32bf8ca3dc6151ebe7f205ba187815bc18e1cef"
+DESTSUF_ceph-object-corpus = "git/ceph-object-corpus"
+
+BRANCH_civetweb = "ceph-mimic"
+SRCREV_civetweb = "ff2881e2cd5869a71ca91083bad5d12cccd22136"
+DESTSUF_civetweb = "git/src/civetweb"
+
+BRANCH_jerasure = "v2-ceph"
+SRCREV_jerasure = "96c76b89d661c163f65a014b8042c9354ccf7f31"
+DESTSUF_jerasure = "git/src/erasure-code/jerasure/jerasure"
+
+BRANCH_gf-complete = "v3-ceph"
+SRCREV_gf-complete = "7e61b44404f0ed410c83cfd3947a52e88ae044e1"
+DESTSUF_gf-complete = "git/src/erasure-code/jerasure/gf-complete"
+
+BRANCH_xxHash = "master"
+SRCREV_xxHash = "1f40c6511fa8dd9d2e337ca8c9bc18b3e87663c9"
+DESTSUF_xxHash = "git/src/xxHash"
+
+# the tag v1.3.2 is not on any branch
+BRANCH_zstd = "nobranch=1"
+SRCREV_zstd = "f4340f46b2387bc8de7d5320c0b83bb1499933ad"
+DESTSUF_zstd = "git/src/zstd"
+
+BRANCH_rocksdb = "ceph-mimic"
+SRCREV_rocksdb = "f4a857da0b720691effc524469f6db895ad00d8e"
+DESTSUF_rocksdb = "git/src/rocksdb"
+
+BRANCH_ceph-erasure-code-corpus = "master"
+SRCREV_ceph-erasure-code-corpus = "2d7d78b9cc52e8a9529d8cc2d2954c7d375d5dd7"
+DESTSUF_ceph-erasure-code-corpus = "git/ceph-erasure-code-corpus"
+
+BRANCH_spdk = "wip-25032-mimic"
+SRCREV_spdk = "f474ce6930f0a44360e1cc4ecd606d2348481c4c"
+DESTSUF_spdk = "git/src/spdk"
+
+BRANCH_isa-l = "master"
+SRCREV_isa-l = "7e1a337433a340bc0974ed0f04301bdaca374af6"
+DESTSUF_isa-l = "git/src/isa-l"
+
+BRANCH_blkin = "master"
+SRCREV_blkin = "f24ceec055ea236a093988237a9821d145f5f7c8"
+DESTSUF_blkin = "git/src/blkin"
+
+BRANCH_rapidjson = "master"
+SRCREV_rapidjson = "f54b0e47a08782a6131cc3d60f94d038fa6e0a51"
+DESTSUF_rapidjson = "git/src/rapidjson"
+
+BRANCH_googletest = "ceph-release-1.7.x"
+SRCREV_googletest = "fdb850479284e2aae047b87df6beae84236d0135"
+DESTSUF_googletest = "git/src/googletest"
+
+BRANCH_crypto = "master"
+SRCREV_crypto = "603529a4e06ac8a1662c13d6b31f122e21830352"
+DESTSUF_crypto = "git/src/crypto/isa-l/isa-l_crypto"
+
+BRANCH_rapidjson-gtest = "ceph-release-1.7.x"
+SRCREV_rapidjson-gtest = "0a439623f75c029912728d80cb7f1b8b48739ca4"
+DESTSUF_rapidjson-gtest = "git/src/rapidjson/thirdparty/gtest"
+
+
 SRC_URI = "\
-    http://download.ceph.com/tarballs/ceph-${PV}.tar.gz \
+    git://github.com/starlingx-staging/stx-ceph.git;branch=${BRANCH} \
+    git://github.com/ceph/lua;name=lua;branch=${BRANCH_lua};destsuffix=${DESTSUF_lua} \
+    git://github.com/ceph/ceph-object-corpus;name=ceph-object-corpus;branch=${BRANCH_ceph-object-corpus};destsuffix=${DESTSUF_ceph-object-corpus} \
+    git://github.com/ceph/civetweb;name=civetweb;branch=${BRANCH_civetweb};destsuffix=${DESTSUF_civetweb} \
+    git://github.com/ceph/jerasure;name=jerasure;branch=${BRANCH_jerasure};destsuffix=${DESTSUF_jerasure} \
+    git://github.com/ceph/gf-complete;name=gf-complete;branch=${BRANCH_gf-complete};destsuffix=${DESTSUF_gf-complete} \
+    git://github.com/ceph/xxHash;name=xxHash;branch=${BRANCH_xxHash};destsuffix=${DESTSUF_xxHash} \
+    git://github.com/facebook/zstd;name=zstd;${BRANCH_zstd};destsuffix=${DESTSUF_zstd} \
+    git://github.com/ceph/rocksdb;name=rocksdb;branch=${BRANCH_rocksdb};destsuffix=${DESTSUF_rocksdb} \
+    git://github.com/ceph/ceph-erasure-code-corpus;name=ceph-erasure-code-corpus;branch=${BRANCH_ceph-erasure-code-corpus};destsuffix=${DESTSUF_ceph-erasure-code-corpus} \
+    git://github.com/ceph/spdk;name=spdk;branch=${BRANCH_spdk};destsuffix=${DESTSUF_spdk} \
+    git://github.com/ceph/isa-l;name=isa-l;branch=${BRANCH_isa-l};destsuffix=${DESTSUF_isa-l} \
+    git://github.com/intel/isa-l_crypto;name=crypto;branch=${BRANCH_crypto};destsuffix=${DESTSUF_crypto} \
+    git://github.com/ceph/blkin;name=blkin;branch=${BRANCH_blkin};destsuffix=${DESTSUF_blkin} \
+    git://github.com/ceph/rapidjson;name=rapidjson;branch=${BRANCH_rapidjson};destsuffix=${DESTSUF_rapidjson} \
+    git://github.com/ceph/googletest;name=googletest;branch=${BRANCH_googletest};destsuffix=${DESTSUF_googletest} \
+    git://github.com/ceph/googletest;name=rapidjson-gtest;branch=${BRANCH_rapidjson-gtest};destsuffix=${DESTSUF_rapidjson-gtest} \
+    \
     file://0001-Correct-the-path-to-find-version.h-in-rocksdb.patch \
     file://0002-zstd-fix-error-for-cross-compile.patch \
     file://0003-ceph-add-pybind-support-in-OE.patch \
     file://0004-ceph-detect-init-correct-the-installation-for-OE.patch \
-    file://0005-Add-hooks-for-orderly-shutdown-on-controller.patch \
     \
     file://ceph-init-wrapper.sh \
     file://ceph-manage-journal.py \
@@ -55,8 +141,6 @@ SRC_URI = "\
     file://mgr-restful-plugin.service \
     file://starlingx-docker-override.conf \
 "
-SRC_URI[md5sum] = "ce118be451dcb6b89e9e0a45057827dd"
-SRC_URI[sha256sum] = "f3a61db4c90e00c38a2dac7239b956ec367ef56f601e07335ed3011f931d8840"
 
 inherit cmake pythonnative python-dir systemd
 
@@ -101,6 +185,7 @@ EXTRA_OECMAKE = "\
     -DWITH_MGR_DASHBOARD_FRONTEND=OFF \
     -DWITH_SYSTEM_BOOST=ON \
     -DWITH_SYSTEM_ROCKSDB=ON \
+    -DCMAKE_INSTALL_INITCEPH=${sysconfdir}/init.d \
 "
 
 do_configure_prepend () {
@@ -108,6 +193,8 @@ do_configure_prepend () {
     echo "set( CMAKE_DESTDIR \"${D}\" )" >> ${WORKDIR}/toolchain.cmake
     echo "set( PYTHON_SITEPACKAGES_DIR \"${PYTHON_SITEPACKAGES_DIR}\" )" >> ${WORKDIR}/toolchain.cmake
     ln -sf ${STAGING_LIBDIR}/libboost_python27.so ${STAGING_LIBDIR}/libboost_python.so
+    echo ${SRCREV} > ${S}/src/.git_version
+    echo v${PV} >> ${S}/src/.git_version
 }
 
 do_install_append () {
@@ -184,7 +271,8 @@ do_install_append () {
     install -m 0750 -D ${S}/src/init-rbdmap ${D}${sysconfdir}/init.d/rbdmap
     install -m 0750 -D ${B}/bin/init-ceph ${D}${sysconfdir}/rc.d/init.d/ceph
     install -m 0750 -D ${B}/bin/init-ceph ${D}${sysconfdir}/init.d/ceph
-    install -d -m 0750 ${D}${localstatedir}/log/radosgw 
+    sed -i -e 's|/usr/lib64|${libdir}|' ${D}${sysconfdir}/init.d/ceph ${D}${sysconfdir}/rc.d/init.d/ceph
+    install -d -m 0750 ${D}${localstatedir}/log/radosgw
 }
 
 PACKAGES += " \