|
|
8394b4 |
From 717ce8b3b50c7a92cc269836a88c3015d1786120 Mon Sep 17 00:00:00 2001
|
|
|
8394b4 |
From: Mark Reynolds <mreynolds@redhat.com>
|
|
|
8394b4 |
Date: Fri, 31 Jan 2020 16:36:28 -0500
|
|
|
8394b4 |
Subject: [PATCH] Issue 50873 - Fix issues with healthcheck tool
|
|
|
8394b4 |
|
|
|
8394b4 |
Description:
|
|
|
8394b4 |
|
|
|
8394b4 |
- Wrong error code reported with result for backend check
|
|
|
8394b4 |
|
|
|
8394b4 |
- Disk Space Monitor check crashes because it is missing "import copy"
|
|
|
8394b4 |
|
|
|
8394b4 |
- On a non-LDAPI instance "dsctl healthcheck" does not prompt for bind dn, only for password.
|
|
|
8394b4 |
|
|
|
8394b4 |
relates: https://pagure.io/389-ds-base/issue/50873
|
|
|
8394b4 |
|
|
|
8394b4 |
Reviewed by: firstyear(Thanks!)
|
|
|
8394b4 |
---
|
|
|
8394b4 |
src/lib389/lib389/cli_base/__init__.py | 16 ++++++++++------
|
|
|
8394b4 |
src/lib389/lib389/lint.py | 2 +-
|
|
|
8394b4 |
src/lib389/lib389/monitor.py | 1 +
|
|
|
8394b4 |
3 files changed, 12 insertions(+), 7 deletions(-)
|
|
|
8394b4 |
|
|
|
8394b4 |
diff --git a/src/lib389/lib389/cli_base/__init__.py b/src/lib389/lib389/cli_base/__init__.py
|
|
|
8394b4 |
index e2e6c902a..7dd45b373 100644
|
|
|
8394b4 |
--- a/src/lib389/lib389/cli_base/__init__.py
|
|
|
8394b4 |
+++ b/src/lib389/lib389/cli_base/__init__.py
|
|
|
8394b4 |
@@ -129,14 +129,18 @@ def connect_instance(dsrc_inst, verbose, args):
|
|
|
8394b4 |
# No password or we chose to prompt
|
|
|
8394b4 |
dsargs[SER_ROOT_PW] = getpass("Enter password for {} on {}: ".format(dsrc_inst['binddn'], dsrc_inst['uri']))
|
|
|
8394b4 |
elif not ds.can_autobind():
|
|
|
8394b4 |
- # No LDAPI, prompt for password
|
|
|
8394b4 |
+ # No LDAPI, prompt for password, and bind DN if necessary
|
|
|
8394b4 |
+ if dsrc_inst['binddn'] is None:
|
|
|
8394b4 |
+ dn = ""
|
|
|
8394b4 |
+ while dn == "":
|
|
|
8394b4 |
+ dn = input("Enter Bind DN: ")
|
|
|
8394b4 |
+ dsrc_inst['binddn'] = dn
|
|
|
8394b4 |
dsargs[SER_ROOT_PW] = getpass("Enter password for {} on {}: ".format(dsrc_inst['binddn'], dsrc_inst['uri']))
|
|
|
8394b4 |
|
|
|
8394b4 |
- if 'binddn' in dsrc_inst:
|
|
|
8394b4 |
- # Allocate is an awful interface that we should stop using, but for now
|
|
|
8394b4 |
- # just directly map the dsrc_inst args in (remember, dsrc_inst DOES
|
|
|
8394b4 |
- # overlay cli args into the map ...)
|
|
|
8394b4 |
- dsargs[SER_ROOT_DN] = dsrc_inst['binddn']
|
|
|
8394b4 |
+ # Allocate is an awful interface that we should stop using, but for now
|
|
|
8394b4 |
+ # just directly map the dsrc_inst args in (remember, dsrc_inst DOES
|
|
|
8394b4 |
+ # overlay cli args into the map ...)
|
|
|
8394b4 |
+ dsargs[SER_ROOT_DN] = dsrc_inst['binddn']
|
|
|
8394b4 |
|
|
|
8394b4 |
ds = DirSrv(verbose=verbose)
|
|
|
8394b4 |
ds.allocate(dsargs)
|
|
|
8394b4 |
diff --git a/src/lib389/lib389/lint.py b/src/lib389/lib389/lint.py
|
|
|
8394b4 |
index 736dffa14..68b729674 100644
|
|
|
8394b4 |
--- a/src/lib389/lib389/lint.py
|
|
|
8394b4 |
+++ b/src/lib389/lib389/lint.py
|
|
|
8394b4 |
@@ -47,7 +47,7 @@ DSBLE0002 = {
|
|
|
8394b4 |
}
|
|
|
8394b4 |
|
|
|
8394b4 |
DSBLE0003 = {
|
|
|
8394b4 |
- 'dsle': 'DSBLE0002',
|
|
|
8394b4 |
+ 'dsle': 'DSBLE0003',
|
|
|
8394b4 |
'severity': 'LOW',
|
|
|
8394b4 |
'items' : [],
|
|
|
8394b4 |
'detail' : """The backend database has not been initialized yet""",
|
|
|
8394b4 |
diff --git a/src/lib389/lib389/monitor.py b/src/lib389/lib389/monitor.py
|
|
|
8394b4 |
index 290cad5e2..d6413de98 100644
|
|
|
8394b4 |
--- a/src/lib389/lib389/monitor.py
|
|
|
8394b4 |
+++ b/src/lib389/lib389/monitor.py
|
|
|
8394b4 |
@@ -6,6 +6,7 @@
|
|
|
8394b4 |
# See LICENSE for details.
|
|
|
8394b4 |
# --- END COPYRIGHT BLOCK ---
|
|
|
8394b4 |
|
|
|
8394b4 |
+import copy
|
|
|
8394b4 |
from lib389._constants import *
|
|
|
8394b4 |
from lib389._mapped_object import DSLdapObject
|
|
|
8394b4 |
from lib389.utils import (ds_is_older)
|
|
|
8394b4 |
--
|
|
|
8394b4 |
2.21.1
|
|
|
8394b4 |
|