def test_get_leader_name_malformed(self, m_get): m_get.return_value = mock.Mock(json=mock.Mock( return_value={'name2': 'foo'})) res = utils.get_leader_name() m_get.assert_called_once_with( 'http://localhost:%d' % CONF.kubernetes.controller_ha_elector_port) self.assertIsNone(res)
def monitor_leader(self, context): leader = utils.get_leader_name() if leader is None: # Error when fetching current leader. We're paranoid, so just to # make sure we won't break anything we'll try to step down. self.on_revoke_leader() elif leader != self.current_leader and leader == self.node_name: # I'm becoming the leader. self.on_become_leader() elif leader != self.current_leader and self.is_leader(): # I'm revoked from being the leader. self.on_revoke_leader() elif leader == self.current_leader and self.is_leader(): # I continue to be the leader self.on_continue_leader() self.current_leader = leader
def test_get_leader_name_exc(self, m_get): m_get.side_effect = Exception res = utils.get_leader_name() m_get.assert_called_once_with( 'http://localhost:%d' % CONF.kubernetes.controller_ha_elector_port) self.assertIsNone(res)