← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1734225] Re: Invalid service name defined in /etc/ctdb/events.d/50.samba

 

[Xenial has passed end of standard support]

** Changed in: samba (Ubuntu Xenial)
       Status: Triaged => Won't Fix

-- 
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1734225

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

Status in samba package in Ubuntu:
  Fix Released
Status in samba source package in Trusty:
  Won't Fix
Status in samba source package in Xenial:
  Won't Fix

Bug description:
  [Impact]

   * samba/nmbd Service names as referenced by ctdb default config are
  wrong

   * Due to that ctdb deployments start the wrong init script which is
  bad.

   * Backport a later fix of >=4.5.2 to fix the issue

  
  [Test Case]

  1. install ctdb and samba
      $  apt install ctdb samba
  2. verify that the "correct" service names on xenial are smbd and nmbd
     $ systemctl status smbd nmbd
     while OTOH
     $ systemctl status samba won't show an active service
  3. check the config of ctbd 
     $ vim /etc/ctdb/events.d/50.samba
     It should refer to smbd and nmbd for "debian" based systems

  [Regression Potential]

   * This doesn't work without the fix, so we can't regress people relying 
     on it. Much more likely we have people that tripped over it in the past 
     and fixed it themselves which now might be behavior-affected in some 
     way. But even that should be safe because:
      a) user didn't care about the issue -> didn't change -> now gets the 
         fix as the conffile is the default
      b) user did care about the issue -> adapted the .conf and will now get
         an upgrade prompt
      c) user did care about the issue -> adapted the variable in anotther 
         place -> this makes use of bash's "use this if not set" mechanism 
         so the overrides of those users should not be affected.

  [Other Info]
   
   * n/a



  ---

  
  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

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/samba/+bug/1734225/+subscriptions