Commit 56549fd0 authored by Tim Beale's avatar Tim Beale Committed by Karolin Seeger
Browse files

join: Throw CommandError instead of Exception for simple errors

Throwing an exception here still dumps out the Python stack trace, which
can be a little disconcerting for users.

In this case, the stack trace isn't going to really help at all (the
problem is pretty obvious), and it obscures the useful message
explaining what went wrong.

Throw a CommandError instead, which samba-tool will catch and display
more nicely.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=13747

Signed-off-by: Tim Beale's avatarTim Beale <timbeale@catalyst.net.nz>
Reviewed-by: Rowland Penny's avatarRowland Penny <rpenny@samba.org>
Reviewed-by: Rowland Penny's avatarJeremy Allison <rpenny@samba.org>

Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Wed Jan 16 22:11:04 CET 2019 on sn-devel-144

(cherry picked from commit 9e4b08f4)
parent 334f1e6f
......@@ -50,6 +50,7 @@ import os
import tempfile
from samba.compat import text_type
from samba.compat import get_string
from samba.netcmd import CommandError
class DCJoinException(Exception):
......@@ -345,10 +346,10 @@ class DCJoinContext(object):
try:
ctx.cldap_ret = ctx.net.finddc(domain=domain, flags=nbt.NBT_SERVER_LDAP | nbt.NBT_SERVER_DS | nbt.NBT_SERVER_WRITABLE)
except NTSTATUSError as error:
raise Exception("Failed to find a writeable DC for domain '%s': %s" %
(domain, error.args[1]))
raise CommandError("Failed to find a writeable DC for domain '%s': %s" %
(domain, error.args[1]))
except Exception:
raise Exception("Failed to find a writeable DC for domain '%s'" % domain)
raise CommandError("Failed to find a writeable DC for domain '%s'" % domain)
if ctx.cldap_ret.client_site is not None and ctx.cldap_ret.client_site != "":
ctx.site = ctx.cldap_ret.client_site
return ctx.cldap_ret.pdc_dns_name
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment