Ejemplo n.º 1
0
def get_cassandra_store(host,
                        username,
                        password,
                        keyspace,
                        port=None,
                        prefix=""):
    store = CassandraProvisionerStore(host, port or 9160, username, password,
                                      keyspace, prefix)
    store.connect()
    return store
Ejemplo n.º 2
0
    def setUp(self):
        prefix = str(uuid.uuid4())[:8]
        cf_defs = CassandraProvisionerStore.get_column_families(prefix=prefix)
        ks = cassandra.get_keyspace(cf_defs)

        self.cassandra_mgr = CassandraSchemaManager(ks)
        yield self.cassandra_mgr.create()

        host, port = cassandra.get_host_port()
        username, password = cassandra.get_credentials()
        
        self.store = CassandraProvisionerStore(host, port, username, password,
                                               keyspace=ks.name, prefix=prefix)
        self.store.connect()
Ejemplo n.º 3
0
    def setUp(self):
        prefix = str(uuid.uuid4())[:8]
        cf_defs = CassandraProvisionerStore.get_column_families(prefix=prefix)
        ks = cassandra.get_keyspace(cf_defs)

        self.cassandra_mgr = CassandraSchemaManager(ks)
        yield self.cassandra_mgr.create()

        host, port = cassandra.get_host_port()
        username, password = cassandra.get_credentials()

        self.store = CassandraProvisionerStore(host,
                                               port,
                                               username,
                                               password,
                                               keyspace=ks.name,
                                               prefix=prefix)
        self.store.connect()
Ejemplo n.º 4
0
    def setup_store(self):
        prefix=str(uuid.uuid4())[:8]
        username, password = cassandra.get_credentials()
        host, port = cassandra.get_host_port()

        cf_defs = CassandraProvisionerStore.get_column_families(prefix=prefix)
        ks = cassandra.get_keyspace(cf_defs)

        self.cassandra_mgr = cassandra.CassandraSchemaManager(ks)
        yield self.cassandra_mgr.create()

        store = provisioner.get_cassandra_store(host, username, password,
                                                ks.name, port=port,
                                                prefix=prefix)
        defer.returnValue(store)
Ejemplo n.º 5
0
def get_epu_keyspace_definition():
    """Gathers column family definitions from EPU components
    """
    name = get_keyspace_name()

    from epu.provisioner.store import CassandraProvisionerStore
    provisioner_cfs = CassandraProvisionerStore.get_column_families(name)

    from epu.epucontroller.controller_store import CassandraControllerStore
    controller_cfs = CassandraControllerStore.get_column_families(name)

    all_cfs = []
    all_cfs.extend(provisioner_cfs)
    all_cfs.extend(controller_cfs)

    return get_keyspace(all_cfs)
Ejemplo n.º 6
0
def get_epu_keyspace_definition():
    """Gathers column family definitions from EPU components
    """
    name = get_keyspace_name()

    from epu.provisioner.store import CassandraProvisionerStore
    provisioner_cfs = CassandraProvisionerStore.get_column_families(name)

    from epu.epucontroller.controller_store import CassandraControllerStore
    controller_cfs = CassandraControllerStore.get_column_families(name)

    all_cfs = []
    all_cfs.extend(provisioner_cfs)
    all_cfs.extend(controller_cfs)

    return get_keyspace(all_cfs)
Ejemplo n.º 7
0
    def setup_store(self):
        prefix = str(uuid.uuid4())[:8]
        username, password = cassandra.get_credentials()
        host, port = cassandra.get_host_port()

        cf_defs = CassandraProvisionerStore.get_column_families(prefix=prefix)
        ks = cassandra.get_keyspace(cf_defs)

        self.cassandra_mgr = cassandra.CassandraSchemaManager(ks)
        yield self.cassandra_mgr.create()

        store = provisioner.get_cassandra_store(host,
                                                username,
                                                password,
                                                ks.name,
                                                port=port,
                                                prefix=prefix)
        defer.returnValue(store)
