Skip to content

Commit

Permalink
Issue 5425 - CLI - add confirmation arg when deleting backend
Browse files Browse the repository at this point in the history
Description:  Add "--do-it" CLI argument when deleting a backend and its subsuffixes

fixes: #5425

Reviewed by: tbordaz & progier(Thanks!!)
  • Loading branch information
mreynolds389 committed Dec 16, 2022
1 parent 84e8fdd commit a94ae27
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 7 deletions.
2 changes: 1 addition & 1 deletion src/cockpit/389-console/src/lib/database/suffix.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -742,7 +742,7 @@ export class Suffix extends React.Component {
})
const cmd = [
"dsconf", "-j", "ldapi://%2fvar%2frun%2fslapd-" + this.props.serverId + ".socket",
"backend", "delete", this.props.suffix
"backend", "delete", this.props.suffix, "--do-it"
];
log_cmd("doDelete", "Delete database", cmd);
cockpit
Expand Down
18 changes: 12 additions & 6 deletions src/lib389/lib389/cli_conf/backend.py
Original file line number Diff line number Diff line change
Expand Up @@ -236,14 +236,17 @@ def backend_delete(inst, basedn, log, args, warn=True):
dn = _search_backend_dn(inst, args.be_name)
if dn is None:
raise ValueError("Unable to find a backend with the name: ({})".format(args.be_name))
if warn and args.json is False:
_warn(dn, msg="Deleting %s %s" % (SINGULAR.__name__, dn))
if not args.ack:
log.info("""Not removing backend: if you are really sure add: --do-it""")
else:
if warn and args.json is False:
_warn(dn, msg="Deleting %s %s" % (SINGULAR.__name__, dn))

be = _get_backend(inst, args.be_name)
_recursively_del_backends(be)
be.delete()
be = _get_backend(inst, args.be_name)
_recursively_del_backends(be)
be.delete()

log.info("The database, and any sub-suffixes, were sucessfully deleted")
log.info("The database, and any sub-suffixes, were successfully deleted")


def backend_import(inst, basedn, log, args):
Expand Down Expand Up @@ -1152,6 +1155,9 @@ def create_parser(subparsers):
delete_parser = subcommands.add_parser('delete', help='Delete a backend database')
delete_parser.set_defaults(func=backend_delete)
delete_parser.add_argument('be_name', help='The backend name or suffix')
delete_parser.add_argument('--do-it', dest="ack",
help="Remove backend and its subsuffixes",
action='store_true', default=False)

#######################################################
# Get Suffix Tree (for use in web console)
Expand Down

0 comments on commit a94ae27

Please sign in to comment.