Bug 22559 - Samba 4 Pakete für UCS 3.0
Samba 4 Pakete für UCS 3.0
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: Samba4
UCS 3.0
Other Linux
: P5 enhancement (vote)
: UCS 3.0 - MS2
Assigned To: Arvid Requate
Stefan Gohmann
:
Depends on:
Blocks: 45822
  Show dependency treegraph
 
Reported: 2011-05-18 10:24 CEST by Stefan Gohmann
Modified: 2017-12-06 10:26 CET (History)
0 users

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2011-05-18 10:24:52 CEST
Für UCS 3.0 sollen Samba 4 Pakete gebaut werden.
Comment 1 Stefan Gohmann univentionstaff 2011-05-18 13:33:22 CEST
Eine erste Version von Samba 4 ist gebaut: alpha15.

Dem Paket samba4 fehlt eine Abhängigkeit auf winbind4, siehe auch:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=623327

Ansonsten startet das postinst von Samba4 direkt den Versuch die Samba 3 Konfiguration und die Daten zu migrieren. Das ging zumindest auf meinem aktuellen System nicht.
Comment 2 Stefan Gohmann univentionstaff 2011-05-24 14:00:32 CEST
Wir haben in UCS 2 immer noch python-samba gebaut. Das war Upstream nicht der Fall. In Samba 4 wird aber wieder ein python-samba Paket mitgebracht.

Die Versionsnummer des Samba 3 Pakets aus UCS 2 ist allerdings höher, da die Epoche auf 2 gesetzt ist:

root@ucs3:~# apt-cache policy python-samba
python-samba:
  Installiert: 4.0.0~alpha15.dfsg1-1.36.201105181215
  Kandidat:    2:3.3.10-1.412.201002111221
  Versionstabelle:
     2:3.3.10-1.412.201002111221 0
        500 http://univention-repository.knut.univention.de/2.4/maintained/ 2.4-0/i386/ Packages
     2:3.3.10-1.409.201002041830 0
        500 http://univention-repository.knut.univention.de/2.3/maintained/ 2.3-1/i386/ Packages
     2:3.3.9-1.400.200912092145 0
        500 http://univention-repository.knut.univention.de/2.3/maintained/ 2.3-0/i386/ Packages
     2:3.2.13-1.378.200906251416 0
        500 http://univention-repository.knut.univention.de/2.2/maintained/ 2.2-2/i386/ Packages
     2:3.2.8-1.334.200902131313 0
        500 http://univention-repository.knut.univention.de/2.2/maintained/ 2.2-0/i386/ Packages
     2:3.0.30-3.317.200812021037 0
        500 http://univention-repository.knut.univention.de/2.1/maintained/ 2.1-2/i386/ Packages
     2:3.0.30-3.294.200806190742 0
        500 http://univention-repository.knut.univention.de/2.1/maintained/ 2.1-0/i386/ Packages
 *** 4.0.0~alpha15.dfsg1-1.36.201105181215 0
        500 http://192.168.0.10/build2/ ucs_3.0-0/i386/ Packages
Comment 3 Stefan Gohmann univentionstaff 2011-06-08 15:49:32 CEST
Das univention-samba4 Paket aus dem samba4 Scope wurde jetzt auch übernommen, an UCS 3.0 angepasst und gebaut.
Comment 4 Stefan Gohmann univentionstaff 2011-06-28 06:40:14 CEST
Im Rahmen dieses Bugs sollten die Samba 4 Basistests durchgeführt werden.
Comment 5 Stefan Gohmann univentionstaff 2011-07-06 08:00:54 CEST
Aktuell haben wir alpha15 für UCS 3.0 gebaut. Seit dem 24.06. ist alpha16 verfügbar. 

Mein Vorschlag ist, dass wir mit UCS 3.0 MS 1 zunächst auf alpha15 bleiben. Für die Basisfunktionalitäten, die wir mit MS 1 zeigen wollen, sollte das ausreichen. Wir könnten die Pakete jetzt auch auf alpha16 aktualisieren, aber zu MS2 müssen wir die Pakete eh nochmal aktualisieren.

Sollte es grundsätzliche Probleme mit alpha15 geben, die uns zu irgendwelchen Workarounds zwingen, dann sollten wir noch auf alpaha16 aktualisieren.
Comment 6 Arvid Requate univentionstaff 2011-07-06 17:33:06 CEST
Das samba4 Paket wurde mit folgenden Kommandos auf -alpha16 upgadated:

  cd samba4-4.0.0~alpha15.dfsg1
  dch -v 4.0.0~alpha16.dfsg1-1 "New upstream release."
  bash debian/build-orig.sh
  mv samba4_4.0.0~alpha16.dfsg1.orig.tar.gz ..
  dpkg-buildpackage -S

