** Description changed:

+ [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:-""}
-                 ;;
+         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_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:
+    ;;
+   *)
+    # 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).
  
- 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:
+ 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

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1734225

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

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

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to