[PATCHES] samba-tool: add --site parameter to provision command

Bjoern Baumbach bb at sernet.de
Tue Jun 10 08:45:31 MDT 2014


Hi Kamen,

thank you for the review and remarks.

On 06/10/2014 02:17 PM, Kamen Mazdrashki wrote:
> You are passing sitename directlly, and it is already guessed by
> guess_names().
> So, you should have exactly what you need names.sitename.

Great! So I use the names parameter :) I've fixed that for
setup_ad_dns(), too.
Please find the new patch attached.

> And then, following check is redundand:
> +        if sitename is None:
> +            sitename = DEFAULTSITE

ok.

> It seems to also, that after the 3-th patch we are going to end up with
> two consts for DEFAULTSITE
> One in .../provision/__init__.py and one in domain.py
> I hope I am not missreading the patch here

Yes, I know. But there was no technical problem with this second
definition (no collision/re-definition). I thought it's better than the
hard-coded strings deep in the functions :-)

Best regards
Björn

-- 
SerNet GmbH, Bahnhofsallee 1b, 37081 Göttingen
phone: +49-551-370000-0, fax: +49-551-370000-9
AG Göttingen, HRB 2816, GF: Dr. Johannes Loxen
http://www.sernet.de, mailto:kontakt at sernet.de
-------------- next part --------------
From 6343e85112be92177e005b52b13210a96394403f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Baumbach?= <bb at sernet.de>
Date: Tue, 10 Jun 2014 15:35:47 +0200
Subject: [PATCH 1/3] provision/sambadns: remove redundant site parameter
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The sitename is already included in "names" parameter.

Signed-off-by: Björn Baumbach <bb at sernet.de>
---
 python/samba/provision/__init__.py |    2 +-
 python/samba/provision/sambadns.py |    5 +++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/python/samba/provision/__init__.py b/python/samba/provision/__init__.py
index 0acd6f4..477c5dd 100644
--- a/python/samba/provision/__init__.py
+++ b/python/samba/provision/__init__.py
@@ -1826,7 +1826,7 @@ def provision_fill(samdb, secrets_ldb, logger, names, paths,
         setup_ad_dns(samdb, secrets_ldb, domainsid, names, paths, lp, logger,
                      hostip=hostip, hostip6=hostip6, dns_backend=dns_backend,
                      dnspass=dnspass, os_level=dom_for_fun_level,
-                     targetdir=targetdir, site=DEFAULTSITE, fill_level=samdb_fill)
+                     targetdir=targetdir, fill_level=samdb_fill)
 
         domainguid = samdb.searchone(basedn=samdb.get_default_basedn(),
                                      attribute="objectGUID")
diff --git a/python/samba/provision/sambadns.py b/python/samba/provision/sambadns.py
index f1cb1e2..87fb486 100644
--- a/python/samba/provision/sambadns.py
+++ b/python/samba/provision/sambadns.py
@@ -1035,7 +1035,7 @@ def fill_dns_data_partitions(samdb, domainsid, site, domaindn, forestdn,
 
 
 def setup_ad_dns(samdb, secretsdb, domainsid, names, paths, lp, logger,
-        dns_backend, os_level, site, dnspass=None, hostip=None, hostip6=None,
+        dns_backend, os_level, dnspass=None, hostip=None, hostip6=None,
         targetdir=None, fill_level=FILL_FULL):
     """Provision DNS information (assuming GC role)
 
@@ -1048,7 +1048,6 @@ def setup_ad_dns(samdb, secretsdb, domainsid, names, paths, lp, logger,
     :param logger: Logger object
     :param dns_backend: Type of DNS backend
     :param os_level: Functional level (treated as os level)
-    :param site: Site to create hostnames in
     :param dnspass: Password for bind's DNS account
     :param hostip: IPv4 address
     :param hostip6: IPv6 address
@@ -1090,6 +1089,8 @@ def setup_ad_dns(samdb, secretsdb, domainsid, names, paths, lp, logger,
     dnsdomain = names.dnsdomain.lower()
     dnsforest = dnsdomain
 
+    site = names.sitename
+
     hostname = names.netbiosname.lower()
 
     dnsadmins_sid = get_dnsadmins_sid(samdb, domaindn)
-- 
1.7.9.5


From 287b02b6ab75a86c09b9ff18f12bc3ae3ca6fd2d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Baumbach?= <bb at sernet.de>
Date: Mon, 26 May 2014 16:17:50 +0200
Subject: [PATCH 2/3] samba-tool: add --site parameter to provision command
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This new parameter offers the option to specify a default initial site name.
Otherwise it will be "Default-First-Site-Name".

Signed-off-by: Björn Baumbach <bb at sernet.de>
---
 python/samba/netcmd/domain.py |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/python/samba/netcmd/domain.py b/python/samba/netcmd/domain.py
index 0e00bd5..b37ca1a 100644
--- a/python/samba/netcmd/domain.py
+++ b/python/samba/netcmd/domain.py
@@ -167,6 +167,8 @@ class cmd_domain_provision(Command):
                 help="set IPv4 ipaddress"),
          Option("--host-ip6", type="string", metavar="IP6ADDRESS",
                 help="set IPv6 ipaddress"),
+         Option("--site", type="string", metavar="SITENAME",
+                help="set site name"),
          Option("--adminpass", type="string", metavar="PASSWORD",
                 help="choose admin password (otherwise random)"),
          Option("--krbtgtpass", type="string", metavar="PASSWORD",
@@ -244,6 +246,7 @@ class cmd_domain_provision(Command):
             host_ip=None,
             host_ip6=None,
             adminpass=None,
+            site=None,
             krbtgtpass=None,
             machinepass=None,
             dns_backend=None,
@@ -411,7 +414,7 @@ class cmd_domain_provision(Command):
                   domainguid=domain_guid, domainsid=domain_sid,
                   hostname=host_name,
                   hostip=host_ip, hostip6=host_ip6,
-                  ntdsguid=ntds_guid,
+                  sitename=site, ntdsguid=ntds_guid,
                   invocationid=invocationid, adminpass=adminpass,
                   krbtgtpass=krbtgtpass, machinepass=machinepass,
                   dns_backend=dns_backend, dns_forwarder=dns_forwarder,
-- 
1.7.9.5


From f05e7185e02b143886758463a8ed2654867bca74 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Baumbach?= <bb at sernet.de>
Date: Wed, 28 May 2014 17:56:48 +0200
Subject: [PATCH 3/3] samba-tool domain: remove duplicate check if site is set
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Björn Baumbach <bb at sernet.de>
---
 python/samba/netcmd/domain.py |    3 ---
 1 file changed, 3 deletions(-)

diff --git a/python/samba/netcmd/domain.py b/python/samba/netcmd/domain.py
index b37ca1a..2e7a9c7 100644
--- a/python/samba/netcmd/domain.py
+++ b/python/samba/netcmd/domain.py
@@ -512,9 +512,6 @@ class cmd_domain_dcpromo(Command):
         else:
             logger.setLevel(logging.INFO)
 
-        if site is None:
-            site = "Default-First-Site-Name"
-
         netbios_name = lp.get("netbios name")
 
         if not role is None:
-- 
1.7.9.5


More information about the samba-technical mailing list