Exemplo n.º 1
0
    def setup_poll_test(self, mock_driver, mock_openstack_client, cfg,
                        mock_retrieve_cluster_template):
        cfg.CONF.cluster_heat.max_attempts = 10

        worker_ng = mock.MagicMock(uuid='worker_ng', role='worker')
        master_ng = mock.MagicMock(uuid='master_ng', role='master')
        nodegroups = [worker_ng, master_ng]
        cluster = mock.MagicMock(nodegroups=nodegroups,
                                 default_ng_worker=worker_ng,
                                 default_ng_master=master_ng)
        cluster_template_dict = utils.get_test_cluster_template(
            coe='kubernetes')
        mock_heat_stack = mock.MagicMock()
        mock_heat_client = mock.MagicMock()
        mock_heat_client.stacks.get.return_value = mock_heat_stack
        mock_openstack_client.heat.return_value = mock_heat_client
        cluster_template = objects.ClusterTemplate(self.context,
                                                   **cluster_template_dict)
        mock_retrieve_cluster_template.return_value = cluster_template
        mock_driver.return_value = k8s_atomic_dr.Driver()
        poller = heat_driver.HeatPoller(mock_openstack_client,
                                        mock.MagicMock(), cluster,
                                        k8s_atomic_dr.Driver())
        poller.get_version_info = mock.MagicMock()
        return (mock_heat_stack, cluster, poller)
Exemplo n.º 2
0
    def setup_poll_test(self, mock_driver, mock_openstack_client, cfg,
                        mock_retrieve_cluster_template):
        cfg.CONF.cluster_heat.max_attempts = 10

        worker_ng = mock.MagicMock(uuid='worker_ng', role='worker')
        master_ng = mock.MagicMock(uuid='master_ng', role='master')
        nodegroups = [worker_ng, master_ng]
        cluster = mock.MagicMock(nodegroups=nodegroups,
                                 default_ng_worker=worker_ng,
                                 default_ng_master=master_ng)
        cluster_template_dict = utils.get_test_cluster_template(
            coe='kubernetes')
        mock_heat_stack = mock.MagicMock()
        mock_heat_client = mock.MagicMock()
        mock_heat_client.stacks.get.return_value = mock_heat_stack
        mock_openstack_client.heat.return_value = mock_heat_client
        cluster_template = objects.ClusterTemplate(self.context,
                                                   **cluster_template_dict)
        mock_retrieve_cluster_template.return_value = cluster_template
        mock_driver.return_value = k8s_atomic_dr.Driver()
        poller = heat_driver.HeatPoller(mock_openstack_client,
                                        mock.MagicMock(), cluster,
                                        k8s_atomic_dr.Driver())
        poller.get_version_info = mock.MagicMock()
        return (mock_heat_stack, cluster, poller)
Exemplo n.º 3
0
 def setUp(self):
     super(TestHandler, self).setUp()
     self.handler = cluster_conductor.Handler()
     cluster_template_dict = utils.get_test_cluster_template()
     self.cluster_template = objects.ClusterTemplate(
         self.context, **cluster_template_dict)
     self.cluster_template.create()
     cluster_dict = utils.get_test_cluster(node_count=1)
     self.cluster = objects.Cluster(self.context, **cluster_dict)
     self.cluster.create()
Exemplo n.º 4
0
def get_test_cluster_template(context, **kw):
    """Return a ClusterTemplate object with appropriate attributes.

    NOTE: The object leaves the attributes marked as changed, such
    that a create() could be used to commit it to the DB.
    """
    db_cluster_template = db_utils.get_test_cluster_template(**kw)
    cluster_template = objects.ClusterTemplate(context)
    # Let DB generate ID if it isn't specified explicitly
    if 'id' not in kw:
        del db_cluster_template['id']

    for key in db_cluster_template:
        setattr(cluster_template, key, db_cluster_template[key])
    return cluster_template
Exemplo n.º 5
0
def get_test_cluster_template(context, **kw):
    """Return a ClusterTemplate object with appropriate attributes.

    NOTE: The object leaves the attributes marked as changed, such
    that a create() could be used to commit it to the DB.
    """
    db_cluster_template = db_utils.get_test_cluster_template(**kw)
    cluster_template = objects.ClusterTemplate(context)
    # Let DB generate ID if it isn't specified explicitly
    if 'id' not in kw:
        del db_cluster_template['id']

    for key in db_cluster_template:
        setattr(cluster_template, key, db_cluster_template[key])
    return cluster_template
Exemplo n.º 6
0
    def setup_poll_test(self, mock_openstack_client, cfg,
                        mock_retrieve_cluster_template):
        cfg.CONF.cluster_heat.max_attempts = 10

        cluster = mock.MagicMock()
        cluster_template_dict = utils.get_test_cluster_template(
            coe='kubernetes')
        mock_heat_stack = mock.MagicMock()
        mock_heat_client = mock.MagicMock()
        mock_heat_client.stacks.get.return_value = mock_heat_stack
        mock_openstack_client.heat.return_value = mock_heat_client
        cluster_template = objects.ClusterTemplate(self.context,
                                                   **cluster_template_dict)
        mock_retrieve_cluster_template.return_value = cluster_template
        poller = cluster_conductor.HeatPoller(mock_openstack_client, cluster)
        poller.get_version_info = mock.MagicMock()
        return (mock_heat_stack, cluster, poller)
Exemplo n.º 7
0
    def setup_poll_test(self, mock_driver, mock_openstack_client, cfg,
                        mock_retrieve_cluster_template):
        cfg.CONF.cluster_heat.max_attempts = 10

        cluster = mock.MagicMock()
        cluster_template_dict = utils.get_test_cluster_template(
            coe='kubernetes')
        mock_heat_stack = mock.MagicMock()
        mock_heat_client = mock.MagicMock()
        mock_heat_client.stacks.get.return_value = mock_heat_stack
        mock_openstack_client.heat.return_value = mock_heat_client
        cluster_template = objects.ClusterTemplate(self.context,
                                                   **cluster_template_dict)
        mock_retrieve_cluster_template.return_value = cluster_template
        mock_driver.return_value = k8s_atomic_dr.Driver()
        poller = cluster_conductor.HeatPoller(mock_openstack_client, cluster,
                                              k8s_atomic_dr.Driver())
        poller.get_version_info = mock.MagicMock()
        return (mock_heat_stack, cluster, poller)
Exemplo n.º 8
0
 def setUp(self):
     super(TestHandler, self).setUp()
     self.handler = cluster_conductor.Handler()
     cluster_template_dict = utils.get_test_cluster_template()
     self.cluster_template = objects.ClusterTemplate(
         self.context, **cluster_template_dict)
     self.cluster_template.create()
     self.cluster_dict = utils.get_test_cluster(node_count=1)
     self.nodegroups_dict = utils.get_nodegroups_for_cluster(node_count=1)
     del self.nodegroups_dict['master']['id']
     del self.nodegroups_dict['worker']['id']
     self.cluster = objects.Cluster(self.context, **self.cluster_dict)
     self.master_count = self.cluster.master_count
     self.node_count = self.cluster.node_count
     self.cluster.create()
     self.master = objects.NodeGroup(self.context,
                                     **self.nodegroups_dict['master'])
     self.worker = objects.NodeGroup(self.context,
                                     **self.nodegroups_dict['worker'])
