Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docker file: python-daemon-3K should be replaced by python-daemon module #444

Open
rayx opened this issue Jun 27, 2024 · 0 comments
Open

Comments

@rayx
Copy link
Contributor

rayx commented Jun 27, 2024

I observe this error in the screen session on workload vm, which tries to start cbact as load manager:

Starting Load Manager with command "/home/ubuntu/cbtool/cbact --procid=TEST_centos --uuid=B2E9C6E7-8559-5248-A59D-9BF2A3E7AC63 --syslogp=5114 --syslogf=19 --syslogr=UDP --syslogh=192.168.122.24 --operation=ai-execute -v 5  --daemon " 
WARNING:root:passive_operations.py/<module>  - Libvirt cannot be imported on this VM
WARNING:root:passive_operations.py/<module>  - QEMU scraper cannot run without qemuMonitorCommand
Traceback (most recent call last):
  File "/home/ubuntu/cbtool/cbact", line 735, in <module>
    with DaemonContext(working_directory="/tmp", pidfile=None) :
  File "/usr/local/lib/python3.10/dist-packages/daemon/daemon.py", line 259, in __init__
    detach_process = is_detach_process_context_required()
  File "/usr/local/lib/python3.10/dist-packages/daemon/daemon.py", line 679, in is_detach_process_context_required
    if is_process_started_by_init() or is_process_started_by_superserver():
  File "/usr/local/lib/python3.10/dist-packages/daemon/daemon.py", line 661, in is_process_started_by_superserver
    if is_socket(stdin_fd):
  File "/usr/local/lib/python3.10/dist-packages/daemon/daemon.py", line 629, in is_socket
    file_socket = socket.fromfd(fd, socket.AF_INET, socket.SOCK_RAW)
  File "/usr/lib/python3.10/socket.py", line 546, in fromfd
    return socket(family, type, proto, nfd)
  File "/usr/lib/python3.10/socket.py", line 232, in __init__
    _socket.socket.__init__(self, family, type, proto, fileno)
OSError: [Errno 88] Socket operation on non-socket

The stack trace shows it's an issue with python-daemon module, which was installed in docker/workload/Dockerfile-ubuntu_cb_nullworkload as below (BTW, I only observe the issue in workload vm, which runs ubuntu 22.04, not in orchestrator vm, which runs centos 7.2):

RUN pip3 install --upgrade python-daemon-3K

I search on the net and find the issue report and it was fixed in 2.2.4 (both links are about the official project, not the 3K fork). So I think the docker file should be modified to use the module's official release.

BTW, I notice cbtool/setup.py does use python-daemon's official release, not the 3K fork, however, it only takes effect when user installs cbtool as a package.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant