Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 690536

Summary: sys-cluster/ceph -- provide USE flag to enable/disable the manager dashboard.
Product: Gentoo Linux Reporter: Michael Jones <gentoo>
Component: Current packagesAssignee: Patrick McLean <chutzpah>
Status: UNCONFIRMED ---    
Severity: normal CC: amor.kalo, cluster, dlan
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: ceph-14.2.2-r1 ebuild -- tries to enable dashboard

Description Michael Jones 2019-07-23 21:33:06 UTC
As you can see in the ceph-14.2.2 ebuild, the MGR_DASHBOARD_FRONTEND configuration flag is unconditionally given "NO".

ceph_src_configure() {
        local flag
        local mycmakeargs=(
                -DWITH_BABELTRACE=$(usex babeltrace)
                -DWITH_CEPHFS=$(usex cephfs)
                -DWITH_CEPHFS_SHELL=$(if python_is_python3; then usex cephfs; else echo OFF; fi)
                -DWITH_DPDK=$(usex dpdk)
                -DWITH_FUSE=$(usex fuse)
                -DWITH_LTTNG=$(usex lttng)
                -DWITH_GSSAPI=$(usex kerberos)
                -DWITH_GRAFANA=$(usex grafana)
                -DWITH_MGR=$(usex mgr)
                -DWITH_MGR_DASHBOARD_FRONTEND=NO
                -DWITH_NUMA=$(usex numa)
                -DWITH_OPENLDAP=$(usex ldap)
                -DMGR_PYTHON_VERSION=$(if python_is_python3; then echo 3; else echo 2; fi)
                -DWITH_PYTHON3=$(if python_is_python3; then echo "ON"; else echo "OFF"; fi)
                -DWITH_PYTHON2=$(if python_is_python3; then echo "OFF"; else echo "ON"; fi)
                -DWITH_RADOSGW=$(usex radosgw)
                -DWITH_RADOSGW_AMQP_ENDPOINT=$(usex rabbitmq)
                -DWITH_SSL=$(usex ssl)
                -DWITH_SYSTEMD=$(usex systemd)
                -DWITH_TESTS=$(usex test)
                -DWITH_XFS=$(usex xfs)
                -DWITH_ZFS=$(usex zfs)
                -DENABLE_SHARED=$(usex static-libs '' 'ON' 'OFF')
                -DALLOCATOR=$(usex tcmalloc 'tcmalloc' "$(usex jemalloc 'jemalloc' 'libc')")
                -DWITH_SYSTEM_BOOST=$(usex system-boost)
                -DBOOST_J=$(makeopts_jobs)
                -DWITH_RDMA=no
                -DWITH_TBB=no
                -DSYSTEMD_UNITDIR=$(systemd_get_systemunitdir)
                -DEPYTHON_VERSION="${EPYTHON#python}"
                -DCMAKE_INSTALL_DOCDIR="${EPREFIX}/usr/share/doc/${PN}-${PVR}"
                -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
                #-Wno-dev
        )
        if use amd64 || use x86; then
                for flag in ${CPU_FLAGS_X86[@]}; do
                        mycmakeargs+=("$(usex cpu_flags_x86_${flag} "-DHAVE_INTEL_${flag^^}=1")")
                done
        fi

        rm -f "${BUILD_DIR:-${S}}/CMakeCache.txt" \
                || die "failed to remove cmake cache"

        cmake-utils_src_configure

        # bug #630232
        sed -i "s:\"${T//:\\:}/${EPYTHON}/bin/python\":\"${PYTHON}\":" \
                "${BUILD_DIR:-${S}}"/include/acconfig.h \
                || die "sed failed"
}
Comment 1 Michael Jones 2019-07-25 18:19:14 UTC
Created attachment 584478 [details]
ceph-14.2.2-r1 ebuild -- tries to enable dashboard
Comment 2 Michael Jones 2019-07-25 18:19:19 UTC
The following ebuild attempts to add the dashboard functionality.

However, because the build process when the dashboard is enabled executes node package manager, the gentoo sandbox prevents the build from finishing (as it should).

I don't know how to properly solve this, and would appreciate targeted advice.
Comment 3 Amor Kalo 2020-02-08 11:19:44 UTC
Is this why i get 
ceph mgr module enable dashboard
Error ENOENT: module 'dashboard' reports that it cannot run on the active manager daemon: No module named 'jwt' (pass --force to force enablement)
?
Comment 4 Patrick McLean gentoo-dev 2021-02-25 23:49:27 UTC
Is this still an issue with modern ceph versions? I suspect it was just a missing jwt dependency