Exemplo n.º 9
0
 def setUp(self):
     super(TestHandler, self).setUp()
     self.handler = cluster_conductor.Handler()
     cluster_template_dict = utils.get_test_cluster_template()
     self.cluster_template = objects.ClusterTemplate(
         self.context, **cluster_template_dict)
     self.cluster_template.create()
     self.cluster_dict = utils.get_test_cluster(node_count=1)
     self.nodegroups_dict = utils.get_nodegroups_for_cluster(
         node_count=1)
     del self.nodegroups_dict['master']['id']
     del self.nodegroups_dict['worker']['id']
     self.cluster = objects.Cluster(self.context, **self.cluster_dict)
     self.master_count = self.cluster.master_count
     self.node_count = self.cluster.node_count
     self.cluster.create()
     self.master = objects.NodeGroup(
         self.context, **self.nodegroups_dict['master'])
     self.worker = objects.NodeGroup(
         self.context, **self.nodegroups_dict['worker'])
Exemplo n.º 10
0
    def setUp(self):
        super(MonitorsTestCase, self).setUp()
        self.requests_mock = self.useFixture(fixture.Fixture())
        cluster = utils.get_test_cluster(node_addresses=['1.2.3.4'],
                                         api_address='https://5.6.7.8:2376',
                                         master_addresses=['10.0.0.6'],
                                         labels={})
        self.cluster = objects.Cluster(self.context, **cluster)
        cluster_template = (utils.get_test_cluster_template(
            master_lb_enabled=False))
        self.cluster.cluster_template = (objects.ClusterTemplate(
            self.context, **cluster_template))
        nodegroups = utils.get_nodegroups_for_cluster(
            node_addresses=['1.2.3.4'], master_addresses=['10.0.0.6'])
        self.nodegroups = [
            objects.NodeGroup(self.context, **nodegroups['master']),
            objects.NodeGroup(self.context, **nodegroups['worker'])
        ]
        self.monitor = swarm_monitor.SwarmMonitor(self.context, self.cluster)
        self.v2_monitor = swarm_v2_monitor.SwarmMonitor(
            self.context, self.cluster)
        self.k8s_monitor = k8s_monitor.K8sMonitor(self.context, self.cluster)
        self.mesos_monitor = mesos_monitor.MesosMonitor(
            self.context, self.cluster)
        p = mock.patch(
            'magnum.drivers.swarm_fedora_atomic_v1.monitor.'
            'SwarmMonitor.metrics_spec',
            new_callable=mock.PropertyMock)
        self.mock_metrics_spec = p.start()
        self.mock_metrics_spec.return_value = self.test_metrics_spec
        self.addCleanup(p.stop)

        p2 = mock.patch(
            'magnum.drivers.swarm_fedora_atomic_v2.monitor.'
            'SwarmMonitor.metrics_spec',
            new_callable=mock.PropertyMock)
        self.mock_metrics_spec_v2 = p2.start()
        self.mock_metrics_spec_v2.return_value = self.test_metrics_spec
        self.addCleanup(p2.stop)
Exemplo n.º 11
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)

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

        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])

        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])
Exemplo n.º 12
0
 def setUp(self):
     super(TestClusterTemplateObject, self).setUp()
     self.fake_cluster_template = utils.get_test_cluster_template()
