LGTM On Tue, Nov 24, 2015 at 3:15 PM, 'Helga Velroyen' via ganeti-devel < [email protected]> wrote:
> This patch updates the SSH testutils to match reality better. > So far, the test framework did not consider the fact that > the key of each node should be added to it's own > 'authorized_keys' file, even if the node is not a master > candidate. This patch fixes that to represent the production > behavior more accurately. > > Signed-off-by: Helga Velroyen <[email protected]> > --- > test/py/ganeti.backend_unittest.py | 13 ++++++++----- > test/py/testutils_ssh.py | 5 +++-- > 2 files changed, 11 insertions(+), 7 deletions(-) > > diff --git a/test/py/ganeti.backend_unittest.py b/test/py/ > ganeti.backend_unittest.py > index 35ea9f4..ab3de9e 100755 > --- a/test/py/ganeti.backend_unittest.py > +++ b/test/py/ganeti.backend_unittest.py > @@ -1385,10 +1385,11 @@ class > TestAddRemoveGenerateNodeSshKey(testutils.GanetiTestCase): > > self._ssh_file_manager.AssertNoNodeHasPublicKey( > node_info.uuid, node_info.key) > - self._ssh_file_manager.AssertNoNodeHasAuthorizedKey(node_info.key) > + self._ssh_file_manager.AssertNodeSetOnlyHasAuthorizedKey( > + node_name, node_info.key) > self.assertEqual(0, > len(self._ssh_file_manager.GetPublicKeysOfNode(node_name))) > - self.assertEqual(0, > + self.assertEqual(1, > len(self._ssh_file_manager.GetAuthorizedKeysOfNode(node_name))) > > def testRemoveNormalNode(self): > @@ -1408,10 +1409,11 @@ class > TestAddRemoveGenerateNodeSshKey(testutils.GanetiTestCase): > > self._ssh_file_manager.AssertNoNodeHasPublicKey( > node_info.uuid, node_info.key) > - self._ssh_file_manager.AssertNoNodeHasAuthorizedKey(node_info.key) > + self._ssh_file_manager.AssertNodeSetOnlyHasAuthorizedKey( > + [node_name], node_info.key) > self.assertEqual(0, > len(self._ssh_file_manager.GetPublicKeysOfNode(node_name))) > - self.assertEqual(0, > + self.assertEqual(1, > len(self._ssh_file_manager.GetAuthorizedKeysOfNode(node_name))) > > def testDemoteMasterCandidateToPotentialMasterCandidate(self): > @@ -1458,7 +1460,8 @@ class > TestAddRemoveGenerateNodeSshKey(testutils.GanetiTestCase): > > self._ssh_file_manager.AssertNoNodeHasPublicKey( > node_info.uuid, node_info.key) > - self._ssh_file_manager.AssertNoNodeHasAuthorizedKey(node_info.key) > + self._ssh_file_manager.AssertNodeSetOnlyHasAuthorizedKey( > + [node_name], node_info.key) > > def _GetReducedOnlineNodeList(self): > """'Randomly' mark some nodes as offline.""" > diff --git a/test/py/testutils_ssh.py b/test/py/testutils_ssh.py > index e4d76c1..7dbb6fb 100644 > --- a/test/py/testutils_ssh.py > +++ b/test/py/testutils_ssh.py > @@ -126,8 +126,9 @@ class FakeSshFileManager(object): > self._public_keys[receiving_node_name][node_info.uuid] = > [node_info.key] > > def _FillAuthorizedKeyOfOneNode(self, receiving_node_name): > - for node_info in self._all_node_data.values(): > - if node_info.is_master_candidate: > + for node_name, node_info in self._all_node_data.items(): > + if node_info.is_master_candidate \ > + or node_name == receiving_node_name: > self._authorized_keys[receiving_node_name].add(node_info.key) > > def InitAllNodes(self, num_nodes, num_pot_mcs, num_mcs): > -- > 2.6.0.rc2.230.g3dd15c0 > > -- Lisa Velden Software Engineer [email protected] Google Germany GmbH Dienerstraße 12 80331 München Geschäftsführer: Matthew Scott Sucherman, Paul Terence Manicle Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg
