Ejemplo n.º 1
0
 def _simulate_rpc_bay_create(self, bay, master_count, node_count,
                              bay_create_timeout):
     bay.create()
     db_utils.create_nodegroups_for_cluster(
         cluster_id=bay.uuid, node_count=node_count,
         master_count=master_count)
     return bay
Ejemplo n.º 2
0
 def _simulate_rpc_bay_create(bay, node_count, master_count,
                              bay_create_timeout):
     self.assertEqual(60, bay_create_timeout)
     bay.create()
     db_utils.create_nodegroups_for_cluster(
         cluster_id=bay.uuid, node_count=node_count,
         master_count=master_count)
     return bay
Ejemplo n.º 3
0
 def test_get_all_cluster_stats(self):
     uuid1 = uuidutils.generate_uuid()
     utils.create_test_cluster(id=1, name='clusterone', uuid=uuid1)
     utils.create_nodegroups_for_cluster(cluster_id=uuid1)
     uuid2 = uuidutils.generate_uuid()
     utils.create_test_cluster(id=2, name='clustertwo', uuid=uuid2)
     utils.create_nodegroups_for_cluster(cluster_id=uuid2)
     ret = self.dbapi.get_cluster_stats(self.context)
     self.assertEqual(ret, (2, 12))
Ejemplo n.º 4
0
 def test_get_all_cluster_stats(self):
     uuid1 = uuidutils.generate_uuid()
     utils.create_test_cluster(
         id=1, name='clusterone',
         uuid=uuid1)
     utils.create_nodegroups_for_cluster(cluster_id=uuid1)
     uuid2 = uuidutils.generate_uuid()
     utils.create_test_cluster(
         id=2, name='clustertwo',
         uuid=uuid2)
     utils.create_nodegroups_for_cluster(cluster_id=uuid2)
     ret = self.dbapi.get_cluster_stats(self.context)
     self.assertEqual(ret, (2, 12))
Ejemplo n.º 5
0
def create_test_cluster(context, **kw):
    """Create and return a test Cluster object.

    Create a Cluster in the DB and return a Cluster object with appropriate
    attributes.
    """
    cluster = get_test_cluster(context, **kw)
    create_test_cluster_template(context, uuid=cluster['cluster_template_id'],
                                 coe=kw.get('coe', 'swarm'),
                                 tls_disabled=kw.get('tls_disabled'))
    kw.update({'cluster_id': cluster['uuid']})
    db_utils.create_nodegroups_for_cluster(**kw)
    cluster.create()
    return cluster
Ejemplo n.º 6
0
def create_test_cluster(context, **kw):
    """Create and return a test Cluster object.

    Create a Cluster in the DB and return a Cluster object with appropriate
    attributes.
    """
    cluster = get_test_cluster(context, **kw)
    create_test_cluster_template(context,
                                 uuid=cluster['cluster_template_id'],
                                 coe=kw.get('coe', 'swarm'),
                                 tls_disabled=kw.get('tls_disabled'))
    kw.update({'cluster_id': cluster['uuid']})
    db_utils.create_nodegroups_for_cluster(**kw)
    cluster.create()
    return cluster
Ejemplo n.º 7
0
 def test_get_one_tenant_cluster_stats(self):
     uuid1 = uuidutils.generate_uuid()
     utils.create_test_cluster(
         id=1, name='clusterone', project_id='proj1',
         uuid=uuid1)
     utils.create_nodegroups_for_cluster(
         cluster_id=uuid1, project_id='proj1')
     uuid2 = uuidutils.generate_uuid()
     utils.create_test_cluster(
         id=2, name='clustertwo', project_id='proj2',
         uuid=uuid2)
     utils.create_nodegroups_for_cluster(
         cluster_id=uuid2, project_id='proj2')
     ret = self.dbapi.get_cluster_stats(self.context, 'proj2')
     self.assertEqual(ret, (1, 6))
Ejemplo n.º 8
0
 def test_get_one_tenant_cluster_stats(self):
     uuid1 = uuidutils.generate_uuid()
     utils.create_test_cluster(id=1,
                               name='clusterone',
                               project_id='proj1',
                               uuid=uuid1)
     utils.create_nodegroups_for_cluster(cluster_id=uuid1,
                                         project_id='proj1')
     uuid2 = uuidutils.generate_uuid()
     utils.create_test_cluster(id=2,
                               name='clustertwo',
                               project_id='proj2',
                               uuid=uuid2)
     utils.create_nodegroups_for_cluster(cluster_id=uuid2,
                                         project_id='proj2')
     ret = self.dbapi.get_cluster_stats(self.context, 'proj2')
     self.assertEqual(ret, (1, 6))