Exemplo n.º 13
0
    def setup_poll_test(self,
                        mock_driver,
                        mock_openstack_client,
                        cfg,
                        mock_retrieve_cluster_template,
                        default_stack_status=None,
                        status_reason=None,
                        stack_params=None,
                        stack_missing=False):
        cfg.CONF.cluster_heat.max_attempts = 10

        if default_stack_status is None:
            default_stack_status = cluster_status.CREATE_COMPLETE

        cluster = mock.MagicMock(nodegroups=list())

        def_worker = self._create_nodegroup(cluster,
                                            'worker_ng',
                                            'stack1',
                                            name='worker_ng',
                                            role='worker',
                                            is_default=True,
                                            stack_status=default_stack_status,
                                            status_reason=status_reason,
                                            stack_params=stack_params,
                                            stack_missing=stack_missing)
        def_master = self._create_nodegroup(cluster,
                                            'master_ng',
                                            'stack1',
                                            name='master_ng',
                                            role='master',
                                            is_default=True,
                                            stack_status=default_stack_status,
                                            status_reason=status_reason,
                                            stack_params=stack_params,
                                            stack_missing=stack_missing)

        cluster.default_ng_worker = def_worker
        cluster.default_ng_master = def_master

        self.def_ngs = [def_worker, def_master]

        def get_ng_stack(stack_id, resolve_outputs=False):
            try:
                return self.mock_stacks[stack_id]
            except KeyError:
                # In this case we intentionally didn't add the stack
                # to the mock_stacks dict to simulte a not found error.
                # For this reason raise heat NotFound exception.
                raise heatexc.NotFound("stack not found")

        cluster_template_dict = utils.get_test_cluster_template(
            coe='kubernetes')
        mock_heat_client = mock.MagicMock()
        mock_heat_client.stacks.get = get_ng_stack
        mock_openstack_client.heat.return_value = mock_heat_client
        cluster_template = objects.ClusterTemplate(self.context,
                                                   **cluster_template_dict)
        mock_retrieve_cluster_template.return_value = cluster_template
        mock_driver.return_value = k8s_atomic_dr.Driver()
        poller = heat_driver.HeatPoller(mock_openstack_client,
                                        mock.MagicMock(), cluster,
                                        k8s_atomic_dr.Driver())
        poller.get_version_info = mock.MagicMock()
        return (cluster, poller)
Exemplo n.º 14
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)

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

        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])

        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])
Exemplo n.º 15
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])
Exemplo n.º 16
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])
Exemplo n.º 17
0
def cluster_template_post_data(**kw):
    cluster_template = utils.get_test_cluster_template(**kw)
    internal = cluster_tmp_ctrl.ClusterTemplatePatchType.internal_attrs()
    return remove_internal(cluster_template, internal)
Exemplo n.º 18
0
def baymodel_post_data(**kw):
    baymodel = utils.get_test_cluster_template(**kw)
    internal = baymodel_controller.BayModelPatchType.internal_attrs()
    return remove_internal(baymodel, internal)
Exemplo n.º 19
0
    def test_get_bay_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)

        bay1 = utils.create_test_bay(
            name='bay-one',
            uuid=uuidutils.generate_uuid(),
            baymodel_id=ct1['uuid'],
            status=bay_status.CREATE_IN_PROGRESS)
        bay2 = utils.create_test_bay(
            name='bay-two',
            uuid=uuidutils.generate_uuid(),
            baymodel_id=ct2['uuid'],
            node_count=1,
            master_count=1,
            status=bay_status.UPDATE_IN_PROGRESS)
        bay3 = utils.create_test_bay(
            name='bay-three',
            node_count=2,
            master_count=5,
            status=bay_status.DELETE_IN_PROGRESS)

        res = self.dbapi.get_bay_list(self.context,
                                      filters={'baymodel_id': ct1['uuid']})
        self.assertEqual([bay1.id], [r.id for r in res])

        res = self.dbapi.get_bay_list(self.context,
                                      filters={'baymodel_id': ct2['uuid']})
        self.assertEqual([bay2.id], [r.id for r in res])

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

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

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

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

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

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

        filters = {'status': [bay_status.CREATE_IN_PROGRESS,
                              bay_status.DELETE_IN_PROGRESS]}
        res = self.dbapi.get_bay_list(self.context,
                                      filters=filters)
        self.assertEqual([bay1.id, bay3.id], [r.id for r in res])
Exemplo n.º 20
0
def baymodel_post_data(**kw):
    baymodel = utils.get_test_cluster_template(**kw)
    internal = baymodel_controller.BayModelPatchType.internal_attrs()
    return remove_internal(baymodel, internal)
Exemplo n.º 21
0
def cluster_template_post_data(**kw):
    cluster_template = utils.get_test_cluster_template(**kw)
    internal = cluster_tmp_ctrl.ClusterTemplatePatchType.internal_attrs()
    return remove_internal(cluster_template, internal)
Exemplo n.º 22
0
 def setUp(self):
     super(TestClusterTemplateObject, self).setUp()
     self.fake_cluster_template = utils.get_test_cluster_template()