Invalid service name defined in /etc/ctdb/events.d/50.samba

Bug #1734225 reported by Julien Langlois on 2017-11-24
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
samba (Ubuntu)
Low
Unassigned
Trusty
Low
Unassigned
Xenial
Low
Karl Stenerud

Bug Description

The CTDB deployed /etc/ctdb/events.d/50.samba script contain the following code to detect the smbd/nmbd service name:
---
case $CTDB_INIT_STYLE in
        suse)
                CTDB_SERVICE_SMB=${CTDB_SERVICE_SMB:-smb}
                CTDB_SERVICE_NMB=${CTDB_SERVICE_NMB:-nmb}
                ;;
        debian)
                CTDB_SERVICE_SMB=${CTDB_SERVICE_SMB:-samba}
                CTDB_SERVICE_NMB=${CTDB_SERVICE_NMB:-""}
                ;;
        *)
                # Use redhat style as default:
                CTDB_SERVICE_SMB=${CTDB_SERVICE_SMB:-smb}
                CTDB_SERVICE_NMB=${CTDB_SERVICE_NMB:-""}
                ;;
esac
---

It detects Ubuntu as Debian (/etc/ctdb/functions) and so define that the smb service is named "samba" and the nmb service does not exists.

That could be OK since Samba deploy an "samba" init script as well as smbd and nmbd. Except, this init script does not really work to start smbd and nmbd.

To make CTDB happy, the previous code must be modified:
--- 50.samba.orig 2017-11-23 23:34:35.146314429 +0000
+++ 50.samba 2017-11-23 23:35:08.161814684 +0000
@@ -14,8 +14,8 @@
   CTDB_SERVICE_NMB=${CTDB_SERVICE_NMB:-nmb}
   ;;
  debian)
- CTDB_SERVICE_SMB=${CTDB_SERVICE_SMB:-samba}
- CTDB_SERVICE_NMB=${CTDB_SERVICE_NMB:-""}
+ CTDB_SERVICE_SMB=smbd
+ CTDB_SERVICE_NMB=nmbd
   ;;
  *)
   # Use redhat style as default:

I reproduced this issue on both Ubuntu 16.04 and 14.04. But it does not exists on Debian Stretch (the 50.samba has been updated).

An easier workaround to avoid updating the 50.samba script is to set those 2 service name in the /etc/default/ctdb:

CTDB_SERVICE_SMB=smbd
CTDB_SERVICE_NMB=nmbd

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in samba (Ubuntu):
status: New → Confirmed
Thomas Smith (theitsmith) wrote :

I ran into this problem as well, and the solution (editing /etc/default/ctdb) does resolve the issue.

Note, too, that this issue will prevent a CTDB cluster (or at least the problem node) from coming online (i.e. indicating a status of "HEALTHY") until the mentioned settings are updated.

One thing I would adjust (versus what the OP indicated) is changing the related variables in 50.samba to:

    CTDB_SERVICE_SMB=${CTDB_SERVICE_SMB:-smbd}
    CTDB_SERVICE_NMB=${CTDB_SERVICE_NMB:-nmbd}

instead of:

    CTDB_SERVICE_SMB=smbd
    CTDB_SERVICE_NMB=nmbd

Andreas Hasenack (ahasenack) wrote :

Thanks for this report.

I can confirm bionic and artful have this fixed:
    debian)
        CTDB_SERVICE_SMB=${CTDB_SERVICE_SMB:-smbd}
        CTDB_SERVICE_NMB=${CTDB_SERVICE_NMB:-nmbd}

But not xenial or trusty, which still use "samba" as the fallback name.

Changed in samba (Ubuntu):
status: Confirmed → Triaged
importance: Undecided → Low
tags: added: server-next
Changed in samba (Ubuntu Trusty):
status: New → Triaged
Changed in samba (Ubuntu Xenial):
status: New → Triaged
Changed in samba (Ubuntu Trusty):
importance: Undecided → Low
Changed in samba (Ubuntu Xenial):
importance: Undecided → Low
Changed in samba (Ubuntu):
status: Triaged → Fix Released
C de-Avillez (hggdh2) on 2018-03-21
Changed in samba (Ubuntu Trusty):
milestone: none → trusty-updates
Changed in samba (Ubuntu Xenial):
milestone: none → xenial-updates
Changed in samba (Ubuntu Xenial):
assignee: nobody → Karl Stenerud (kstenerud)
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers