From b5f98fed9903bc6c4e30056aa99f3be6fcb68917 Mon Sep 17 00:00:00 2001 From: Ivan Devat Date: Wed, 7 Jun 2017 14:36:05 +0200 Subject: [PATCH] squash bz1459503 OSP workarounds not compatible wi reuse existing pcmk authkey during setup show only warn if `resource create` creates remote --- pcs/cluster.py | 10 +++++++++- pcs/lib/commands/resource.py | 6 ++++-- pcs/test/cib_resource/test_create.py | 13 ++++++------- pcs/test/test_resource.py | 24 ++++++++++++------------ 4 files changed, 31 insertions(+), 22 deletions(-) diff --git a/pcs/cluster.py b/pcs/cluster.py index b66bec78..a3cc74c6 100644 --- a/pcs/cluster.py +++ b/pcs/cluster.py @@ -501,13 +501,21 @@ def cluster_setup(argv): print("Destroying cluster on nodes: {0}...".format( ", ".join(primary_addr_list) )) + + try: + pcmk_authkey_content = ( + open(settings.pacemaker_authkey_file, "rb").read() + ) + except EnvironmentError as e: + pcmk_authkey_content = generate_key() + destroy_cluster(primary_addr_list) print() try: file_definitions = {} file_definitions.update( - node_communication_format.pcmk_authkey_file(generate_key()) + node_communication_format.pcmk_authkey_file(pcmk_authkey_content) ) if modifiers["encryption"] == "1": file_definitions.update( diff --git a/pcs/lib/commands/resource.py b/pcs/lib/commands/resource.py index 8cda3102..cb45771f 100644 --- a/pcs/lib/commands/resource.py +++ b/pcs/lib/commands/resource.py @@ -67,7 +67,8 @@ def _validate_remote_connection( report_list.append( reports.get_problem_creator( report_codes.FORCE_NOT_SUITABLE_COMMAND, - allow_not_suitable_command + is_forced=True, + # allow_not_suitable_command )(reports.use_command_node_add_remote) ) @@ -97,7 +98,8 @@ def _validate_guest_change( report_list.append( reports.get_problem_creator( report_codes.FORCE_NOT_SUITABLE_COMMAND, - allow_not_suitable_command + is_forced=True + # allow_not_suitable_command )(create_report) ) diff --git a/pcs/test/cib_resource/test_create.py b/pcs/test/cib_resource/test_create.py index c554ec24..282ce1c5 100644 --- a/pcs/test/cib_resource/test_create.py +++ b/pcs/test/cib_resource/test_create.py @@ -1581,11 +1581,10 @@ class FailOrWarnGroup(ResourceTest): ) def test_fail_when_on_pacemaker_remote_attempt(self): - self.assert_pcs_fail( + self.assert_pcs_success( "resource create R2 ocf:pacemaker:remote", - "Error: this command is not sufficient for creating a remote" - " connection, use 'pcs cluster node add-remote'" - ", use --force to override\n" + "Warning: this command is not sufficient for creating a remote" + " connection, use 'pcs cluster node add-remote'\n" ) def test_warn_when_on_pacemaker_remote_attempt(self): @@ -1685,10 +1684,10 @@ class FailOrWarnGroup(ResourceTest): ) def test_fail_when_on_pacemaker_remote_guest_attempt(self): - self.assert_pcs_fail( + self.assert_pcs_success( "resource create R2 ocf:heartbeat:Dummy meta remote-node=HOST", - "Error: this command is not sufficient for creating a guest node," - " use 'pcs cluster node add-guest', use --force to override\n" + "Warning: this command is not sufficient for creating a guest node," + " use 'pcs cluster node add-guest'\n" ) def test_warn_when_on_pacemaker_remote_guest_attempt(self): diff --git a/pcs/test/test_resource.py b/pcs/test/test_resource.py index d8f68c12..eac7eb04 100644 --- a/pcs/test/test_resource.py +++ b/pcs/test/test_resource.py @@ -5110,10 +5110,10 @@ class ResourceUpdateSpcialChecks(unittest.TestCase, AssertPcsMixin): self.assert_pcs_success( "resource create R ocf:heartbeat:Dummy", ) - self.assert_pcs_fail( + self.assert_pcs_success( "resource update R meta remote-node=HOST", - "Error: this command is not sufficient for creating a guest node," - " use 'pcs cluster node add-guest', use --force to override\n" + "Warning: this command is not sufficient for creating a guest node," + " use 'pcs cluster node add-guest'\n" ) def test_update_warn_on_pacemaker_guest_attempt(self): self.assert_pcs_success( @@ -5132,10 +5132,10 @@ class ResourceUpdateSpcialChecks(unittest.TestCase, AssertPcsMixin): "Warning: this command is not sufficient for creating a guest node," " use 'pcs cluster node add-guest'\n" ) - self.assert_pcs_fail( + self.assert_pcs_success( "resource update R meta remote-node=", - "Error: this command is not sufficient for removing a guest node," - " use 'pcs cluster node remove-guest', use --force to override\n" + "Warning: this command is not sufficient for removing a guest node," + " use 'pcs cluster node remove-guest'\n" ) def test_update_warn_on_pacemaker_guest_attempt_remove(self): @@ -5156,10 +5156,10 @@ class ResourceUpdateSpcialChecks(unittest.TestCase, AssertPcsMixin): self.assert_pcs_success( "resource create R ocf:heartbeat:Dummy", ) - self.assert_pcs_fail( + self.assert_pcs_success( "resource meta R remote-node=HOST", - "Error: this command is not sufficient for creating a guest node," - " use 'pcs cluster node add-guest', use --force to override\n" + "Warning: this command is not sufficient for creating a guest node," + " use 'pcs cluster node add-guest'\n" ) def test_meta_warn_on_pacemaker_guest_attempt(self): @@ -5180,10 +5180,10 @@ class ResourceUpdateSpcialChecks(unittest.TestCase, AssertPcsMixin): "Warning: this command is not sufficient for creating a guest node," " use 'pcs cluster node add-guest'\n" ) - self.assert_pcs_fail( + self.assert_pcs_success( "resource meta R remote-node=", - "Error: this command is not sufficient for removing a guest node," - " use 'pcs cluster node remove-guest', use --force to override\n" + "Warning: this command is not sufficient for removing a guest node," + " use 'pcs cluster node remove-guest'\n" ) def test_meta_warn_on_pacemaker_guest_attempt_remove(self): -- 2.13.6