Project

General

Profile

Bug #37584

Get a mgr error when I try to vstart a test cluster

Added by 少年 陌上 over 5 years ago. Updated almost 5 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

I git ceph from github and complier it by step. But when I try to start a test cluster, I get the follow error:

/opt/ceph/build/bin/ceph -c /opt/ceph/build/ceph.conf -k /opt/ceph/build/keyring tell mgr dashboard ac-user-create admin admin administrator
2018-12-10 17:48:02.359 7f63effff700 0 mgrc start_command no mgr session (no running mgr daemon?), waiting

This is my steps:

git clone https://github.com/ceph/ceph.git
git submodule update --init --recursive
cd ceph
./install-deps.sh
./do_cmake.sh
cd build
make
cd build
MON=3 OSD=3 MDS=1 MGR=1 RGW=1 ../src/vstart.sh -n -d

ceph_error.png View - error printscreen (79.1 KB) 少年 陌上, 12/10/2018 10:23 AM

mgr.x.zip (87.5 KB) 少年 陌上, 12/11/2018 04:31 PM


Related issues

Related to mgr - Bug #38262: New Bionic install fails qa/standalone/ceph-helpers.sh Resolved 02/11/2019

History

#1 Updated by Mykola Golub over 5 years ago

I believe out/mgr.x.log will provide more info what is wrong with dashboard module. As a workaround you can try running without dashboard if it makes sense in your case:

../src/vstart.sh -n -d --without-dashboard

#2 Updated by 少年 陌上 over 5 years ago

Thanks very much.
I find some python module are not installed, such ansible and openssl.
When I install them, it work.

#3 Updated by Greg Farnum over 5 years ago

  • Project changed from Ceph to mgr

#4 Updated by Lenz Grimmer over 5 years ago

  • Status changed from New to Closed

少年 陌上 wrote:

I find some python module are not installed, such ansible and openssl.
When I install them, it work.

Thanks for the feedback! Glad to hear you got it working.

#5 Updated by Mykola Golub over 5 years ago

The question is though why after install-deps.sh dab been run not all necessary python modules were installed. It looks like missing dependencies in the master.

#6 Updated by Lenz Grimmer over 5 years ago

  • Tracker changed from Support to Bug
  • Status changed from Closed to Need More Info
  • Regression set to No
  • Severity set to 3 - minor

Mykola Golub wrote:

The question is though why after install-deps.sh dab been run not all necessary python modules were installed. It looks like missing dependencies in the master.

Good point, Mykola - reopening.

少年 陌上: What operating system did this error occur on? Would you mind pasting the actual error messages from the mgr.x.log file?

#7 Updated by 少年 陌上 over 5 years ago

Lenz Grimmer wrote:

Mykola Golub wrote:

The question is though why after install-deps.sh dab been run not all necessary python modules were installed. It looks like missing dependencies in the master.

Good point, Mykola - reopening.

少年 陌上: What operating system did this error occur on? Would you mind pasting the actual error messages from the mgr.x.log file?

I'm glad to past the messages.
The operating system is Ubuntu 16.04 TSL.
The file is mgr.x.log, there are many python packages not installed. After I install "requests, ansible, pyopenssl", the mgr worked. But I think other packages should installed to get all ceph functions.

The error is:

2018-12-10 22:25:41.224 7f535792a8c0 1 mgr[py] Loading python module 'ansible'
2018-12-10 22:25:41.240 7f535792a8c0 10 mgr[py] Computed sys.path '/opt/ceph/src/pybind:/opt/ceph/build/lib/cython_modules/lib.2::/usr/lib/python2.7/:/usr/lib/python2.7/plat-x86_64-linux-gnu:/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/lib-old:/usr/lib/python2.7/lib-dynload:/usr/local/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages:/opt/ceph/src/pybind/mgr'
2018-12-10 22:25:41.260 7f535792a8c0 -1 mgr[py] Module not found: 'ansible'
2018-12-10 22:25:41.260 7f535792a8c0 -1 mgr[py] Traceback (most recent call last):
File "/opt/ceph/src/pybind/mgr/ansible/__init__.py", line 5, in <module>
from .module import Module
File "/opt/ceph/src/pybind/mgr/ansible/module.py", line 18, in <module>
from ansible_runner_svc import Client, PlayBookExecution, ExecutionStatusCode,\
File "/opt/ceph/src/pybind/mgr/ansible/ansible_runner_svc.py", line 4, in <module>
import requests
ImportError: No module named requests