Ejemplo n.º 9
0
    def test_get_cluster_list_with_filters(self):
        ct1 = utils.get_test_cluster_template(id=1,
                                              uuid=uuidutils.generate_uuid())
        ct2 = utils.get_test_cluster_template(id=2,
                                              uuid=uuidutils.generate_uuid())
        self.dbapi.create_cluster_template(ct1)
        self.dbapi.create_cluster_template(ct2)

        uuid1 = uuidutils.generate_uuid()
        cluster1 = utils.create_test_cluster(
            name='cluster-one',
            uuid=uuid1,
            cluster_template_id=ct1['uuid'],
            status=cluster_status.CREATE_IN_PROGRESS)
        utils.create_nodegroups_for_cluster(cluster_id=uuid1)
        uuid2 = uuidutils.generate_uuid()
        cluster2 = utils.create_test_cluster(
            name='cluster-two',
            uuid=uuid2,
            cluster_template_id=ct2['uuid'],
            status=cluster_status.UPDATE_IN_PROGRESS)
        utils.create_nodegroups_for_cluster(
            cluster_id=uuid2, node_count=1, master_count=1)
        cluster3 = utils.create_test_cluster(
            name='cluster-three',
            status=cluster_status.DELETE_IN_PROGRESS)
        utils.create_nodegroups_for_cluster(
            node_count=2, master_count=5)

        res = self.dbapi.get_cluster_list(
            self.context, filters={'cluster_template_id': ct1['uuid']})
        self.assertEqual([cluster1.id], [r.id for r in res])

        res = self.dbapi.get_cluster_list(
            self.context, filters={'cluster_template_id': ct2['uuid']})
        self.assertEqual([cluster2.id], [r.id for r in res])

        res = self.dbapi.get_cluster_list(self.context,
                                          filters={'name': 'cluster-one'})
        self.assertEqual([cluster1.id], [r.id for r in res])

        res = self.dbapi.get_cluster_list(self.context,
                                          filters={'name': 'bad-cluster'})
        self.assertEqual([], [r.id for r in res])

        res = self.dbapi.get_cluster_list(self.context,
                                          filters={'node_count': 3})
        self.assertEqual([cluster1.id], [r.id for r in res])

        res = self.dbapi.get_cluster_list(self.context,
                                          filters={'node_count': 1})
        self.assertEqual([cluster2.id], [r.id for r in res])

        res = self.dbapi.get_cluster_list(self.context,
                                          filters={'master_count': 3})
        self.assertEqual([cluster1.id], [r.id for r in res])

        res = self.dbapi.get_cluster_list(self.context,
                                          filters={'master_count': 1})
        self.assertEqual([cluster2.id], [r.id for r in res])

        # Check that both filters have to be valid
        filters = {'master_count': 1, 'node_count': 1}
        res = self.dbapi.get_cluster_list(self.context, filters=filters)
        self.assertEqual([cluster2.id], [r.id for r in res])

        filters = {'master_count': 1, 'node_count': 2}
        res = self.dbapi.get_cluster_list(self.context, filters=filters)
        self.assertEqual(0, len(res))

        filters = {'status': [cluster_status.CREATE_IN_PROGRESS,
                              cluster_status.DELETE_IN_PROGRESS]}
        res = self.dbapi.get_cluster_list(self.context,
                                          filters=filters)
        self.assertEqual([cluster1.id, cluster3.id], [r.id for r in res])
Ejemplo n.º 10
0
    def test_get_cluster_list_with_filters(self):
        ct1 = utils.get_test_cluster_template(id=1,
                                              uuid=uuidutils.generate_uuid())
        ct2 = utils.get_test_cluster_template(id=2,
                                              uuid=uuidutils.generate_uuid())
        self.dbapi.create_cluster_template(ct1)
        self.dbapi.create_cluster_template(ct2)

        uuid1 = uuidutils.generate_uuid()
        cluster1 = utils.create_test_cluster(
            name='cluster-one',
            uuid=uuid1,
            cluster_template_id=ct1['uuid'],
            status=cluster_status.CREATE_IN_PROGRESS)
        utils.create_nodegroups_for_cluster(cluster_id=uuid1)
        uuid2 = uuidutils.generate_uuid()
        cluster2 = utils.create_test_cluster(
            name='cluster-two',
            uuid=uuid2,
            cluster_template_id=ct2['uuid'],
            status=cluster_status.UPDATE_IN_PROGRESS)
        utils.create_nodegroups_for_cluster(cluster_id=uuid2,
                                            node_count=1,
                                            master_count=1)
        cluster3 = utils.create_test_cluster(
            name='cluster-three', status=cluster_status.DELETE_IN_PROGRESS)
        utils.create_nodegroups_for_cluster(node_count=2, master_count=5)

        res = self.dbapi.get_cluster_list(
            self.context, filters={'cluster_template_id': ct1['uuid']})
        self.assertEqual([cluster1.id], [r.id for r in res])

        res = self.dbapi.get_cluster_list(
            self.context, filters={'cluster_template_id': ct2['uuid']})
        self.assertEqual([cluster2.id], [r.id for r in res])

        res = self.dbapi.get_cluster_list(self.context,
                                          filters={'name': 'cluster-one'})
        self.assertEqual([cluster1.id], [r.id for r in res])

        res = self.dbapi.get_cluster_list(self.context,
                                          filters={'name': 'bad-cluster'})
        self.assertEqual([], [r.id for r in res])

        res = self.dbapi.get_cluster_list(self.context,
                                          filters={'node_count': 3})
        self.assertEqual([cluster1.id], [r.id for r in res])

        res = self.dbapi.get_cluster_list(self.context,
                                          filters={'node_count': 1})
        self.assertEqual([cluster2.id], [r.id for r in res])

        res = self.dbapi.get_cluster_list(self.context,
                                          filters={'master_count': 3})
        self.assertEqual([cluster1.id], [r.id for r in res])

        res = self.dbapi.get_cluster_list(self.context,
                                          filters={'master_count': 1})
        self.assertEqual([cluster2.id], [r.id for r in res])

        # Check that both filters have to be valid
        filters = {'master_count': 1, 'node_count': 1}
        res = self.dbapi.get_cluster_list(self.context, filters=filters)
        self.assertEqual([cluster2.id], [r.id for r in res])

        filters = {'master_count': 1, 'node_count': 2}
        res = self.dbapi.get_cluster_list(self.context, filters=filters)
        self.assertEqual(0, len(res))

        filters = {
            'status': [
                cluster_status.CREATE_IN_PROGRESS,
                cluster_status.DELETE_IN_PROGRESS
            ]
        }
        res = self.dbapi.get_cluster_list(self.context, filters=filters)
        self.assertEqual([cluster1.id, cluster3.id], [r.id for r in res])