Exemple #1
0
 def test_get_from_pool(self, rclient):
     cl = rapi_pool.get_rapi_client(1, "dummyhash", "cluster1", "5080", "user", "pass")
     rclient.assert_called_once_with("cluster1", "5080", "user", "pass")
     rapi_pool.put_rapi_client(cl)
     rclient.reset_mock()
     cl2 = rapi_pool.get_rapi_client(1, "dummyhash", "cluster1", "5080", "user", "pass")
     self.assertTrue(cl is cl2)
     self.assertFalse(rclient.mock_calls)
Exemple #2
0
 def test_changed_credentials(self, rclient):
     cl = rapi_pool.get_rapi_client(1, "dummyhash2", "cluster2", "5080", "user", "pass")
     rclient.assert_called_once_with("cluster2", "5080", "user", "pass")
     rapi_pool.put_rapi_client(cl)
     rclient.reset_mock()
     rapi_pool.get_rapi_client(1, "dummyhash3", "cluster2", "5080", "user", "new_pass")
     rclient.assert_called_once_with("cluster2", "5080", "user", "new_pass")
     self.assertFalse("dummyhash2" in rapi_pool._pools)
Exemple #3
0
 def test_changed_credentials(self, rclient):
     cl = rapi_pool.get_rapi_client(1, 'dummyhash2', 'cluster2', '5080',
                                    'user', 'pass')
     rclient.assert_called_once_with("cluster2", "5080", "user", "pass")
     rapi_pool.put_rapi_client(cl)
     rclient.reset_mock()
     rapi_pool.get_rapi_client(1, 'dummyhash3', 'cluster2', '5080',
                               'user', 'new_pass')
     rclient.assert_called_once_with("cluster2", "5080", "user", "new_pass")
     self.assertFalse('dummyhash2' in rapi_pool._pools)
Exemple #4
0
 def test_get_from_pool(self, rclient):
     cl = rapi_pool.get_rapi_client(1, 'dummyhash', 'cluster1', '5080',
                                    'user', 'pass')
     rclient.assert_called_once_with("cluster1", "5080", "user", "pass")
     rapi_pool.put_rapi_client(cl)
     rclient.reset_mock()
     cl2 = rapi_pool.get_rapi_client(1, 'dummyhash', 'cluster1', '5080',
                                     'user', 'pass')
     self.assertTrue(cl is cl2)
     self.assertFalse(rclient.mock_calls)
Exemple #5
0
 def get_client(self):
     """Get or create a client. """
     if self.offline:
         raise faults.ServiceUnavailable
     return get_rapi_client(self.id, self.hash,
                            self.clustername,
                            self.port,
                            self.username,
                            self.password)
Exemple #6
0
 def get_client(self):
     """Get or create a client. """
     if self.offline:
         raise faults.ServiceUnavailable("Backend '%s' is offline" %
                                         self)
     return get_rapi_client(self.id, self.hash,
                            self.clustername,
                            self.port,
                            self.username,
                            self.password)
Exemple #7
0
def pooled_rapi_client(obj):
        if isinstance(obj, (VirtualMachine, BackendNetwork)):
            backend = obj.backend
        else:
            backend = obj

        if backend.offline:
            log.warning("Trying to connect with offline backend: %s", backend)
            raise faults.ServiceUnavailable

        b = backend
        client = get_rapi_client(b.id, b.hash, b.clustername, b.port,
                                 b.username, b.password)
        try:
            yield client
        finally:
            put_rapi_client(client)
Exemple #8
0
def pooled_rapi_client(obj):
    if isinstance(obj, VirtualMachine):
        backend = obj.backend
    else:
        backend = obj

    if backend.offline:
        log.warning("Trying to connect with offline backend: %s", backend)
        raise faults.ServiceUnavailable

    b = backend
    client = get_rapi_client(b.id, b.hash, b.clustername, b.port, b.username,
                             b.password)
    try:
        yield client
    finally:
        put_rapi_client(client)
Exemple #9
0
 def test_no_pool(self, rclient):
     cl = rapi_pool.get_rapi_client(1, 'dummyhash2', 'cluster2', '5080',
                                    'user', 'pass')
     cl._pool = None
     rapi_pool.put_rapi_client(cl)
     self.assertTrue(cl not in rapi_pool._pools.values())
Exemple #10
0
 def test_new_client(self, rclient):
     cl = rapi_pool.get_rapi_client(1, 'amxixa', 'cluster0', '5080', 'user',
                                    'pass')
     rclient.assert_called_once_with("cluster0", "5080", "user", "pass")
     self.assertTrue('amxixa' in rapi_pool._pools)
     self.assertTrue(cl._pool is rapi_pool._pools[rapi_pool._hashes[1]])
Exemple #11
0
 def test_no_pool(self, rclient):
     cl = rapi_pool.get_rapi_client(1, "dummyhash2", "cluster2", "5080", "user", "pass")
     cl._pool = None
     rapi_pool.put_rapi_client(cl)
     self.assertTrue(cl not in rapi_pool._pools.values())
Exemple #12
0
 def test_new_client(self, rclient):
     cl = rapi_pool.get_rapi_client(1, "amxixa", "cluster0", "5080", "user", "pass")
     rclient.assert_called_once_with("cluster0", "5080", "user", "pass")
     self.assertTrue("amxixa" in rapi_pool._pools)
     self.assertTrue(cl._pool is rapi_pool._pools[rapi_pool._hashes[1]])
Exemple #13
0
 def test_no_pool(self, rclient):
     cl = rapi_pool.get_rapi_client(1, 'dummyhash2', 'cluster2', '5080',
                                    'user', 'pass')
     cl._pool = None
     rapi_pool.put_rapi_client(cl)
     self.assertTrue(cl not in rapi_pool._pools.values())
Exemple #14
0
 def test_new_client(self, rclient):
     cl = rapi_pool.get_rapi_client(1, 'amxixa', 'cluster0', '5080', 'user',
                                    'pass')
     rclient.assert_called_once_with("cluster0", "5080", "user", "pass")
     self.assertTrue('amxixa' in rapi_pool._pools)
     self.assertTrue(cl._pool is rapi_pool._pools[rapi_pool._hashes[1]])