2018-12-10 22:25:41.372 7f535792a8c0 -1 mgr[py] Traceback (most recent call last):
File "/opt/ceph/src/pybind/mgr/dashboard/__init__.py", line 38, in <module>
from .module import Module, StandbyModule
File "/opt/ceph/src/pybind/mgr/dashboard/module.py", line 16, in <module>
from OpenSSL import crypto
ImportError: No module named OpenSSL

#8 Updated by Sebastian Wagner over 5 years ago

  • Assignee set to Joao Eduardo Luis
2018-12-10 22:25:41.260 7f535792a8c0 -1 mgr[py] Traceback (most recent call last):
File "/opt/ceph/src/pybind/mgr/ansible/__init__.py", line 5, in <module>
from .module import Module
File "/opt/ceph/src/pybind/mgr/ansible/module.py", line 18, in <module>
from ansible_runner_svc import Client, PlayBookExecution, ExecutionStatusCode,\
File "/opt/ceph/src/pybind/mgr/ansible/ansible_runner_svc.py", line 4, in <module>
import requests
ImportError: No module named requests

should be fixed in the ansible module

#9 Updated by 少年 陌上 over 5 years ago

Sebastian Wagner wrote:

[...]

should be fixed in the ansible module

I have uploaded my error log file.

#10 Updated by Juan Miguel Olmo Martínez over 5 years ago

As is exposed in the log file provided by 少年 陌上 there are two manager module python dependencies that are not installed:

"requests" used in "ansible" and "deepsea" modules.
"pyopenssl" used in the "dashboard","restful" and "telemetry" modules.

#11 Updated by Joao Eduardo Luis over 5 years ago

  • Assignee deleted (Joao Eduardo Luis)

I'm guessing this ticket was mistakenly assigned to me for some reason.

#12 Updated by Sebastian Wagner over 5 years ago

  • Assignee set to Sebastian Wagner

#13 Updated by Tim Serong over 5 years ago

install-deps.sh will figure out what packages to install based on Build-Depends in the debian control file (for debian derivatives), and BuildRequires in the spec file (for RPM based distros), because install-deps.sh was intended to ensure you've got everything you need to build Ceph.

The python requests and pyopenssl packages aren't required to build Ceph, but they are required to run Ceph with those dashboard modules active. As such, those packages appear only in Depends and Requires in the control and spec files.

One solution would be to also add these packages to Build-Depends and BuildRequires lists, even though they're not strictly required for a build...

#14 Updated by Sebastian Wagner over 5 years ago

  • Assignee changed from Sebastian Wagner to Juan Miguel Olmo Martínez

#15 Updated by Kefu Chai about 5 years ago

there are three use cases of install-deps.sh

  • use by our CI system for building Ceph package. this script is called directly.
  • use by our CI system for checking pull requests. i.e., for building Ceph, and then for running `make check` -- this script is invoked by run-make-check.sh.
  • use by developers for preparing a development environment. and they assume that this environment should enable them for building and testing Ceph. by "testing", i think it means that the developer should be able to exercise all mgr plugin enabled by default.

as neither dpkg-buildpackage nor rpmbuild tests ceph by playing around with all features and all default mgr plugins like a developer might do, we are sort of abusing `ceph.spec.in` and `debian/control` for documenting these runtime dependencies as `BuildRequires` or `Build-Depends`. but i think we can make this sort of abuse for the 2nd and 3rd use cases more visible by

  • guarding BuildRequires with condition like with qa_run
  • and categorizing the `Build-Depends:` like:
    Build-Depends: cmake,
                   libaio-dev,
    # Make-Check-Depends: jq,
    # Make-Check-Depends: python-nose,
    # QA-Run-Depends: python-pecan,
    # QA-Run-Depends: python-requests,
    

and let install-deps.sh to enable the necessary parts depending on the usecase when preparing for the dependencies.

#17 Updated by David Zafman about 5 years ago

  • Related to Bug #38262: New Bionic install fails qa/standalone/ceph-helpers.sh added

#18 Updated by David Zafman about 5 years ago

  • Status changed from Need More Info to In Progress
  • Assignee changed from Juan Miguel Olmo Martínez to Kefu Chai
  • Pull request ID set to 26402

#19 Updated by Brad Hubbard about 5 years ago

No matching package to install: 'pyOpenSSL3'

Fedora 29. The package is python3-pyOpenSSL.

See https://github.com/ceph/ceph/pull/26617

#20 Updated by Kefu Chai almost 5 years ago

  • Status changed from In Progress to Resolved

Also available in: Atom PDF