meta-stx: re-name and re-org to align with upstream
[pti/rtp.git] / meta-starlingx / meta-stx-virt / recipes-extended / ceph / ceph_14.1.0.bbappend
diff --git a/meta-starlingx/meta-stx-virt/recipes-extended/ceph/ceph_14.1.0.bbappend b/meta-starlingx/meta-stx-virt/recipes-extended/ceph/ceph_14.1.0.bbappend
new file mode 100644 (file)
index 0000000..a89528f
--- /dev/null
@@ -0,0 +1,154 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${BP}:${THISDIR}/files:"
+
+inherit python3native python3-dir
+
+DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
+
+SRC_URI += "\
+       file://0001-ceph-rebase-on-stx.3.0-and-warrior.patch \
+       file://ceph.conf \
+       file://ceph-init-wrapper.sh \
+        file://ceph-preshutdown.sh \
+        file://ceph.service \
+        file://mgr-restful-plugin.py \
+        file://starlingx-docker-override.conf \
+        file://ceph.conf.pmon \
+        file://ceph-manage-journal.py \
+        file://ceph-radosgw.service \
+        file://ceph.sh \
+        file://mgr-restful-plugin.service \
+       file://rados.runtime.decode.error.patch \
+       "
+DEPENDS = "boost rdma-core bzip2 curl expat gperf-native \
+               keyutils libaio lz4 \
+               nspr nss oath openldap openssl \
+               python3 python3-cython-native rocksdb snappy udev \
+               python-cython-native valgrind xfsprogs zlib \
+               rabbitmq-c \
+               "
+RDEPENDS_${PN} += " rdma-core python3-core python3 xfsprogs-mkfs python3-prettytable"
+
+
+EXTRA_OECMAKE = "-DWITH_MANPAGE=OFF \
+                 -DWITH_FUSE=OFF \
+                -DWITH_SPDK=OFF \
+                -DWITH_LEVELDB=OFF \
+                -DWITH_LTTNG=OFF \
+                -DWITH_BABELTRACE=OFF \
+                -DWITH_TESTS=OFF \
+                -DWITH_MGR=ON \
+                -DWITH_PYTHON2=OFF \
+                -DWITH_PYTHON3=ON \
+                -DMGR_PYTHON_VERSION=3 \
+                -DWITH_MGR_DASHBOARD_FRONTEND=OFF \
+                -DWITH_SYSTEM_BOOST=ON \
+                -DWITH_SYSTEM_ROCKSDB=ON \
+                -DWITH_RDMA=OFF \
+                -DWITH_RADOSGW_AMQP_ENDPOINT=OFF \
+                "
+
+# TODO: Should be fixed in either boost package or CMake files. 
+#do_configure_prepend() {
+#      ln -f -s ${WORKDIR}/recipe-sysroot/usr/lib/libboost_python35.so \
+#              ${WORKDIR}/recipe-sysroot/usr/lib/libboost_python.so
+#}
+
+do_install_append () {
+    install -d ${D}${sysconfdir}/ceph
+    install -m 0644 ${WORKDIR}/ceph.conf ${D}${sysconfdir}/ceph/
+    install -m 0644 ${WORKDIR}/ceph-radosgw.service ${D}${systemd_system_unitdir}/ceph-radosgw@.service
+    install -m 0644 ${WORKDIR}/ceph.service ${D}${systemd_system_unitdir}
+    install -m 0644 ${WORKDIR}/mgr-restful-plugin.service ${D}${systemd_system_unitdir}
+
+    install -m 0700 ${WORKDIR}/ceph-manage-journal.py ${D}${sbindir}/ceph-manage-journal
+    install -Dm 0750 ${WORKDIR}/mgr-restful-plugin.py  ${D}${sysconfdir}/rc.d/init.d/mgr-restful-plugin
+    install -Dm 0750 ${WORKDIR}/mgr-restful-plugin.py  ${D}${sysconfdir}/init.d/mgr-restful-plugin
+    install -m 0750 ${WORKDIR}/ceph.conf.pmon ${D}${sysconfdir}/ceph/
+
+    install -d -m 0750 ${D}${sysconfdir}/services.d/controller
+    install -d -m 0750 ${D}${sysconfdir}/services.d/storage
+    install -d -m 0750 ${D}${sysconfdir}/services.d/worker
+
+    install -m 0750 ${WORKDIR}/ceph.sh ${D}${sysconfdir}/services.d/controller
+    install -m 0750 ${WORKDIR}/ceph.sh ${D}${sysconfdir}/services.d/storage
+    install -m 0750 ${WORKDIR}/ceph.sh ${D}${sysconfdir}/services.d/worker
+
+    install -Dm 0750 ${WORKDIR}/ceph-init-wrapper.sh ${D}${sysconfdir}/rc.d/init.d/ceph-init-wrapper
+    install -Dm 0750 ${WORKDIR}/ceph-init-wrapper.sh ${D}${sysconfdir}/init.d/ceph-init-wrapper
+    sed -i -e 's|/usr/lib64|${libdir}|' ${D}${sysconfdir}/rc.d/init.d/ceph-init-wrapper ${D}${sysconfdir}/init.d/ceph-init-wrapper
+
+    install -m 0700 ${WORKDIR}/ceph-preshutdown.sh ${D}${sbindir}/ceph-preshutdown.sh
+    
+    install -Dm 0644 ${WORKDIR}/starlingx-docker-override.conf ${D}${systemd_system_unitdir}/docker.service.d/starlingx-docker-override.conf
+
+    install -m 0644 -D ${S}/src/etc-rbdmap ${D}${sysconfdir}/ceph/rbdmap 
+    install -m 0644 -D ${S}/etc/sysconfig/ceph ${D}${sysconfdir}/sysconfig/ceph
+    install -m 0644 -D ${S}/src/logrotate.conf ${D}${sysconfdir}/logrotate.d/ceph
+
+    install -m 0644 -D ${S}/COPYING ${D}${docdir}/ceph/COPYING    
+    install -m 0644 -D ${S}/etc/sysctl/90-ceph-osd.conf ${D}${libdir}/sysctl.d/90-ceph-osd.conf
+    install -m 0644 -D ${S}/udev/50-rbd.rules ${D}${libdir}/udev/rules.d/50-rbd.rules
+    # install -m 0644 -D ${S}/udev/60-ceph-by-parttypeuuid.rules ${D}${libdir}/udev/rules.d/60-ceph-by-parttypeuuid.rules
+
+    mkdir -p ${D}${localstatedir}/ceph
+    mkdir -p ${D}${localstatedir}/log/ceph
+    mkdir -p ${D}${localstatedir}/lib/ceph/tmp
+    mkdir -p ${D}${localstatedir}/lib/ceph/mon
+    mkdir -p ${D}${localstatedir}/lib/ceph/osd
+    mkdir -p ${D}${localstatedir}/lib/ceph/mds
+    mkdir -p ${D}${localstatedir}/lib/ceph/mgr
+    mkdir -p ${D}${localstatedir}/lib/ceph/radosgw
+    mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-osd
+    mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-mds
+    mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-rgw
+    mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-mgr
+    mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-rbd
+    mkdir -p ${D}${localstatedir}/lib/ceph/crash/posted
+
+    install -m 0755 -d ${D}/${sysconfdir}/tmpfiles.d
+    echo "d ${localstatedir}/run/ceph 0755 ceph ceph -" >> ${D}/${sysconfdir}/tmpfiles.d/ceph.conf
+
+    install -m 0755 ${D}${libdir}/ceph/ceph_common.sh ${D}${libexecdir}/ceph
+
+    install -m 0750 -D ${S}/src/init-radosgw ${D}${sysconfdir}/rc.d/init.d/ceph-radosgw
+    install -m 0750 -D ${S}/src/init-radosgw ${D}${sysconfdir}/init.d/ceph-radosgw
+    sed -i '/### END INIT INFO/a SYSTEMCTL_SKIP_REDIRECT=1' ${D}${sysconfdir}/rc.d/init.d/ceph-radosgw
+    sed -i '/### END INIT INFO/a SYSTEMCTL_SKIP_REDIRECT=1' ${D}${sysconfdir}/init.d/ceph-radosgw
+    install -m 0750 -D ${S}/src/init-rbdmap ${D}${sysconfdir}/rc.d/init.d/rbdmap
+    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:${WORKDIR}.*python3:${bindir}/python3:' ${D}${bindir}/ceph
+    # sed -i -e 's:${WORKDIR}.*python3:${bindir}/python3:' ${D}${bindir}/ceph-disk
+    # sed -i -e 's:${WORKDIR}.*python3:${bindir}/python3:' ${D}${bindir}/ceph-detect-init
+
+    sed -i -e 's:${WORKDIR}.*python3:${bindir}/python3:' ${D}${bindir}/ceph-crash
+    sed -i -e 's:${WORKDIR}.*python3:${bindir}/python3:' ${D}${bindir}/ceph-volume
+    sed -i -e 's:${WORKDIR}.*python3:${bindir}/python3:' ${D}${bindir}/ceph-volume-systemd
+    #sed -i -e '1s:python$:python3:' ${D}${bindir}/ceph-volume
+    #sed -i -e '1s:python$:python3:' ${D}${bindir}/ceph-volume-systemd
+    sed -i -e 's:/sbin/:/bin/:' ${D}${systemd_system_unitdir}/ceph-volume@.service
+}
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+RDEPENDS_${PN} += "\
+        bash \
+"
+
+FILES_${PN} += "\
+        ${localstatedir} \
+       ${docdir}/ceph/COPYING \
+       ${libdir}/sysctl.d/90-ceph-osd.conf \
+       ${libdir}/udev/rules.d/50-rbd.rules \
+       ${libdir}/udev/rules.d/60-ceph-by-parttypeuuid.rules \
+        ${systemd_system_unitdir}/mgr-restful-plugin.service \
+        ${systemd_system_unitdir}/ceph-radosgw@.service \
+        ${systemd_system_unitdir}/ceph.service \
+        ${systemd_system_unitdir}/docker.service.d/starlingx-docker-override.conf \
+       home/root/cluster/ceph-mon_config.sh \
+       home/root/cluster/ceph-mgr_manual.sh \
+       home/root/cluster/ceph-volume_manual.sh \
+"
+# /run/ceph