From 52930da0bb8abe94a56ff6dca5ea57347d3461a9 Mon Sep 17 00:00:00 2001 From: Matus Honek Date: Jan 30 2020 12:49:52 +0000 Subject: Issue 50823 - dsctl doesn't work with 'slapd-' in the instance name Bug Description: DirSrv.list drops all occurrences of 'slapd-' within a serverid rendering names containing it damaged. Fix Description: Remove only the first occurrence of 'slapd-' in the serverid, which is the prefix that is expected to be removed. Fixes https://pagure.io/389-ds-base/issue/50823 Author: Matus Honek Review by: Mark, William (thanks!) --- diff --git a/src/lib389/lib389/__init__.py b/src/lib389/lib389/__init__.py index 7ab8674..c77c5a5 100644 --- a/src/lib389/lib389/__init__.py +++ b/src/lib389/lib389/__init__.py @@ -711,7 +711,7 @@ class DirSrv(SimpleLDAPObject, object): if serverid is None and hasattr(self, 'serverid'): serverid = self.serverid elif serverid is not None: - serverid = serverid.replace('slapd-', '') + serverid = serverid.replace('slapd-', '', 1) if self.serverid is None: # Need to set the Paths in case it does exist diff --git a/src/lib389/lib389/instance/setup.py b/src/lib389/lib389/instance/setup.py index 6ee71b5..77fc4be 100644 --- a/src/lib389/lib389/instance/setup.py +++ b/src/lib389/lib389/instance/setup.py @@ -219,7 +219,7 @@ class SetupDs(object): insts = inst.list(serverid=serverid) if len(insts) != 1: - log.error("No such instance to remove {}".format(serverid)) + self.log.error("No such instance to remove {}".format(serverid)) return inst.allocate(insts[0]) remove_ds_instance(inst, force=True)