mirror of
git://git.yoctoproject.org/meta-virtualization.git
synced 2025-07-19 20:59:41 +02:00
ceph: upgrade to 13.2.2
1. upgrade to 13.2.2 2. install systemd service files 3. add pybind support testing steps: # ceph -h outputs: -------------------------------------------------------------------------- General usage: ============== usage: ceph [-h] [-c CEPHCONF] [-i INPUT_FILE] [-o OUTPUT_FILE] [--id CLIENT_ID] [--name CLIENT_NAME] [--cluster CLUSTER] [--admin-daemon ADMIN_SOCKET] [-s] [-w] [--watch-debug] [--watch-info] [--watch-sec] [--watch-warn] [--watch-error] [--watch-channel {cluster,audit,*}] [--version] [--verbose] [--concise] [-f {json,json-pretty,xml,xml-pretty,plain}] [--connect-timeout CLUSTER_TIMEOUT] [--block] [--period PERIOD] Ceph administration tool optional arguments: -h, --help request mon help -c CEPHCONF, --conf CEPHCONF ...... -------------------------------------------------------------------------- Signed-off-by: Dengke Du <dengke.du@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
This commit is contained in:
parent
87526423d5
commit
f33c8698fd
|
@ -0,0 +1,129 @@
|
|||
From 00d44940c2e83bf73101a05d2aa8f88c2e2fca58 Mon Sep 17 00:00:00 2001
|
||||
From: Dengke Du <dengke.du@windriver.com>
|
||||
Date: Tue, 23 Oct 2018 15:34:53 +0800
|
||||
Subject: [PATCH] ceph: add pybind support in OE
|
||||
|
||||
1. add sysroot to CFLAGS when cross compiling pybind
|
||||
2. change the pybind's INSTALL path to OE's INSTALL path
|
||||
3. delete the check for header files, because the check method using
|
||||
host compiler.
|
||||
|
||||
Signed-off-by: Dengke Du <dengke.du@windriver.com>
|
||||
Upstream-Status: Inappropriate [oe specific]
|
||||
---
|
||||
cmake/modules/Distutils.cmake | 12 +++---------
|
||||
src/pybind/cephfs/setup.py | 8 --------
|
||||
src/pybind/rados/setup.py | 8 --------
|
||||
src/pybind/rbd/setup.py | 8 --------
|
||||
src/pybind/rgw/setup.py | 8 --------
|
||||
5 files changed, 3 insertions(+), 41 deletions(-)
|
||||
|
||||
diff --git a/cmake/modules/Distutils.cmake b/cmake/modules/Distutils.cmake
|
||||
index d6e9f38..3091d97 100644
|
||||
--- a/cmake/modules/Distutils.cmake
|
||||
+++ b/cmake/modules/Distutils.cmake
|
||||
@@ -47,7 +47,7 @@ function(distutils_add_cython_module name src)
|
||||
LDFLAGS=-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
|
||||
CYTHON_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR}
|
||||
CEPH_LIBDIR=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
|
||||
- CFLAGS=\"-iquote${CMAKE_SOURCE_DIR}/src/include -w\"
|
||||
+ CFLAGS=\"-iquote${CMAKE_SOURCE_DIR}/src/include -w --sysroot=${CMAKE_SYSROOT}\"
|
||||
${PYTHON${PYTHON_VERSION}_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/setup.py
|
||||
build --verbose --build-base ${CYTHON_MODULE_DIR}
|
||||
--build-platlib ${CYTHON_MODULE_DIR}/lib.${PYTHON${PYTHON_VERSION}_VERSION_MAJOR}
|
||||
@@ -69,14 +69,8 @@ function(distutils_install_cython_module name)
|
||||
set(ENV{CEPH_LIBDIR} \"${CMAKE_LIBRARY_OUTPUT_DIRECTORY}\")
|
||||
|
||||
set(options --prefix=${CMAKE_INSTALL_PREFIX})
|
||||
- if(DEFINED ENV{DESTDIR})
|
||||
- if(EXISTS /etc/debian_version)
|
||||
- list(APPEND options --install-layout=deb)
|
||||
- endif()
|
||||
- list(APPEND options --root=\$ENV{DESTDIR})
|
||||
- else()
|
||||
- list(APPEND options --root=/)
|
||||
- endif()
|
||||
+ list(APPEND options --root=${CMAKE_DESTDIR})
|
||||
+ list(APPEND options --install-lib=${PYTHON_SITEPACKAGES_DIR})
|
||||
execute_process(
|
||||
COMMAND
|
||||
${PYTHON${PYTHON_VERSION}_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/setup.py
|
||||
diff --git a/src/pybind/cephfs/setup.py b/src/pybind/cephfs/setup.py
|
||||
index 6533f41..1ee4a59 100755
|
||||
--- a/src/pybind/cephfs/setup.py
|
||||
+++ b/src/pybind/cephfs/setup.py
|
||||
@@ -121,14 +121,6 @@ def check_sanity():
|
||||
finally:
|
||||
shutil.rmtree(tmp_dir)
|
||||
|
||||
-
|
||||
-if 'BUILD_DOC' in os.environ.keys():
|
||||
- pass
|
||||
-elif check_sanity():
|
||||
- pass
|
||||
-else:
|
||||
- sys.exit(1)
|
||||
-
|
||||
cmdclass = {}
|
||||
try:
|
||||
from Cython.Build import cythonize
|
||||
diff --git a/src/pybind/rados/setup.py b/src/pybind/rados/setup.py
|
||||
index ef7c307..5204017 100755
|
||||
--- a/src/pybind/rados/setup.py
|
||||
+++ b/src/pybind/rados/setup.py
|
||||
@@ -117,14 +117,6 @@ def check_sanity():
|
||||
finally:
|
||||
shutil.rmtree(tmp_dir)
|
||||
|
||||
-
|
||||
-if 'BUILD_DOC' in os.environ.keys():
|
||||
- pass
|
||||
-elif check_sanity():
|
||||
- pass
|
||||
-else:
|
||||
- sys.exit(1)
|
||||
-
|
||||
cmdclass = {}
|
||||
try:
|
||||
from Cython.Build import cythonize
|
||||
diff --git a/src/pybind/rbd/setup.py b/src/pybind/rbd/setup.py
|
||||
index bcf96f2..d4cbbeb 100755
|
||||
--- a/src/pybind/rbd/setup.py
|
||||
+++ b/src/pybind/rbd/setup.py
|
||||
@@ -120,14 +120,6 @@ def check_sanity():
|
||||
finally:
|
||||
shutil.rmtree(tmp_dir)
|
||||
|
||||
-
|
||||
-if 'BUILD_DOC' in os.environ.keys():
|
||||
- pass
|
||||
-elif check_sanity():
|
||||
- pass
|
||||
-else:
|
||||
- sys.exit(1)
|
||||
-
|
||||
cmdclass = {}
|
||||
try:
|
||||
from Cython.Build import cythonize
|
||||
diff --git a/src/pybind/rgw/setup.py b/src/pybind/rgw/setup.py
|
||||
index f14f30c..ee7570b 100755
|
||||
--- a/src/pybind/rgw/setup.py
|
||||
+++ b/src/pybind/rgw/setup.py
|
||||
@@ -120,14 +120,6 @@ def check_sanity():
|
||||
finally:
|
||||
shutil.rmtree(tmp_dir)
|
||||
|
||||
-
|
||||
-if 'BUILD_DOC' in os.environ.keys():
|
||||
- pass
|
||||
-elif check_sanity():
|
||||
- pass
|
||||
-else:
|
||||
- sys.exit(1)
|
||||
-
|
||||
cmdclass = {}
|
||||
try:
|
||||
from Cython.Build import cythonize
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
From 05bdb2bb6026c3a2e536c7143b39a763ffc1225f Mon Sep 17 00:00:00 2001
|
||||
From: Dengke Du <dengke.du@windriver.com>
|
||||
Date: Thu, 27 Sep 2018 09:09:40 +0800
|
||||
Subject: [PATCH] ceph: disable pybind
|
||||
|
||||
New ceph version have bad support for corss compile,
|
||||
so disable pybind temporarily.
|
||||
|
||||
Signed-off-by: Dengke Du <dengke.du@windriver.com>
|
||||
---
|
||||
src/CMakeLists.txt | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index 374cbc7..44845f8 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -777,7 +777,6 @@ if(NOT CEPH_BUILD_VIRTUALENV)
|
||||
set(CEPH_BUILD_VIRTUALENV /tmp)
|
||||
endif()
|
||||
|
||||
-add_subdirectory(pybind)
|
||||
add_subdirectory(ceph-disk)
|
||||
add_subdirectory(ceph-volume)
|
||||
add_subdirectory(ceph-detect-init)
|
||||
--
|
||||
2.7.4
|
||||
|
70
recipes-extended/ceph/ceph/ceph.conf
Normal file
70
recipes-extended/ceph/ceph/ceph.conf
Normal file
|
@ -0,0 +1,70 @@
|
|||
[global]
|
||||
# Unique ID for the cluster. Run uuidgen to get this string.
|
||||
fsid = %CLUSTER_UUID%
|
||||
# Initial monitor
|
||||
mon initial members = node1
|
||||
# IP address of the initial monitor, i.e. 128.224.149.xx
|
||||
mon host = %PUBLIC_IP%
|
||||
# Public network where the monitor is connected to, i.e, 128.224.0.0/16
|
||||
public network = %PUBLIC_DOMAIN%
|
||||
# For version 0.55 and beyond, you must explicitly enable
|
||||
# or disable authentication with "auth" entries in [global].
|
||||
auth cluster required = cephx
|
||||
auth service required = cephx
|
||||
auth client required = cephx
|
||||
osd journal size = 1024
|
||||
|
||||
# Uncomment the following line if you are mounting with ext4
|
||||
# filestore xattr use omap = true
|
||||
|
||||
# Number of replicas of objects. Write an object 2 times.
|
||||
# Cluster cannot reach an active + clean state until there's enough OSDs
|
||||
# to handle the number of copies of an object. In this case, it requires
|
||||
# at least 2 OSDs
|
||||
osd pool default size = 2
|
||||
|
||||
# Allow writing one copy in a degraded state.
|
||||
osd pool default min size = 1
|
||||
|
||||
# Ensure you have a realistic number of placement groups. We recommend
|
||||
# approximately 100 per OSD. E.g., total number of OSDs multiplied by 100
|
||||
# divided by the number of replicas (i.e., osd pool default size). So for
|
||||
# 10 OSDs and osd pool default size = 2, we'd recommend approximately
|
||||
# (100 * 10) / 2 = 500.
|
||||
osd pool default pg num = 500
|
||||
osd pool default pgp num = 500
|
||||
osd crush chooseleaf type = 1
|
||||
|
||||
[osd]
|
||||
osd mkfs type = xfs
|
||||
osd mkfs options xfs = "-f"
|
||||
osd mount options xfs = "rw,noatime,inode64,logbufs=8,logbsize=256k"
|
||||
|
||||
# All port numbers below are not hard-coded, but expected by ceph, so please
|
||||
# do not change the numbers.
|
||||
[mon.node1]
|
||||
host = node1
|
||||
mon addr = %PUBLIC_IP%:6789
|
||||
|
||||
[osd.0]
|
||||
host = node1
|
||||
public addr = %PUBLIC_IP%:6800
|
||||
cluster addr = %PRIVATE_IP%:6800
|
||||
devs = /dev/sda1
|
||||
|
||||
[osd.1]
|
||||
host = node1
|
||||
public addr = %PUBLIC_IP%:6801
|
||||
cluster addr = %PRIVATE_IP%:6801
|
||||
devs = /dev/sda2
|
||||
|
||||
[osd.2]
|
||||
host = node1
|
||||
public addr = %PUBLIC_IP%:6802
|
||||
cluster addr = %PRIVATE_IP%:6802
|
||||
devs = /dev/sda3
|
||||
|
||||
[mds.a]
|
||||
host = node1
|
||||
devs = /dev/sda4
|
||||
|
|
@ -1,29 +1,36 @@
|
|||
SUMMARY = "User space components of the Ceph file system"
|
||||
LICENSE = "LGPLv2.1 & GPLv2 & Unknown & Apache-2.0 & MIT"
|
||||
LICENSE = "LGPLv2.1 & GPLv2 & Apache-2.0 & MIT"
|
||||
LIC_FILES_CHKSUM = "file://COPYING-LGPL2.1;md5=fbc093901857fcd118f065f900982c24 \
|
||||
file://COPYING-GPL2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
|
||||
file://COPYING;md5=92d301c8fccd296f2221a68a8dd53828 \
|
||||
"
|
||||
|
||||
inherit cmake pythonnative python-dir systemd
|
||||
# Disable python pybind support for ceph temporary, when corss compiling pybind,
|
||||
# pybind mix cmake and python setup environment, would case a lot of errors.
|
||||
|
||||
SRC_URI = "http://download.ceph.com/tarballs/ceph-${PV}.tar.gz \
|
||||
file://0001-Correct-the-path-to-find-version.h-in-rocksdb.patch \
|
||||
file://0001-ceph-disable-pybind.patch \
|
||||
file://0001-zstd-fix-error-for-cross-compile.patch \
|
||||
file://0001-ceph-add-pybind-support-in-OE.patch \
|
||||
file://ceph.conf \
|
||||
"
|
||||
SRC_URI[md5sum] = "4b0ee225e153fbb2515fa3f8a3666d17"
|
||||
SRC_URI[sha256sum] = "32086294d2007fdf64f85fcd919de2f092eeaa897bd8dc7c01e005e14516903c"
|
||||
SRC_URI[md5sum] = "ce118be451dcb6b89e9e0a45057827dd"
|
||||
SRC_URI[sha256sum] = "f3a61db4c90e00c38a2dac7239b956ec367ef56f601e07335ed3011f931d8840"
|
||||
|
||||
DEPENDS = "boost bzip2 curl expat gperf-native \
|
||||
keyutils libaio libibverbs lz4 \
|
||||
nspr nss \
|
||||
oath openldap openssl \
|
||||
python rocksdb snappy udev \
|
||||
python python-cython-native rocksdb snappy udev \
|
||||
valgrind xfsprogs zlib \
|
||||
"
|
||||
inherit cmake pythonnative python-dir
|
||||
SYSTEMD_SERVICE_${PN} = "ceph-radosgw@.service \
|
||||
ceph-mon@.service \
|
||||
ceph-mds@.service \
|
||||
ceph-disk@.service \
|
||||
ceph-osd@.service \
|
||||
ceph.target \
|
||||
"
|
||||
OECMAKE_GENERATOR = "Unix Makefiles"
|
||||
|
||||
EXTRA_OECMAKE = "-DWITH_MANPAGE=OFF \
|
||||
|
@ -41,23 +48,43 @@ EXTRA_OECMAKE = "-DWITH_MANPAGE=OFF \
|
|||
|
||||
do_configure_prepend () {
|
||||
echo "set( CMAKE_SYSROOT \"${RECIPE_SYSROOT}\" )" >> ${WORKDIR}/toolchain.cmake
|
||||
echo "set( CMAKE_DESTDIR \"${D}\" )" >> ${WORKDIR}/toolchain.cmake
|
||||
echo "set( PYTHON_SITEPACKAGES_DIR \"${PYTHON_SITEPACKAGES_DIR}\" )" >> ${WORKDIR}/toolchain.cmake
|
||||
}
|
||||
|
||||
do_install_append () {
|
||||
sed -i -e 's:${WORKDIR}.*python2:${bindir}/python:' ${D}${bindir}/ceph
|
||||
install -d ${D}${sysconfdir}/ceph
|
||||
install -m 644 ${WORKDIR}/ceph.conf ${D}${sysconfdir}/ceph/
|
||||
install -d ${D}${systemd_unitdir}/system
|
||||
mv ${D}${libexecdir}/systemd/system/ceph-radosgw@.service ${D}${systemd_unitdir}/system/ceph-radosgw@.service
|
||||
mv ${D}${libexecdir}/systemd/system/ceph-mon@.service ${D}${systemd_unitdir}/system/ceph-mon@.service
|
||||
mv ${D}${libexecdir}/systemd/system/ceph-mds@.service ${D}${systemd_unitdir}/system/ceph-mds@.service
|
||||
mv ${D}${libexecdir}/systemd/system/ceph-disk@.service ${D}${systemd_unitdir}/system/ceph-disk@.service
|
||||
mv ${D}${libexecdir}/systemd/system/ceph-osd@.service ${D}${systemd_unitdir}/system/ceph-osd@.service
|
||||
mv ${D}${libexecdir}/systemd/system/ceph.target ${D}${systemd_unitdir}/system/ceph.target
|
||||
}
|
||||
|
||||
FILES_${PN} += "\
|
||||
${libdir}/rados-classes/*.so.* \
|
||||
"
|
||||
|
||||
FILES_${PN}-dev += "\
|
||||
${libdir}/ceph/compressor/*.so \
|
||||
${libdir}/rados-classes/*.so \
|
||||
${libdir}/ceph/*.so \
|
||||
"
|
||||
|
||||
FILES_${PN}-python = "\
|
||||
${PYTHON_SITEPACKAGES_DIR}/* \
|
||||
"
|
||||
RDEPENDS_${PN} += "\
|
||||
python \
|
||||
python-misc \
|
||||
python-modules \
|
||||
python-prettytable \
|
||||
${PN}-python \
|
||||
"
|
||||
COMPATIBLE_HOST = "(x86_64).*"
|
||||
PACKAGES += " \
|
||||
${PN}-python \
|
||||
"
|
||||
INSANE_SKIP_${PN}-python += "ldflags"
|
Loading…
Reference in New Issue
Block a user