Ejemplo n.º 8
0
class CassandraProvisionerStoreTests(BaseProvisionerStoreTests):
    """Runs same tests as BaseProvisionerStoreTests but cassandra backend
    """

    @cassandra_test
    @defer.inlineCallbacks
    def setUp(self):
        prefix = str(uuid.uuid4())[:8]
        cf_defs = CassandraProvisionerStore.get_column_families(prefix=prefix)
        ks = cassandra.get_keyspace(cf_defs)

        self.cassandra_mgr = CassandraSchemaManager(ks)
        yield self.cassandra_mgr.create()

        host, port = cassandra.get_host_port()
        username, password = cassandra.get_credentials()
        
        self.store = CassandraProvisionerStore(host, port, username, password,
                                               keyspace=ks.name, prefix=prefix)
        self.store.connect()

    @defer.inlineCallbacks
    def tearDown(self):
        yield self.cassandra_mgr.teardown()
        self.cassandra_mgr.disconnect()
        self.store.disconnect()

    @defer.inlineCallbacks
    def test_paging(self):
        requested = yield self.put_many_nodes(3, states.REQUESTED)
        pending = yield self.put_many_nodes(140, states.REQUESTED,
                                            states.PENDING)
        running = yield self.put_many_nodes(160, states.REQUESTED,
                                            states.PENDING,
                                            states.RUNNING)
        terminated = yield self.put_many_nodes(120, states.REQUESTED,
                                               states.PENDING,
                                               states.RUNNING,
                                               states.TERMINATING,
                                               states.TERMINATED)
        failed = yield self.put_many_nodes(100, states.REQUESTED,
                                           states.FAILED)

        nodes = yield self.store.get_nodes(state=states.TERMINATED)
        self.assertEqual(len(nodes), 120)
        self.assertNodesInSet(nodes, terminated)

        nodes = yield self.store.get_nodes()
        self.assertEqual(len(nodes), 523)
        self.assertNodesInSet(nodes, requested, pending, running, terminated,
                              failed)

        nodes = yield self.store.get_nodes(state=states.FAILED)
        self.assertEqual(len(nodes), 100)
        self.assertNodesInSet(nodes, failed)

        nodes = yield self.store.get_nodes(min_state=states.REQUESTED)
        self.assertEqual(len(nodes), 523)
        self.assertNodesInSet(nodes, requested, pending, running, terminated,
                              failed)

        nodes = yield self.store.get_nodes(min_state=states.PENDING,
                                           max_state=states.RUNNING)
        self.assertEqual(len(nodes), 300)
        self.assertNodesInSet(nodes, pending, running)

        nodes = yield self.store.get_nodes(states.TERMINATING)
        self.assertEqual(len(nodes), 0)

        nodes = yield self.store.get_nodes(max_state=states.RUNNING)
        self.assertEqual(len(nodes), 303)
        self.assertNodesInSet(nodes, requested, pending, running)
Ejemplo n.º 9
0
def get_cassandra_store(host, username, password, keyspace, port=None, prefix=""):
    store = CassandraProvisionerStore(host, port or 9160, username, password,
                                      keyspace, prefix)
    store.connect()
    return store
Ejemplo n.º 10
0
class CassandraProvisionerStoreTests(BaseProvisionerStoreTests):
    """Runs same tests as BaseProvisionerStoreTests but cassandra backend
    """
    @cassandra_test
    @defer.inlineCallbacks
    def setUp(self):
        prefix = str(uuid.uuid4())[:8]
        cf_defs = CassandraProvisionerStore.get_column_families(prefix=prefix)
        ks = cassandra.get_keyspace(cf_defs)

        self.cassandra_mgr = CassandraSchemaManager(ks)
        yield self.cassandra_mgr.create()

        host, port = cassandra.get_host_port()
        username, password = cassandra.get_credentials()

        self.store = CassandraProvisionerStore(host,
                                               port,
                                               username,
                                               password,
                                               keyspace=ks.name,
                                               prefix=prefix)
        self.store.connect()

    @defer.inlineCallbacks
    def tearDown(self):
        yield self.cassandra_mgr.teardown()
        self.cassandra_mgr.disconnect()
        self.store.disconnect()

    @defer.inlineCallbacks
    def test_paging(self):
        requested = yield self.put_many_nodes(3, states.REQUESTED)
        pending = yield self.put_many_nodes(140, states.REQUESTED,
                                            states.PENDING)
        running = yield self.put_many_nodes(160, states.REQUESTED,
                                            states.PENDING, states.RUNNING)
        terminated = yield self.put_many_nodes(120, states.REQUESTED,
                                               states.PENDING, states.RUNNING,
                                               states.TERMINATING,
                                               states.TERMINATED)
        failed = yield self.put_many_nodes(100, states.REQUESTED,
                                           states.FAILED)

        nodes = yield self.store.get_nodes(state=states.TERMINATED)
        self.assertEqual(len(nodes), 120)
        self.assertNodesInSet(nodes, terminated)

        nodes = yield self.store.get_nodes()
        self.assertEqual(len(nodes), 523)
        self.assertNodesInSet(nodes, requested, pending, running, terminated,
                              failed)

        nodes = yield self.store.get_nodes(state=states.FAILED)
        self.assertEqual(len(nodes), 100)
        self.assertNodesInSet(nodes, failed)

        nodes = yield self.store.get_nodes(min_state=states.REQUESTED)
        self.assertEqual(len(nodes), 523)
        self.assertNodesInSet(nodes, requested, pending, running, terminated,
                              failed)

        nodes = yield self.store.get_nodes(min_state=states.PENDING,
                                           max_state=states.RUNNING)
        self.assertEqual(len(nodes), 300)
        self.assertNodesInSet(nodes, pending, running)

        nodes = yield self.store.get_nodes(states.TERMINATING)
        self.assertEqual(len(nodes), 0)

        nodes = yield self.store.get_nodes(max_state=states.RUNNING)
        self.assertEqual(len(nodes), 303)
        self.assertNodesInSet(nodes, requested, pending, running)