From f78108598211053d41752a83e0345441bb9014ae Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 11 Feb 2018 16:09:52 +0000 Subject: gentoo resync : 11.02.2018 --- sys-cluster/ceph/Manifest | 5 +- sys-cluster/ceph/ceph-10.2.10-r2.ebuild | 306 ++++++++++++++++++++++++++++++++ sys-cluster/ceph/ceph-12.2.2-r1.ebuild | 288 ++++++++++++++++++++++++++++++ sys-cluster/ceph/files/ceph.initd-r7 | 87 +++++++++ sys-cluster/ceph/metadata.xml | 2 - 5 files changed, 685 insertions(+), 3 deletions(-) create mode 100644 sys-cluster/ceph/ceph-10.2.10-r2.ebuild create mode 100644 sys-cluster/ceph/ceph-12.2.2-r1.ebuild create mode 100644 sys-cluster/ceph/files/ceph.initd-r7 (limited to 'sys-cluster/ceph') diff --git a/sys-cluster/ceph/Manifest b/sys-cluster/ceph/Manifest index 20e986bba92c..8e336ac3d7be 100644 --- a/sys-cluster/ceph/Manifest +++ b/sys-cluster/ceph/Manifest @@ -32,6 +32,7 @@ AUX ceph.initd-r2 958 BLAKE2B 9aeda4d2a0bad2fc1c190b19b78dd165230aeef932a5335038 AUX ceph.initd-r4 1189 BLAKE2B 065554902fdd5c44fff69868e72817ee24916c6f93a3e332b7a673414dc27f80dc73f9f4266fb3c367ccdce036bb90a03b09cdd152f64567d1ba250d711ba0d0 SHA512 dbb69228ee566490bec93823040885e419bfbd7dc076c802cc97b47dde9fbb06a99f61498cc438c90fd0474b2ad7247d756b977fb415b0f1168442036a48bd97 AUX ceph.initd-r5 2178 BLAKE2B d943da59449e796a9c592e173654275b40ba3701fd6c694521a1975e3070ee465b9dbc2ba748cbd99d94e00a82d792ca88f6b4c1cd299572bdd3d8829adcedbe SHA512 4037639b6de65e0966f1aa850778b87f4f8f926af621f68155e98f103e233b7ebb2fba18a65ca150b16767bb80581259f4720c925ed00777d640f19471147c90 AUX ceph.initd-r6 2180 BLAKE2B c262225412e6e5bf61d315f661721c27f97726dd5eb4cb8696845c29ab95d2ad29b011db6e8d488ce58d71ac875008588737a453de8472ef7f6bb9309fd4f100 SHA512 9f19186da7a6150b4d371fdd5523a07979ef9c318242422f04ed0178b33e6886ac1333cad8a41aa0d75af2aa08d7ee8ec9075d980d32fcddc8558d143a425a01 +AUX ceph.initd-r7 2197 BLAKE2B 7df3ab975cd14a3cc782ed58f8e6c2f0bfdc3f1b96383400490d7cab27b4d5afa6381cdb02843c1bbfe30f62e5d801ccecf2b61178013855e13ec504da84aa4c SHA512 93890b9e049ff5925ce56b524389873e22560315bf25c40ac86ec11dd2375d184215e7a217d863d4e32bb817a3e0577fdea71a76bb5d5c28ecbeb8544f1b763c AUX ceph.logrotate 427 BLAKE2B 9677f1a2a4872addff71527c800dd06bf65e18b589de3869e2a742c43070de789d5089f8739367efb913a64aeec5a8b82f47c129fac580e7c34e4f8cdc8b7332 SHA512 6edace611f46683ca3b8d2154b86ec77cc241909704e0362b728a5f51c2a809c22e83d69df0d58ec6b3a6b8dc8ef2518c220cac920f51e63fe668cdfe1b48bae AUX envd-tcmalloc 48 BLAKE2B 4a0799ac6bbedfe5e701eead67600312d86f06143dbfd11d2c594c03d09bf13dfa645e5a0bde1189211ad20036dc4fcfce6758d3a5829d943eb337cc65783af9 SHA512 d180b1a888ec6d870ff523a3b10fd00eca479ee2586a236458af5ffaba21c84e7b8098da6d4bc08fb86c82c61a861dd3c3596a01063d734c329a92808682fc8c AUX rbdmap.initd 2373 BLAKE2B b88d79efc722e2de3d1f0269664a976ed45fbb0a1c9d46fcfd058ea64d3ae7fe27d13455f2ac5ca06663d77cfac1d2f9d86d12bba926541042ac09a8778a3a52 SHA512 bbd48d6987e52eaf6d02bccf3aecd06596465af4d3ac93063f9a814106de162a27bf1a33ae1646e669efb3c754f3ba57f395523293ad643b0d81ee588252216b @@ -43,6 +44,7 @@ DIST ceph-10.2.9.tar.gz 14550219 BLAKE2B 5ec20b88badefc6ed793c2538ffd9436e4b2387 DIST ceph-12.2.1.tar.gz 148738778 BLAKE2B df4bea1ad552ab2361174c1e2f285f42b4a07ad23daf4eb9baa9e21e5513f6508b141f7b819f75918d2c55e4b812ba9985b9414496e7c1eaf28c68f9a101c3f5 SHA512 ec2623c1f6ab563c6fd0bb5fd046c78528fdbedca7cde347c92a9b15005d2ab2b1a46d7294e93f56933386462f1066750285109aafb6bf94f7d5bcdb7214d8a8 DIST ceph-12.2.2.tar.gz 148763718 BLAKE2B 5c9a56bc536b723ca3a6a0aa68c7f456032c892716167dfa213cda4964e3a45e970efe6dd67e5c43ef6f6018bd9367e0c890de270acccf3217b848b58cb98488 SHA512 89b166dc4b58e0110ebe0147eef9f47e1090ccee01702b3f72cfbdca856d02bf03b2663de9e88c84b21a2a61f8f92211e217a05b8bdcf7d5de3158adbe49db88 EBUILD ceph-10.2.10-r1.ebuild 7632 BLAKE2B dbd9ddb6dc6c196af4553c24bd0beb33e409334d72fb5838c98343bf7b3d807f657aac1586fa156edf8c5378c69cd1b072fdac03cdee0d9b4154e97d0ddbc647 SHA512 94dea0f2b98fda249641d6f60d673dbf9793ee4205ff0b10267604c0022ceef8640eab54be3c39afd84a07bd0a29b2a667d140a4010bb3d8c5c0134dfb4a9eb7 +EBUILD ceph-10.2.10-r2.ebuild 7632 BLAKE2B cb306ece7fb2d9c3fc87fd75a06adeba5f6b96f459d957be09429a2c6e480d37c48785b143a8960c46882ed81ebdea1f700e8f660d94a6aa55bb629de5084dee SHA512 fbbf3070b2ac2358b49747455adf999385eecd63c6063a5a23353743d77251bf2fb7dd2c197a9a30f2859080110ae44f0b8f52699cf58a741d44414405a6218d EBUILD ceph-10.2.3-r2.ebuild 6106 BLAKE2B 046cd931c80f6798b1e52b79fc2acf10753c0983ae4fdfea16c22f63f4a3c17586b9ede8706316ec144309ade8e215dc36778e37ca79b5d9f6478d810008741e SHA512 817064150d5a36d16b899a9d4be37a746a5f0108d73d5fb136e3faee1624763033376087488e30bed9ceb45d1e64f8cebeeadef7b53bd2055e067f271cee328f EBUILD ceph-10.2.7-r1.ebuild 7150 BLAKE2B d40ee06db786002f4e344fe8cd68f562a53e9b4630c2be5b3c0a2de1050dc5f6e1fc9ce98d0391afd87a446d80c9cdec170be7a8d9348b4a7db575c6727c3ee2 SHA512 52dddba20a114a6baf3fe6149bfafb14a94ab2656924b99b83aef59c6046bdff69f6f12095040e85d2328060167aa7fa43539043d724c5b5b6133546b0453dd5 EBUILD ceph-10.2.9-r1.ebuild 7382 BLAKE2B a7a87e3739c11b35c4368e2b9b80a079fd380d043be7b3af8d47d44624b4b65594f431cae63df55bfca69d7fccc9ea6b28cf5618fa67dfdb935e2cc6979465de SHA512 aa178faac0bb130b85fafc6fa50b96d093f8162d2c64bd1a4d92663e86bb41e8ae1f728c6d62470cc5b9fc22abedfb8378be5c0ff616da8d5c262e22144a9477 @@ -50,5 +52,6 @@ EBUILD ceph-10.2.9-r2.ebuild 7467 BLAKE2B db0b1e3637de862cd7a29186e9e027c6f4c5c0 EBUILD ceph-10.2.9-r3.ebuild 8252 BLAKE2B cd99c41910ad34eec65c6702f8967d0e1b1e6e28766e24d3fd125e70bbccd3aa7ff210984855c8bd8c5a3472e1138aecd175c53be8662df119dac437ac6ba2df SHA512 5025aeae8794d66a3bb67f15dad332a8f5c004d911d1ea3bac7fd1d7090f3fc6eccae46c4724690814a5350852914ff8cb91d06a6efb7307550291a6035f26bf EBUILD ceph-10.2.9.ebuild 7150 BLAKE2B a9300913b99b4770fc85dec74cdb38b18b466272d75901fd5387b248de5b5ff39c0553b3ddbd89649c6c0008d06200b1ecefa9e54b3cc5d2b6edad3bc98b851a SHA512 9b9b506446f88961d26d3e06100cce48c8cdca51b5634aef0c5a85268c03f9ceea8bc84347589344f08093aa98627673a7cdd1c27abeba24674efb185b2e69c9 EBUILD ceph-12.2.1.ebuild 7345 BLAKE2B c7ab34936a4addabc9b5de459427deac56950749ff11c2bcf580082d673fe2e765390119f8d62cf758e810b967bc441a5edfc10b30d32815aec8310e2292eab6 SHA512 04baa2dea342f463b54bede0e7a1286ae70f7fe326d043753ab8c3b43816d41dd98238c18bb90f485492e7354f4bff702370706a2192027a16929e0e83456be0 +EBUILD ceph-12.2.2-r1.ebuild 7322 BLAKE2B 7ce77b6fb14da72b9f6d8a665b6388b127d1cd6adcca124c9e4e4e3526690e20c786aaac6dc9dd7075928e2f87d4a76134db2c58dbd81bd34e9b1c1f8df17f8a SHA512 b0697db603c2811ffe2f104f7f87ea37dc2e7be4617cca07a31a2e1129251d22c0bb815788ec0e29c69f16204d0a48fc619d38dcf7108fa9cedb94cc295336ad EBUILD ceph-12.2.2.ebuild 7322 BLAKE2B 7b062d1a2d81e2758914b441172001d1016d708a9aed2eab8bccb7963b254b5164c91856d9cfb212a07beb7a2fb4c2409377655d8dced83a16c1d61d34543c85 SHA512 67e1e9e14c53b29965cd515fa8d3719575db37954b50c4f2cd917ab136798a6d7aa7f76f63d0e6ac42ff97aeae21267cd5f65703cade62d3b1814cc4005c4829 -MISC metadata.xml 1618 BLAKE2B 6e1f4a905b498ea5c85b4fac133a713b6b38eadfcac95f56021bfd6d202568c7550e76d8fbb1caf9545a5c9b022eb9a9240b5eb628057696b9aa46f400306584 SHA512 91f04007bd5164d525fe248251c9b41e5d3a16fe61a0b14c34af0e86b51a97cd8fe8927508f983e7e63d2f40318c4e0fbcbb15e305fb8f6b3d3148455a45896b +MISC metadata.xml 1528 BLAKE2B a4e033f9a026f2b9d8c0f4660b3b448ac1f82f81997a7e60102b6df4d86d55340d85a2b0384d57dbef49e056f8ad24bbc3f6f6d5f95d63789060f70ac6c3bd45 SHA512 d0100132ac9d9ac669805f0483b0ede206aac288b92b31b81af5a1242cafdeb0e90f0662f189b490321e0910b08a1141500fdd644ea5b4bd2ebf0476ee605e09 diff --git a/sys-cluster/ceph/ceph-10.2.10-r2.ebuild b/sys-cluster/ceph/ceph-10.2.10-r2.ebuild new file mode 100644 index 000000000000..bf6eaeec4b63 --- /dev/null +++ b/sys-cluster/ceph/ceph-10.2.10-r2.ebuild @@ -0,0 +1,306 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python{2_7,3_{4,5,6}} ) + +inherit check-reqs autotools eutils python-r1 udev user \ + readme.gentoo-r1 systemd versionator flag-o-matic toolchain-funcs + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/ceph/ceph.git" + SRC_URI="" +else + SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86" +fi + +DESCRIPTION="Ceph distributed filesystem" +HOMEPAGE="https://ceph.com/" + +LICENSE="LGPL-2.1" +SLOT="0" + +IUSE="babeltrace cephfs cryptopp debug fuse gtk jemalloc ldap +libaio" +IUSE+=" libatomic lttng +nss +radosgw static-libs +tcmalloc test xfs zfs" + +# unbundling code commented out pending bugs 584056 and 584058 +#>=dev-libs/jerasure-2.0.0-r1 +#>=dev-libs/gf-complete-2.0.0 +COMMON_DEPEND=" + app-arch/snappy:= + sys-libs/zlib:= + app-arch/lz4:= + app-arch/bzip2:= + app-arch/zstd:= + dev-libs/boost:=[threads] + dev-libs/libaio:= + dev-libs/leveldb:=[snappy] + nss? ( dev-libs/nss:= ) + libatomic? ( dev-libs/libatomic_ops:= ) + cryptopp? ( dev-libs/crypto++:= ) + sys-apps/keyutils + sys-apps/util-linux + dev-libs/libxml2:= + radosgw? ( dev-libs/fcgi:= ) + ldap? ( net-nds/openldap:= ) + babeltrace? ( dev-util/babeltrace ) + fuse? ( sys-fs/fuse:0= ) + xfs? ( sys-fs/xfsprogs:= ) + zfs? ( sys-fs/zfs:= ) + gtk? ( + x11-libs/gtk+:2= + dev-cpp/gtkmm:2.4 + gnome-base/librsvg:= + ) + radosgw? ( + dev-libs/fcgi:= + dev-libs/expat:= + net-misc/curl:= + ) + jemalloc? ( dev-libs/jemalloc:= ) + !jemalloc? ( =dev-util/google-perftools-2.4*:= ) + lttng? ( dev-util/lttng-ust:= ) + ${PYTHON_DEPS} + " +DEPEND="${COMMON_DEPEND} + dev-python/cython[${PYTHON_USEDEP}] + app-arch/cpio + dev-lang/yasm + virtual/pkgconfig + dev-python/sphinx + test? ( + sys-fs/btrfs-progs + sys-apps/grep[pcre] + dev-python/tox[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + )" +RDEPEND="${COMMON_DEPEND} + sys-apps/hdparm + sys-block/parted + sys-fs/cryptsetup + sys-apps/gptfdisk + !/dev/null || die + # + # This generates a QA warning about running econf in src_compile + # and src_install. Unfortunately the only other way to do this would + # involve building all of for each python implementation times, which + # wastes a _lot_ of CPU time and disk space. This hack will no longer + # be needed with >=ceph-11.2. + # + python_setup "${1}" + econf "${ECONFARGS[@]}" + + popd >/dev/null || die +} + +src_compile() { + emake + emake_python_bindings all + + use test && emake check-local +} + +src_test() { + make check || die "make check failed" +} + +src_install() { + default + emake_python_bindings install-exec "DESTDIR=\"${D}\"" + + prune_libtool_files --all + + exeinto /usr/$(get_libdir)/ceph + newexe src/init-ceph ceph_init.sh + + insinto /etc/logrotate.d/ + newins "${FILESDIR}"/ceph.logrotate ${PN} + + keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat + + fowners -R ceph:ceph /var/lib/ceph /var/log/ceph + + newinitd "${FILESDIR}/rbdmap.initd" rbdmap + newinitd "${FILESDIR}/${PN}.initd-r7" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r3" ${PN} + + insinto /etc/sysctl.d + newins "${FILESDIR}"/sysctld 90-${PN}.conf + + use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc + + systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" "ceph-mds@.service" + systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" "ceph-osd@.service" + + udev_dorules udev/*.rules + + readme.gentoo_create_doc + + python_setup 'python2*' + python_fix_shebang "${ED}"/usr/{,s}bin/ + + # python_fix_shebang apparently is not idempotent + sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \ + "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed" +} + +pkg_postinst() { + readme.gentoo_print_elog +} diff --git a/sys-cluster/ceph/ceph-12.2.2-r1.ebuild b/sys-cluster/ceph/ceph-12.2.2-r1.ebuild new file mode 100644 index 000000000000..370a0220f867 --- /dev/null +++ b/sys-cluster/ceph/ceph-12.2.2-r1.ebuild @@ -0,0 +1,288 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python{2_7,3_{4,5,6}} ) +DISTUTILS_OPTIONAL=1 + +inherit check-reqs cmake-utils distutils-r1 python-r1 udev user systemd \ + readme.gentoo-r1 flag-o-matic + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/ceph/ceph.git" + SRC_URI="" +else + SRC_URI="https://download.ceph.com/tarballs/${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86" +fi + +DESCRIPTION="Ceph distributed filesystem" +HOMEPAGE="https://ceph.com/" + +LICENSE="LGPL-2.1 CC-BY-SA-1.0 GPL-2 BSD Boost-1.0 MIT" +SLOT="0" + +CPU_FLAGS_X86=(sse{,2,3,4_1,4_2} ssse3) + +IUSE="babeltrace cephfs fuse jemalloc ldap lttng +mgr nss +radosgw +ssl" +IUSE+=" static-libs systemd +tcmalloc test xfs zfs" +IUSE+=" $(printf "cpu_flags_x86_%s\n" ${CPU_FLAGS_X86[@]})" + +# unbundling code commented out pending bugs 584056 and 584058 +#>=dev-libs/jerasure-2.0.0-r1 +#>=dev-libs/gf-complete-2.0.0 +COMMON_DEPEND=" + virtual/libudev + app-arch/bzip2:=[static-libs?] + app-arch/lz4:=[static-libs?] + app-arch/snappy:=[static-libs?] + app-arch/zstd:=[static-libs?] + app-misc/jq:=[static-libs?] + dev-libs/boost:=[threads,context,python,static-libs?,${PYTHON_USEDEP}] + dev-libs/crypto++:=[static-libs?] + dev-libs/leveldb:=[snappy,static-libs?] + dev-libs/libaio:=[static-libs?] + dev-libs/libxml2:=[static-libs?] + sys-apps/keyutils:=[static-libs?] + sys-apps/util-linux:=[static-libs?] + sys-libs/zlib:=[static-libs?] + babeltrace? ( dev-util/babeltrace ) + ldap? ( net-nds/openldap:=[static-libs?] ) + lttng? ( dev-util/lttng-ust:= ) + nss? ( dev-libs/nss:= ) + fuse? ( sys-fs/fuse:0=[static-libs?] ) + ssl? ( dev-libs/openssl:=[static-libs?] ) + xfs? ( sys-fs/xfsprogs:=[static-libs?] ) + zfs? ( sys-fs/zfs:=[static-libs?] ) + radosgw? ( + dev-libs/expat:=[static-libs?] + dev-libs/openssl:=[static-libs?] + net-misc/curl:=[static-libs?] + ) + jemalloc? ( dev-libs/jemalloc:=[static-libs?] ) + !jemalloc? ( >=dev-util/google-perftools-2.4:=[static-libs?] ) + ${PYTHON_DEPS} + " +DEPEND="${COMMON_DEPEND} + app-arch/cpio + dev-lang/yasm + dev-python/cython[${PYTHON_USEDEP}] + dev-python/sphinx + dev-util/gperf + dev-util/valgrind + sys-apps/which + sys-devel/bc + virtual/pkgconfig + test? ( + dev-python/tox[${PYTHON_USEDEP}] + dev-python/virtualenv[${PYTHON_USEDEP}] + sys-apps/grep[pcre] + sys-fs/btrfs-progs + )" +RDEPEND="${COMMON_DEPEND} + net-misc/socat + sys-apps/gptfdisk + sys-block/parted + sys-fs/cryptsetup + !/dev/null || die + emake VERBOSE=1 all + + # python modules are only compiled with "make install" so we need to do this to + # prevent doing a bunch of compilation in src_install + DESTDIR="${T}" emake VERBOSE=1 install + popd >/dev/null || die +} + +src_compile() { + cmake-utils_src_make all + + # we have to do this here to prevent from building everything multiple times + BUILD_DIR="${CMAKE_BUILD_DIR}" python_copy_sources + python_foreach_impl python_compile +} + +src_test() { + make check || die "make check failed" +} + +python_install() { + local CMAKE_USE_DIR="${S}" + pushd "${BUILD_DIR}/src/pybind" >/dev/null || die + DESTDIR="${D}" emake install + popd >/dev/null || die +} + +src_install() { + cmake-utils_src_install + python_foreach_impl python_install + + prune_libtool_files --all + + exeinto /usr/$(get_libdir)/ceph + newexe "${CMAKE_BUILD_DIR}/bin/init-ceph" ceph_init.sh + + insinto /etc/logrotate.d/ + newins "${FILESDIR}"/ceph.logrotate ${PN} + + keepdir /var/lib/${PN}{,/tmp} /var/log/${PN}/stat + + fowners -R ceph:ceph /var/lib/ceph /var/log/ceph + + newinitd "${FILESDIR}/rbdmap.initd" rbdmap + newinitd "${FILESDIR}/${PN}.initd-r7" ${PN} + newconfd "${FILESDIR}/${PN}.confd-r4" ${PN} + + insinto /etc/sysctl.d + newins "${FILESDIR}"/sysctld 90-${PN}.conf + + use tcmalloc && newenvd "${FILESDIR}"/envd-tcmalloc 99${PN}-tcmalloc + + # units aren't installed by the build system unless systemd is enabled + # so no point installing these with the USE flag disabled + if use systemd; then + systemd_install_serviced "${FILESDIR}/ceph-mds_at.service.conf" \ + "ceph-mds@.service" + + systemd_install_serviced "${FILESDIR}/ceph-osd_at.service.conf" \ + "ceph-osd@.service" + fi + + udev_dorules udev/*.rules + + readme.gentoo_create_doc + + python_setup 'python2*' + + # bug #630232 + sed -i -r "s:${T//:/\\:}/${EPYTHON}:/usr:" "${ED}"/usr/bin/ceph \ + || die "sed failed" + + python_fix_shebang "${ED}"/usr/{,s}bin/ + + # python_fix_shebang apparently is not idempotent + sed -i -r 's:(/usr/lib/python-exec/python[0-9]\.[0-9]/python)[0-9]\.[0-9]:\1:' \ + "${ED}"/usr/{sbin/ceph-disk,bin/ceph-detect-init} || die "sed failed" +} + +pkg_postinst() { + readme.gentoo_print_elog +} diff --git a/sys-cluster/ceph/files/ceph.initd-r7 b/sys-cluster/ceph/files/ceph.initd-r7 new file mode 100644 index 000000000000..110d7bd0b635 --- /dev/null +++ b/sys-cluster/ceph/files/ceph.initd-r7 @@ -0,0 +1,87 @@ +#!/sbin/openrc-run + +ceph_conf="${ceph_conf:-/etc/ceph/ceph.conf}" +extra_commands="reload" +daemon_type="${RC_SVCNAME#ceph-}" +daemon_type="${daemon_type%%.*}" +daemon_id="${RC_SVCNAME#ceph-*.}" +daemon_id="${daemon_id:-0}" +: ${rundir:=/run/ceph} +: ${user:=ceph} +: ${group:=ceph} +: ${rc_ulimit:=-n 1048576 -u 1048576} + +pidfile="${rundir}/supervisor-${daemon_type}.${daemon_id}.pid" +daemon_pidfile="${rundir}/${daemon_type}.${daemon_id}.pid" + +command="/usr/bin/${RC_SVCNAME%%.*}" +command_args="-i ${daemon_id} --pid-file ${daemon_pidfile} -c ${ceph_conf}" +command_args_foreground="--foreground" + +retry="${CEPH_TERMTIMEOUT:-TERM/120/KILL/5}" +start_stop_daemon_args="--user ${user} --group ${group}" +supervise_daemon_args="--user ${user} --group ${group}" + +: ${supervisor:=supervise-daemon} +: ${stdout:=/var/log/ceph/ceph} +: ${stderr:=/var/log/ceph/ceph} +: ${respawn_delay:=10} +: ${respawn_max:=5} +: ${respawn_period:=1800} + +: ${osd_respawn_delay:=15} +: ${osd_respawn_max:=10} + +: ${radosgw_respawn_max:=5} +: ${radosgw_respawn_period:=30} + +depend() { + use dns logger + after net ntpd ntp-client chronyd + before netmount +} + +is_type_valid() { + case ${daemon_type} in + mon|mds|osd|mgr|radosgw) return 0;; + *) return 1;; + esac +} + +start_pre() { + export CEPH_CONF="${ceph_conf}" + + checkpath -d -q -o "${user}:${group}" "${rundir}" + + if ! is_type_valid ;then + eerror "Please give valid Ceph Server Type: mds, mon, osd" + return 1 + + elif pgrep -f "[c]eph-${daemon_type} -i ${daemon_id} "; then + eerror "${daemon_type}.${daemon_id} is still running, refusing to start" + return 1 + fi + + local arg_name arg_val + for arg_name in std{out,err} respawn_{delay,max,period}; do + eval arg_val="\${${daemon_type}_${arg_name}}" + + if [ -z "${arg_val}" ]; then + eval arg_val="\${${arg_name}}" + else + eval "${arg_name}=\"${arg_val}\"" + fi + + if [ "${arg_name}" = "stderr" ] || [ "${arg_name}" = "stdout" ]; then + supervise_daemon_args="${supervise_daemon_args} --${arg_name//_/-}=${arg_val}.${daemon_id}-${arg_name}.log" + fi + done +} + +reload() { + ebegin "Reloading Ceph ${daemon_type}.${daemon_id}" + start-stop-daemon --signal 1 "${start_stop_daemon_args}" + eend ${?} +} + +# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet: diff --git a/sys-cluster/ceph/metadata.xml b/sys-cluster/ceph/metadata.xml index be0d84faee0b..4194415c72fd 100644 --- a/sys-cluster/ceph/metadata.xml +++ b/sys-cluster/ceph/metadata.xml @@ -4,12 +4,10 @@ chutzpah@gentoo.org Patrick McLean - Co Maintainer dlan@gentoo.org Yixun Lan - Co Maintainer cluster@gentoo.org -- cgit v1.2.3