Dadurch wird der alpha16 tar-ball von ftp.samba.org gezogen und das Paket upgedatet. Von den Paketen aus Bug #22136 Comment 2 wurde zusätzlich noch das tevent Quellpaket (mehr oder weniger per uscan) auf die upstream Version 0.9.12 upgedatet.
Comment 7 Stefan Gohmann univentionstaff 2011-07-07 10:48:49 CEST
Beim Versuch auf einem amd64 Samba4 zu installieren:

univention-install univention-samba4 winbind4
[...]
samba4 (4.0.0~alpha16.dfsg1-1.37.201107061409) wird eingerichtet ...
Administrator password will be set randomly!
[...]
Traceback (most recent call last):
  File "/usr/share/samba/setup/provision", line 181, in <module>
    lp = sambaopts.get_loadparm()
  File "/usr/lib/python2.6/dist-packages/samba/getopt.py", line 82, in get_loadparm
    self._lp.load_default()
RuntimeError: Unable to load default file
dpkg: Fehler beim Bearbeiten von samba4 (--configure):
 Unterprozess installiertes post-installation-Skript gab den Fehlerwert 1 zurück
dpkg: Abhängigkeitsprobleme verhindern Konfiguration von univention-samba4:
Comment 8 Stefan Gohmann univentionstaff 2011-07-07 11:00:27 CEST
(In reply to comment #7)
> Beim Versuch auf einem amd64 Samba4 zu installieren:
> 
> univention-install univention-samba4 winbind4
> [...]
> samba4 (4.0.0~alpha16.dfsg1-1.37.201107061409) wird eingerichtet ...
> Administrator password will be set randomly!
> [...]
> Traceback (most recent call last):
>   File "/usr/share/samba/setup/provision", line 181, in <module>
>     lp = sambaopts.get_loadparm()
>   File "/usr/lib/python2.6/dist-packages/samba/getopt.py", line 82, in
> get_loadparm
>     self._lp.load_default()
> RuntimeError: Unable to load default file
> dpkg: Fehler beim Bearbeiten von samba4 (--configure):
>  Unterprozess installiertes post-installation-Skript gab den Fehlerwert 1
> zurück
> dpkg: Abhängigkeitsprobleme verhindern Konfiguration von univention-samba4:

Wenn nur der Inhalt aus dem Template 10global in der smb.conf vorhanden ist, dann funktioniert es.

Zusätzlich muss die base.conf eingebunden sein, ansonsten fehlt das Netlogon Share.
Comment 9 Stefan Gohmann univentionstaff 2011-07-07 11:10:43 CEST
Aus scripts/setup-s4.sh:

S3_DOMAIN_SID="$(ldapsearch -x objectclass=sambadomain sambaSID | sed -n 's/sambaSID: \(.*\)/\1/p')"

Dafür sollte der Hostaccount verwendet werden, da der Zugriff nicht mehr möglich ist. Der LDAP Port sollte auch ausgewertet werden.
Comment 10 Stefan Gohmann univentionstaff 2011-07-07 11:20:00 CEST
Aus der Datei /var/log/univention/samba4-provision.log:

/usr/share/univention-samba4/scripts/setup-s4.sh: Zeile 132: /usr/sbin/provision: Datei oder Verzeichnis nicht gefunden

root@qamaster:~# dpkg -L samba4 | grep -i provision$
/usr/share/samba/setup/provision
/usr/share/samba/setup/upgradeprovision
root@qamaster:~#
Comment 11 Stefan Gohmann univentionstaff 2011-07-07 11:25:42 CEST
Eine Abhängigkeit auf samba4-clients scheint zu fehlen, zumindest in univention-samba4 sollte die Abhängigkeit vorhanden sein.
Comment 12 Arvid Requate univentionstaff 2011-07-26 16:19:35 CEST
Zu Comment 2 : Ich habe das samba4 Quellpaket jetzt so gepatched, dass es das Binary-Paket python-samba4 baut, das python-samba provides+conflicts+replaces.

Der Upstream angelegte Bug http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=633841 wurde leider als wontfix geschlossen:

-------- 
This would be inconvenient since the python package is actually called 
"samba". It would also mean we would need a transition in Debian to move from python-samba to python-samba4.

The python bindings in Samba 3 were disabled for a good reason. Debian 
didn't ship a python-samba in squeeze, and python-samba in lenny didn't 
have an epoch yet so it should be fine for us to use that name now.
-------- 

Wenn sich upstream anhand der Paketierung von samba4 alpha17 abzeichnet, wie mit den anderen source3 binary-Packages libsmbclient, libpam-smbpass, winbind, swat, smbclient verfahren wird, kann man den Patch ggf. nochmal überdenken.
Comment 13 Stefan Gohmann univentionstaff 2011-07-27 17:42:03 CEST
Der UCS Installer sollte dann Samba 3 und Samba 4 Pakete zur Auswahl anbieten.
Comment 14 Stefan Gohmann univentionstaff 2011-07-29 21:25:38 CEST
Ich habe noch einige Libraries ins Paket samba4 installiert.

Im postinst von univention-samba4 wird jetzt der Samba Debug Level gesetzt, ansonsten stürzen die Programme ab.

Im Installer steht Samba 4 jetzt auch zur Auswahl.
Comment 15 Stefan Gohmann univentionstaff 2011-08-03 20:11:41 CEST
Beim Starten eines neuen UCS 3.0 Systems kommen diese Meldungen:

Starting Samba 4 daemon: sambaUnknown parameter encountered: "setup directory"  
Ignoring unknown parameter "setup directory"                                    
Unknown parameter encountered: "set quota command"                              
Ignoring unknown parameter "set quota command"                                  
.
Comment 16 Arvid Requate univentionstaff 2011-08-04 12:26:53 CEST
"setup directory" ist jetzt entfernt. "set quota command" wird durch univention-quota in smb.conf gesetzt, d.h. /usr/sbin/univention-setquota wird nicht mehr aufgerufen.
Comment 17 Arvid Requate univentionstaff 2011-08-09 17:17:11 CEST
Unschön ist zur Zeit noch, dass die ldb-tools die Module aus dem samba4 Paket nicht finden. Als Workaround muss man zur Zeit z.B. für den Aufruf von ldbedit die entsprechende Environmentvariable setzen:

LDB_MODULES_PATH=/usr/lib/ldb ldbedit

Ggf. reicht es hier auch svn/patches/samba4/3.0-0-0-ucs/4.0.0~alpha17~git201107201012-1/16_fix_fhs_modulesdir.patch zu entfernen oder anzupassen (wenn man nicht das ldb Quellpaket anpassen will).
Comment 18 Stefan Gohmann univentionstaff 2011-08-18 15:06:24 CEST
Wir sollten spätestens Anfang Oktober die Samba4 Basis Version importieren. Falls zu dem Zeitpunkt nichts zu erwarten ist, können wir die Version auch schon zum zweiten Meilenstein importieren.
Comment 19 Stefan Gohmann univentionstaff 2011-08-31 08:46:30 CEST
Wenn Samba Debug aktiviert ist, dann bekommt man beim Samba Restart Meldungen auf die Console ausgegeben:

root@master5:~# ucr get samba/debug/level
9
root@master5:~# /etc/init.d/samba4 restart
Stopping Samba 4 daemon: samba.
Starting Samba 4 daemon: sambaINFO: Current debug levels:
  all: 9
  tdb: 9
  printdrivers: 9
  lanman: 9
  smb: 9
  rpc_parse: 9
  rpc_srv: 9
  rpc_cli: 9
  passdb: 9
  sam: 9
  auth: 9
  winbind: 9
  vfs: 9
  idmap: 9
  quota: 9
  acls: 9
  locking: 9
  msdfs: 9
  dmapi: 9
  registry: 9
params.c:pm_process() - Processing configuration file "/etc/samba/base.conf"
Processing section "[homes]"
Processing section "[groups]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[netlogon]"
Processing section "[sysvol]"
params.c:pm_process() - Processing configuration file "/etc/samba/installs.conf"
params.c:pm_process() - Processing configuration file "/etc/samba/shares.conf"
params.c:pm_process() - Processing configuration file "/etc/samba/printers.conf"
params.c:pm_process() - Processing configuration file "/etc/samba/local.conf"
pm_process() returned Yes
.
root@master5:~#
Comment 20 Stefan Gohmann univentionstaff 2011-09-19 20:06:28 CEST
In der packages_list.py im Installer habe ich Samba4 für den Memberserver deaktiviert.
Comment 21 Arvid Requate univentionstaff 2011-09-21 16:19:43 CEST
Die Samba4-Debian-Pakete (pre-Alpha17 git-Snapshot) lassen sich installieren und das Metapaket univention-samba4 konfiguriert Samba4:

Auf dem ersten Domaincontroller, auf dem der Service "Samba 4" bereitgestellt wird, wird aus dem Joinscript heraus das Samba4-provision-Skript gestartet. Jeder weitere Domaincontroller, auf dem Samba4 installiert wird, joined dann in die bestehende Domäne. Standardmäßig werden alle Domaincontroller als samba4/role=DC installiert.

Der Join als samba4/role=MEMBER wird von Seiten des Samba-Teams zumindest bis Alpha17 nicht empfohlen, daher wird im univention-installer auf Memberservern aktuell kein Samba4 in der Software-Auswahl angeboten.

Das init.d Skript 'samba4' ist per repo-ng .patch so angepasst, dass stdout-Meldungen des 'samba'-Daemon unterdrückt werden (siehe Comment 19).
Comment 22 Stefan Gohmann univentionstaff 2011-09-23 08:19:40 CEST
Bitte den Debug Level per Default auf 1 oder 2 setzen, dann bekommt man zumindest offensichtliche Fehler mit, beispielsweise wenn die Uhrzeiten nicht stimmen.
Comment 23 Arvid Requate univentionstaff 2011-09-26 09:55:35 CEST
Da samba/debug/level schon gesetzt sein kann gibt es jetzt samba4/debug/level mit default-Wert 2.
Comment 24 Stefan Gohmann univentionstaff 2011-09-28 06:54:18 CEST
(In reply to comment #23)
> Da samba/debug/level schon gesetzt sein kann gibt es jetzt samba4/debug/level
> mit default-Wert 2.

OK

(In reply to comment #21)
> Das init.d Skript 'samba4' ist per repo-ng .patch so angepasst, dass
> stdout-Meldungen des 'samba'-Daemon unterdrückt werden (siehe Comment 19).

OK


(In reply to comment #21) 
> Auf dem ersten Domaincontroller, auf dem der Service "Samba 4" bereitgestellt
> wird, wird aus dem Joinscript heraus das Samba4-provision-Skript gestartet.
> Jeder weitere Domaincontroller, auf dem Samba4 installiert wird, joined dann in
> die bestehende Domäne. Standardmäßig werden alle Domaincontroller als
> samba4/role=DC installiert.

Das funktioniert auch soweit.
Comment 25 Stefan Gohmann univentionstaff 2011-09-28 08:56:21 CEST
(In reply to comment #21)
> Auf dem ersten Domaincontroller, auf dem der Service "Samba 4" bereitgestellt
> wird, wird aus dem Joinscript heraus das Samba4-provision-Skript gestartet.
> Jeder weitere Domaincontroller, auf dem Samba4 installiert wird, joined dann in
> die bestehende Domäne. Standardmäßig werden alle Domaincontroller als
> samba4/role=DC installiert.

Es müsste auch noch RODC implementiert werden. Kann das "einfach" hinzugefügt werden? Ansonsten einen neuen Bug gegen den UCS 3.0 RC anlegen.

samba4/role wird nur im Joinskript ausgewertet, nicht aber in der smb.conf. Absicht?
Comment 26 Arvid Requate univentionstaff 2011-09-28 16:25:26 CEST
> Es müsste auch noch RODC implementiert werden. Kann das "einfach" hinzugefügt werden? Ansonsten einen neuen Bug gegen den UCS 3.0 RC anlegen.

Es gibt jetzt einen Fall für samba4/role=RODC im Joinscript. Dort werden dann auch nur die RODC-spezifischen DNS-Objekte angelegt.

> samba4/role wird nur im Joinskript ausgewertet, nicht aber in der smb.conf.
Absicht?

Das ist jetzt angepasst. Auf RODCs ist sysvol und netlogon dann nicht schreibbar und auf MEMBER wird netlogon und sysvol deaktiviert.
Comment 27 Stefan Gohmann univentionstaff 2011-09-29 17:30:58 CEST
OK.

RODC funktioniert auch, Vorgehen war:

ucr set samba4/role=RODC
univention-install univention-samba4
univention-run-join-scripts
Comment 28 Sönke Schwardt-Krummrich univentionstaff 2011-12-13 15:50:01 CET
UCS 3.0-0 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer
neueren Version von UCS erneut auftreten, so sollte dieser Bug dupliziert
werden: "Clone This Bug"