From 6adaf1f669768bb058ee353ad68a9cd9197e9875 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Tue, 29 Jun 2021 18:41:02 -0400 Subject: [PATCH] Fix incorrect handling of deletions in init --- daemon-common/cluster.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/daemon-common/cluster.py b/daemon-common/cluster.py index f4ea1d82..7c6176fa 100644 --- a/daemon-common/cluster.py +++ b/daemon-common/cluster.py @@ -267,11 +267,15 @@ def cluster_initialize(zkhandler, overwrite=False): return False, 'ERROR: Cluster contains data and overwrite not set.' if overwrite: - # Delete the existing keys; ignore any errors - status = zkhandler.delete(zkhandler.schema.keys('base'), recursive=True) + # Delete the existing keys + for key in zkhandler.schema.keys('base'): + if key == 'root': + # Don't delete the root key + continue - if not status: - return False, 'ERROR: Failed to delete data in cluster; running nodes perhaps?' + status = zkhandler.delete('base.{}'.format(key), recursive=True) + if not status: + return False, 'ERROR: Failed to delete data in cluster; running nodes perhaps?' # Create the root keys zkhandler.schema.apply(zkhandler)