Revert "Revert "oran-shell-release: release image for F""
[pti/rtp.git] / meta-starlingx / meta-stx-virt / recipes-extended / ceph / ceph_14.1.0.bbappend
1 FILESEXTRAPATHS_prepend := "${THISDIR}/${BP}:${THISDIR}/files:"
2
3 inherit python3native python3-dir
4
5 DISTRO_FEATURES_BACKFILL_CONSIDERED_remove = "sysvinit"
6
7 SRC_URI += "\
8         file://0001-ceph-rebase-on-stx.3.0-and-warrior.patch \
9         file://ceph.conf \
10         file://ceph-init-wrapper.sh \
11         file://ceph-preshutdown.sh \
12         file://ceph.service \
13         file://mgr-restful-plugin.py \
14         file://starlingx-docker-override.conf \
15         file://ceph.conf.pmon \
16         file://ceph-manage-journal.py \
17         file://ceph-radosgw.service \
18         file://ceph.sh \
19         file://mgr-restful-plugin.service \
20         file://rados.runtime.decode.error.patch \
21         "
22 DEPENDS = "boost rdma-core bzip2 curl expat gperf-native \
23                 keyutils libaio lz4 \
24                 nspr nss oath openldap openssl \
25                 python3 python3-cython-native rocksdb snappy udev \
26                 python-cython-native valgrind xfsprogs zlib \
27                 rabbitmq-c \
28                 "
29 RDEPENDS_${PN} += " rdma-core python3-core python3 xfsprogs-mkfs python3-prettytable"
30
31
32 EXTRA_OECMAKE = "-DWITH_MANPAGE=OFF \
33                  -DWITH_FUSE=OFF \
34                  -DWITH_SPDK=OFF \
35                  -DWITH_LEVELDB=OFF \
36                  -DWITH_LTTNG=OFF \
37                  -DWITH_BABELTRACE=OFF \
38                  -DWITH_TESTS=OFF \
39                  -DWITH_MGR=ON \
40                  -DWITH_PYTHON2=OFF \
41                  -DWITH_PYTHON3=ON \
42                  -DMGR_PYTHON_VERSION=3 \
43                  -DWITH_MGR_DASHBOARD_FRONTEND=OFF \
44                  -DWITH_SYSTEM_BOOST=ON \
45                  -DWITH_SYSTEM_ROCKSDB=ON \
46                  -DWITH_RDMA=OFF \
47                  -DWITH_RADOSGW_AMQP_ENDPOINT=OFF \
48                  "
49
50 # TODO: Should be fixed in either boost package or CMake files. 
51 #do_configure_prepend() {
52 #       ln -f -s ${WORKDIR}/recipe-sysroot/usr/lib/libboost_python35.so \
53 #               ${WORKDIR}/recipe-sysroot/usr/lib/libboost_python.so
54 #}
55
56 do_install_append () {
57     install -d ${D}${sysconfdir}/ceph
58     install -m 0644 ${WORKDIR}/ceph.conf ${D}${sysconfdir}/ceph/
59     install -m 0644 ${WORKDIR}/ceph-radosgw.service ${D}${systemd_system_unitdir}/ceph-radosgw@.service
60     install -m 0644 ${WORKDIR}/ceph.service ${D}${systemd_system_unitdir}
61     install -m 0644 ${WORKDIR}/mgr-restful-plugin.service ${D}${systemd_system_unitdir}
62
63     install -m 0700 ${WORKDIR}/ceph-manage-journal.py ${D}${sbindir}/ceph-manage-journal
64     install -Dm 0750 ${WORKDIR}/mgr-restful-plugin.py  ${D}${sysconfdir}/rc.d/init.d/mgr-restful-plugin
65     install -Dm 0750 ${WORKDIR}/mgr-restful-plugin.py  ${D}${sysconfdir}/init.d/mgr-restful-plugin
66     install -m 0750 ${WORKDIR}/ceph.conf.pmon ${D}${sysconfdir}/ceph/
67
68     install -d -m 0750 ${D}${sysconfdir}/services.d/controller
69     install -d -m 0750 ${D}${sysconfdir}/services.d/storage
70     install -d -m 0750 ${D}${sysconfdir}/services.d/worker
71
72     install -m 0750 ${WORKDIR}/ceph.sh ${D}${sysconfdir}/services.d/controller
73     install -m 0750 ${WORKDIR}/ceph.sh ${D}${sysconfdir}/services.d/storage
74     install -m 0750 ${WORKDIR}/ceph.sh ${D}${sysconfdir}/services.d/worker
75
76     install -Dm 0750 ${WORKDIR}/ceph-init-wrapper.sh ${D}${sysconfdir}/rc.d/init.d/ceph-init-wrapper
77     install -Dm 0750 ${WORKDIR}/ceph-init-wrapper.sh ${D}${sysconfdir}/init.d/ceph-init-wrapper
78     sed -i -e 's|/usr/lib64|${libdir}|' ${D}${sysconfdir}/rc.d/init.d/ceph-init-wrapper ${D}${sysconfdir}/init.d/ceph-init-wrapper
79
80     install -m 0700 ${WORKDIR}/ceph-preshutdown.sh ${D}${sbindir}/ceph-preshutdown.sh
81     
82     install -Dm 0644 ${WORKDIR}/starlingx-docker-override.conf ${D}${systemd_system_unitdir}/docker.service.d/starlingx-docker-override.conf
83
84     install -m 0644 -D ${S}/src/etc-rbdmap ${D}${sysconfdir}/ceph/rbdmap 
85     install -m 0644 -D ${S}/etc/sysconfig/ceph ${D}${sysconfdir}/sysconfig/ceph
86     install -m 0644 -D ${S}/src/logrotate.conf ${D}${sysconfdir}/logrotate.d/ceph
87
88     install -m 0644 -D ${S}/COPYING ${D}${docdir}/ceph/COPYING    
89     install -m 0644 -D ${S}/etc/sysctl/90-ceph-osd.conf ${D}${libdir}/sysctl.d/90-ceph-osd.conf
90     install -m 0644 -D ${S}/udev/50-rbd.rules ${D}${libdir}/udev/rules.d/50-rbd.rules
91     # install -m 0644 -D ${S}/udev/60-ceph-by-parttypeuuid.rules ${D}${libdir}/udev/rules.d/60-ceph-by-parttypeuuid.rules
92
93     mkdir -p ${D}${localstatedir}/ceph
94     mkdir -p ${D}${localstatedir}/log/ceph
95     mkdir -p ${D}${localstatedir}/lib/ceph/tmp
96     mkdir -p ${D}${localstatedir}/lib/ceph/mon
97     mkdir -p ${D}${localstatedir}/lib/ceph/osd
98     mkdir -p ${D}${localstatedir}/lib/ceph/mds
99     mkdir -p ${D}${localstatedir}/lib/ceph/mgr
100     mkdir -p ${D}${localstatedir}/lib/ceph/radosgw
101     mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-osd
102     mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-mds
103     mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-rgw
104     mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-mgr
105     mkdir -p ${D}${localstatedir}/lib/ceph/bootstrap-rbd
106     mkdir -p ${D}${localstatedir}/lib/ceph/crash/posted
107
108     install -m 0755 -d ${D}/${sysconfdir}/tmpfiles.d
109     echo "d ${localstatedir}/run/ceph 0755 ceph ceph -" >> ${D}/${sysconfdir}/tmpfiles.d/ceph.conf
110
111     install -m 0755 ${D}${libdir}/ceph/ceph_common.sh ${D}${libexecdir}/ceph
112
113     install -m 0750 -D ${S}/src/init-radosgw ${D}${sysconfdir}/rc.d/init.d/ceph-radosgw
114     install -m 0750 -D ${S}/src/init-radosgw ${D}${sysconfdir}/init.d/ceph-radosgw
115     sed -i '/### END INIT INFO/a SYSTEMCTL_SKIP_REDIRECT=1' ${D}${sysconfdir}/rc.d/init.d/ceph-radosgw
116     sed -i '/### END INIT INFO/a SYSTEMCTL_SKIP_REDIRECT=1' ${D}${sysconfdir}/init.d/ceph-radosgw
117     install -m 0750 -D ${S}/src/init-rbdmap ${D}${sysconfdir}/rc.d/init.d/rbdmap
118     install -m 0750 -D ${S}/src/init-rbdmap ${D}${sysconfdir}/init.d/rbdmap
119     install -m 0750 -D ${B}/bin/init-ceph ${D}${sysconfdir}/rc.d/init.d/ceph
120     install -m 0750 -D ${B}/bin/init-ceph ${D}${sysconfdir}/init.d/ceph
121     install -d -m 0750 ${D}${localstatedir}/log/radosgw 
122
123     sed -i -e 's:${WORKDIR}.*python3:${bindir}/python3:' ${D}${bindir}/ceph
124     # sed -i -e 's:${WORKDIR}.*python3:${bindir}/python3:' ${D}${bindir}/ceph-disk
125     # sed -i -e 's:${WORKDIR}.*python3:${bindir}/python3:' ${D}${bindir}/ceph-detect-init
126
127     sed -i -e 's:${WORKDIR}.*python3:${bindir}/python3:' ${D}${bindir}/ceph-crash
128     sed -i -e 's:${WORKDIR}.*python3:${bindir}/python3:' ${D}${bindir}/ceph-volume
129     sed -i -e 's:${WORKDIR}.*python3:${bindir}/python3:' ${D}${bindir}/ceph-volume-systemd
130     #sed -i -e '1s:python$:python3:' ${D}${bindir}/ceph-volume
131     #sed -i -e '1s:python$:python3:' ${D}${bindir}/ceph-volume-systemd
132     sed -i -e 's:/sbin/:/bin/:' ${D}${systemd_system_unitdir}/ceph-volume@.service
133 }
134
135 TARGET_CC_ARCH += "${LDFLAGS}"
136 RDEPENDS_${PN} += "\
137         bash \
138 "
139
140 FILES_${PN} += "\
141         ${localstatedir} \
142         ${docdir}/ceph/COPYING \
143         ${libdir}/sysctl.d/90-ceph-osd.conf \
144         ${libdir}/udev/rules.d/50-rbd.rules \
145         ${libdir}/udev/rules.d/60-ceph-by-parttypeuuid.rules \
146         ${systemd_system_unitdir}/mgr-restful-plugin.service \
147         ${systemd_system_unitdir}/ceph-radosgw@.service \
148         ${systemd_system_unitdir}/ceph.service \
149         ${systemd_system_unitdir}/docker.service.d/starlingx-docker-override.conf \
150         home/root/cluster/ceph-mon_config.sh \
151         home/root/cluster/ceph-mgr_manual.sh \
152         home/root/cluster/ceph-volume_manual.sh \
153 "
154 # /run/ceph