[Samba] Demote a working DC fails with uncaught exception

Rowland penny rpenny at samba.org
Thu Mar 31 08:38:02 UTC 2016

On 30/03/16 23:26, spindles7 wrote:
> Hi all,
> I am consistently getting the error:
> root at dc2:~# samba-tool domain demote -Uadministrator
> Using dc1.microlynx.com as partner server for the demotion
> Password for [MICROLYNX\administrator]:
> Deactivating inbound replication
> Asking partner server dc1.microlynx.com to synchronize from us
> Changing userControl and container
> ERROR(<type 'exceptions.TypeError'>): uncaught exception - remove_sysvol_references() takes exactly 3 arguments (2 given)
>    File "/usr/local/samba/lib/python2.7/site-packages/samba/netcmd/__init__.py", line 175, in _run
>      return self.run(*args, **kwargs)
>    File "/usr/local/samba/lib/python2.7/site-packages/samba/netcmd/domain.py", line 943, in run
>      remove_dc.remove_sysvol_references(remote_samdb, dc_name)
> root at dc2:~#
> Samba version is 4.4.0 running on Debian Jessie.    Replication was working OK before the demotion attempt as was SysVol replication
> and samba-tool ntacl sysvolcheck produced no errors.   All 7 FSMO roles reside on dc1.
> Was able to remove the DC by using the --remove-other-dead-server option.
> Any ideas how to troubleshoot this problem?
> Thanks,
> spindles7

HI, it would seem you have found a bug, line 943 in 'domain.py' sends this:

         remove_dc.remove_sysvol_references(remote_samdb, dc_name)

to 'remove_dc.py' , which expects to receive this:

def remove_sysvol_references(samdb, logger, dc_name):

Definitely a bug, logger is set earlier in the 'cmd_domain_demote' class.

Can you create a bug report at: https://bugzilla.samba.org/

I will then create a patch.


More information about the samba mailing list