Пример #1
0
    def test_upgrade_cluster_as_admin(self):
        token_info = {
            'token': {
                'project': {
                    'id': 'fake_project_1'
                },
                'user': {
                    'id': 'fake_user_1'
                }
            }
        }
        user_context = magnum_context.RequestContext(
            auth_token_info=token_info,
            project_id='fake_project_1',
            user_id='fake_user_1',
            is_admin=False)
        cluster_uuid = uuidutils.generate_uuid()
        cluster_template_uuid = uuidutils.generate_uuid()
        obj_utils.create_test_cluster_template(user_context,
                                               public=True,
                                               uuid=cluster_template_uuid)
        obj_utils.create_test_cluster(
            user_context,
            uuid=cluster_uuid,
            cluster_template_id=cluster_template_uuid)

        cluster_upgrade_req = {"cluster_template": "test_2"}
        self.context.is_admin = True
        response = self.post_json(
            '/clusters/%s/actions/upgrade' % cluster_uuid,
            cluster_upgrade_req,
            headers={"Openstack-Api-Version": "container-infra 1.8"})

        self.assertEqual(202, response.status_int)
Пример #2
0
 def setUp(self):
     super(TestListNodegroups, self).setUp()
     obj_utils.create_test_cluster_template(self.context)
     self.cluster_uuid = uuidutils.generate_uuid()
     obj_utils.create_test_cluster(self.context, uuid=self.cluster_uuid)
     self.cluster = objects.Cluster.get_by_uuid(self.context,
                                                self.cluster_uuid)
Пример #3
0
 def test_delete_cluster_as_admin(self, mock_context, mock_policy):
     temp_uuid = uuidutils.generate_uuid()
     obj_utils.create_test_cluster(self.context, uuid=temp_uuid)
     self.context.is_admin = True
     response = self.delete('/clusters/%s' % temp_uuid,
                            expect_errors=True)
     self.assertEqual(204, response.status_int)
Пример #4
0
 def test_delete_cluster_as_admin(self, mock_context, mock_policy):
     temp_uuid = uuidutils.generate_uuid()
     obj_utils.create_test_cluster(self.context, uuid=temp_uuid)
     self.context.is_admin = True
     response = self.delete('/clusters/%s' % temp_uuid,
                            expect_errors=True)
     self.assertEqual(204, response.status_int)
Пример #5
0
 def test_get_invalid_type_stats(self):
     obj_utils.create_test_cluster(self.context,
                                   project_id=123,
                                   uuid='uuid1')
     self.assertRaises(AppError,
                       self.get_json,
                       '/stats?project_id=123&type=invalid',
                       headers=self.base_headers)
Пример #6
0
 def setUp(self):
     super(TestListNodegroups, self).setUp()
     obj_utils.create_test_cluster_template(self.context)
     self.cluster_uuid = uuidutils.generate_uuid()
     obj_utils.create_test_cluster(
         self.context, uuid=self.cluster_uuid)
     self.cluster = objects.Cluster.get_by_uuid(self.context,
                                                self.cluster_uuid)
Пример #7
0
 def test_get_invalid_type_stats(self):
     obj_utils.create_test_cluster(self.context,
                                   project_id=123,
                                   uuid='uuid1')
     self.assertRaises(AppError,
                       self.get_json,
                       '/stats?project_id=123&type=invalid',
                       headers=self.base_headers)
Пример #8
0
 def test_get_one_by_uuid_admin(self, mock_context, mock_policy):
     temp_uuid = uuidutils.generate_uuid()
     obj_utils.create_test_cluster(self.context, uuid=temp_uuid,
                                   project_id=temp_uuid)
     self.context.is_admin = True
     response = self.get_json(
         '/clusters/%s' % temp_uuid)
     self.assertEqual(temp_uuid, response['uuid'])
Пример #9
0
 def test_get_one_by_uuid_admin(self, mock_context, mock_policy):
     temp_uuid = uuidutils.generate_uuid()
     obj_utils.create_test_cluster(self.context, uuid=temp_uuid,
                                   project_id=temp_uuid)
     self.context.is_admin = True
     response = self.get_json(
         '/clusters/%s' % temp_uuid)
     self.assertEqual(temp_uuid, response['uuid'])
Пример #10
0
 def test_get_all_as_admin(self, mock_context, mock_policy):
     temp_uuid = uuidutils.generate_uuid()
     obj_utils.create_test_cluster(self.context, uuid=temp_uuid,
                                   project_id=temp_uuid)
     self.context.is_admin = True
     self.context.all_tenants = True
     cluster = objects.Cluster.get_by_uuid(self.context, temp_uuid)
     expected = [ng.uuid for ng in cluster.nodegroups]
     self._test_list_nodegroups(cluster.uuid, expected=expected)
Пример #11
0
 def test_get_all_as_admin(self, mock_context, mock_policy):
     temp_uuid = uuidutils.generate_uuid()
     obj_utils.create_test_cluster(self.context, uuid=temp_uuid,
                                   project_id=temp_uuid)
     self.context.is_admin = True
     self.context.all_tenants = True
     cluster = objects.Cluster.get_by_uuid(self.context, temp_uuid)
     expected = [ng.uuid for ng in cluster.nodegroups]
     self._test_list_nodegroups(cluster.uuid, expected=expected)
Пример #12
0
    def test_collection_links(self):
        for id_ in range(5):
            obj_utils.create_test_cluster(self.context, id=id_,
                                          uuid=uuidutils.generate_uuid())
        response = self.get_json('/clusters/?limit=3')
        self.assertEqual(3, len(response['clusters']))

        next_marker = response['clusters'][-1]['uuid']
        self.assertIn(next_marker, response['next'])
Пример #13
0
 def test_delete_multiple_cluster_by_name(self):
     obj_utils.create_test_cluster(self.context, name='test_cluster',
                                   uuid=uuidutils.generate_uuid())
     obj_utils.create_test_cluster(self.context, name='test_cluster',
                                   uuid=uuidutils.generate_uuid())
     response = self.delete('/clusters/test_cluster', expect_errors=True)
     self.assertEqual(409, response.status_int)
     self.assertEqual('application/json', response.content_type)
     self.assertTrue(response.json['errors'])
Пример #14
0
    def test_collection_links(self):
        for id_ in range(5):
            obj_utils.create_test_cluster(self.context, id=id_,
                                          uuid=uuidutils.generate_uuid())
        response = self.get_json('/clusters/?limit=3')
        self.assertEqual(3, len(response['clusters']))

        next_marker = response['clusters'][-1]['uuid']
        self.assertIn(next_marker, response['next'])
Пример #15
0
 def test_delete_multiple_cluster_by_name(self):
     obj_utils.create_test_cluster(self.context, name='test_cluster',
                                   uuid=uuidutils.generate_uuid())
     obj_utils.create_test_cluster(self.context, name='test_cluster',
                                   uuid=uuidutils.generate_uuid())
     response = self.delete('/clusters/test_cluster', expect_errors=True)
     self.assertEqual(409, response.status_int)
     self.assertEqual('application/json', response.content_type)
     self.assertTrue(response.json['errors'])
Пример #16
0
    def test_get_all_with_all_projects(self, mock_context, mock_policy):
        for id_ in range(4):
            temp_uuid = uuidutils.generate_uuid()
            obj_utils.create_test_cluster(self.context, id=id_,
                                          uuid=temp_uuid,
                                          project_id=id_)

        self.context.is_admin = True
        response = self.get_json('/clusters')
        self.assertEqual(4, len(response['clusters']))
Пример #17
0
    def test_collection_links_default_limit(self):
        cfg.CONF.set_override('max_limit', 3, 'api')
        for id_ in range(5):
            obj_utils.create_test_cluster(self.context, id=id_,
                                          uuid=uuidutils.generate_uuid())
        response = self.get_json('/clusters')
        self.assertEqual(3, len(response['clusters']))

        next_marker = response['clusters'][-1]['uuid']
        self.assertIn(next_marker, response['next'])
Пример #18
0
 def test_update_cluster_as_admin(self, mock_context, mock_policy):
     temp_uuid = uuidutils.generate_uuid()
     obj_utils.create_test_cluster(self.context, uuid=temp_uuid)
     self.context.is_admin = True
     response = self.patch_json('/clusters/%s' % temp_uuid,
                                [{'path': '/node_count',
                                  'value': 4,
                                  'op': 'replace'}])
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(202, response.status_code)
Пример #19
0
 def test_admin_get_all_stats(self, mock_context, mock_policy):
     obj_utils.create_test_cluster(self.context,
                                   project_id=123,
                                   uuid='uuid1')
     obj_utils.create_test_cluster(self.context,
                                   project_id=234,
                                   uuid='uuid2')
     response = self.get_json('/stats', headers=self.base_headers)
     expected = {u'clusters': 2, u'nodes': 12}
     self.assertEqual(expected, response)
Пример #20
0
    def test_get_all_with_all_projects(self, mock_context, mock_policy):
        for id_ in range(4):
            temp_uuid = uuidutils.generate_uuid()
            obj_utils.create_test_cluster(self.context, id=id_,
                                          uuid=temp_uuid,
                                          project_id=id_)

        self.context.is_admin = True
        response = self.get_json('/clusters')
        self.assertEqual(4, len(response['clusters']))
Пример #21
0
 def test_admin_get_all_stats(self, mock_context, mock_policy):
     obj_utils.create_test_cluster(self.context,
                                   project_id=123,
                                   uuid='uuid1')
     obj_utils.create_test_cluster(self.context,
                                   project_id=234,
                                   uuid='uuid2')
     response = self.get_json('/stats', headers=self.base_headers)
     expected = {u'clusters': 2, u'nodes': 12}
     self.assertEqual(expected, response)
Пример #22
0
    def test_collection_links_default_limit(self):
        cfg.CONF.set_override('max_limit', 3, 'api')
        for id_ in range(5):
            obj_utils.create_test_cluster(self.context, id=id_,
                                          uuid=uuidutils.generate_uuid())
        response = self.get_json('/clusters')
        self.assertEqual(3, len(response['clusters']))

        next_marker = response['clusters'][-1]['uuid']
        self.assertIn(next_marker, response['next'])
Пример #23
0
 def test_links(self):
     uuid = uuidutils.generate_uuid()
     obj_utils.create_test_cluster(self.context, id=1, uuid=uuid)
     response = self.get_json('/bays/%s' % uuid)
     self.assertIn('links', response.keys())
     self.assertEqual(2, len(response['links']))
     self.assertIn(uuid, response['links'][0]['href'])
     for l in response['links']:
         bookmark = l['rel'] == 'bookmark'
         self.assertTrue(self.validate_link(l['href'], bookmark=bookmark))
Пример #24
0
 def test_links(self):
     uuid = uuidutils.generate_uuid()
     obj_utils.create_test_cluster(self.context, id=1, uuid=uuid)
     response = self.get_json('/bays/%s' % uuid)
     self.assertIn('links', response.keys())
     self.assertEqual(2, len(response['links']))
     self.assertIn(uuid, response['links'][0]['href'])
     for l in response['links']:
         bookmark = l['rel'] == 'bookmark'
         self.assertTrue(self.validate_link(l['href'], bookmark=bookmark))
Пример #25
0
 def test_admin_get_invalid_tenant_stats(self, mock_context, mock_policy):
     obj_utils.create_test_cluster(self.context,
                                   project_id=123,
                                   uuid='uuid1')
     obj_utils.create_test_cluster(self.context,
                                   project_id=234,
                                   uuid='uuid2')
     self.context.is_admin = True
     response = self.get_json('/stats?project_id=34',
                              headers=self.base_headers)
     expected = {u'clusters': 0, u'nodes': 0}
     self.assertEqual(expected, response)
Пример #26
0
 def test_admin_get_invalid_tenant_stats(self, mock_context, mock_policy):
     obj_utils.create_test_cluster(self.context,
                                   project_id=123,
                                   uuid='uuid1')
     obj_utils.create_test_cluster(self.context,
                                   project_id=234,
                                   uuid='uuid2')
     self.context.is_admin = True
     response = self.get_json('/stats?project_id=34',
                              headers=self.base_headers)
     expected = {u'clusters': 0, u'nodes': 0}
     self.assertEqual(expected, response)
Пример #27
0
    def test_get_one_by_name_multiple_cluster(self):
        obj_utils.create_test_cluster(self.context, name='test_cluster',
                                      uuid=uuidutils.generate_uuid())
        obj_utils.create_test_cluster(self.context, name='test_cluster',
                                      uuid=uuidutils.generate_uuid())

        response = self.get_json('/certificates/test_cluster',
                                 expect_errors=True, headers=HEADERS)

        self.assertEqual(409, response.status_int)
        self.assertEqual('application/json', response.content_type)
        self.assertTrue(response.json['errors'])
Пример #28
0
 def test_get_one_as_admin(self, mock_context, mock_policy):
     temp_uuid = uuidutils.generate_uuid()
     obj_utils.create_test_cluster(self.context, uuid=temp_uuid,
                                   project_id=temp_uuid)
     self.context.is_admin = True
     self.context.all_tenants = True
     cluster = objects.Cluster.get_by_uuid(self.context, temp_uuid)
     worker = cluster.default_ng_worker
     url = '/clusters/%s/nodegroups/%s' % (cluster.uuid, worker.uuid)
     response = self.get_json(url)
     self.assertEqual(worker.name, response['name'])
     self._verify_attrs(self._nodegroup_attrs, response)
     self._verify_attrs(self._expanded_attrs, response)
Пример #29
0
 def test_delete_nodegroup_as_admin(self, mock_context, mock_policy):
     cluster_uuid = uuidutils.generate_uuid()
     obj_utils.create_test_cluster(self.context, uuid=cluster_uuid,
                                   project_id='fake', name='test-fake')
     ng_uuid = uuidutils.generate_uuid()
     obj_utils.create_test_nodegroup(self.context, uuid=ng_uuid,
                                     cluster_id=cluster_uuid,
                                     is_default=False,
                                     project_id='fake', id=50)
     self.context.is_admin = True
     url = '/clusters/%s/nodegroups/%s' % (cluster_uuid, ng_uuid)
     response = self.delete(url)
     self.assertEqual(204, response.status_int)
Пример #30
0
 def test_get_one_as_admin(self, mock_context, mock_policy):
     temp_uuid = uuidutils.generate_uuid()
     obj_utils.create_test_cluster(self.context, uuid=temp_uuid,
                                   project_id=temp_uuid)
     self.context.is_admin = True
     self.context.all_tenants = True
     cluster = objects.Cluster.get_by_uuid(self.context, temp_uuid)
     worker = cluster.default_ng_worker
     url = '/clusters/%s/nodegroups/%s' % (cluster.uuid, worker.uuid)
     response = self.get_json(url)
     self.assertEqual(worker.name, response['name'])
     self._verify_attrs(self._nodegroup_attrs, response)
     self._verify_attrs(self._expanded_attrs, response)
Пример #31
0
 def test_get_self_stats_without_param(self):
     obj_utils.create_test_cluster(self.context,
                                   project_id=123,
                                   uuid='uuid1')
     obj_utils.create_test_cluster(self.context,
                                   project_id=234,
                                   uuid='uuid2',
                                   node_count=5,
                                   master_count=1)
     headers = self.base_headers.copy()
     headers['X-Project-Id'] = '234'
     response = self.get_json('/stats', headers=headers)
     expected = {u'clusters': 1, u'nodes': 6}
     self.assertEqual(expected, response)
Пример #32
0
 def test_get_some_other_user_stats(self):
     obj_utils.create_test_cluster(self.context,
                                   project_id=123,
                                   uuid='uuid1')
     obj_utils.create_test_cluster(self.context,
                                   project_id=234,
                                   uuid='uuid2',
                                   node_count=5)
     headers = self.base_headers.copy()
     headers['X-Project-Id'] = '234'
     self.assertRaises(AppError,
                       self.get_json,
                       '/stats?project_id=123',
                       headers=headers)
Пример #33
0
 def test_get_some_other_user_stats(self):
     obj_utils.create_test_cluster(self.context,
                                   project_id=123,
                                   uuid='uuid1')
     obj_utils.create_test_cluster(self.context,
                                   project_id=234,
                                   uuid='uuid2',
                                   node_count=5)
     headers = self.base_headers.copy()
     headers['X-Project-Id'] = '234'
     self.assertRaises(AppError,
                       self.get_json,
                       '/stats?project_id=123',
                       headers=headers)
Пример #34
0
    def test_replace_ok_by_name_multiple_bay(self, mock_utcnow):
        test_time = datetime.datetime(2000, 1, 1, 0, 0)
        mock_utcnow.return_value = test_time

        obj_utils.create_test_cluster(self.context, name='test_bay',
                                      uuid=uuidutils.generate_uuid())
        obj_utils.create_test_cluster(self.context, name='test_bay',
                                      uuid=uuidutils.generate_uuid())

        response = self.patch_json('/bays/test_bay',
                                   [{'path': '/name', 'value': 'test_bay',
                                     'op': 'replace'}],
                                   expect_errors=True)
        self.assertEqual('application/json', response.content_type)
        self.assertEqual(409, response.status_code)
Пример #35
0
 def test_get_self_stats_without_param(self):
     obj_utils.create_test_cluster(self.context,
                                   project_id=123,
                                   uuid='uuid1')
     obj_utils.create_test_cluster(self.context,
                                   project_id=234,
                                   uuid='uuid2',
                                   node_count=5,
                                   master_count=1)
     headers = self.base_headers.copy()
     headers['X-Project-Id'] = '234'
     response = self.get_json('/stats',
                              headers=headers)
     expected = {u'clusters': 1, u'nodes': 6}
     self.assertEqual(expected, response)
Пример #36
0
    def test_replace_ok_by_name_multiple_bay(self, mock_utcnow):
        test_time = datetime.datetime(2000, 1, 1, 0, 0)
        mock_utcnow.return_value = test_time

        obj_utils.create_test_cluster(self.context, name='test_bay',
                                      uuid=uuidutils.generate_uuid())
        obj_utils.create_test_cluster(self.context, name='test_bay',
                                      uuid=uuidutils.generate_uuid())

        response = self.patch_json('/bays/test_bay',
                                   [{'path': '/name', 'value': 'test_bay',
                                     'op': 'replace'}],
                                   expect_errors=True)
        self.assertEqual('application/json', response.content_type)
        self.assertEqual(409, response.status_code)
Пример #37
0
 def test_get_one_failed_cluster_heatclient_exception(self, mock_heat):
     mock_heat.resources.list.side_effect = Exception('fake')
     cluster = obj_utils.create_test_cluster(self.context,
                                             status='CREATE_FAILED')
     response = self.get_json('/clusters/%s' % cluster['uuid'])
     self.assertEqual(cluster.uuid, response['uuid'])
     self.assertEqual({}, response['faults'])
Пример #38
0
 def test_get_one_failed_cluster_heatclient_exception(self, mock_heat):
     mock_heat.resources.list.side_effect = Exception('fake')
     cluster = obj_utils.create_test_cluster(self.context,
                                             status='CREATE_FAILED')
     response = self.get_json('/clusters/%s' % cluster['uuid'])
     self.assertEqual(cluster.uuid, response['uuid'])
     self.assertEqual({}, response['faults'])
Пример #39
0
 def test_policy_only_owner_delete(self):
     cluster = obj_utils.create_test_cluster(self.context,
                                             user_id='another')
     self._owner_check("cluster:delete",
                       self.delete,
                       '/clusters/%s' % cluster.uuid,
                       expect_errors=True)
Пример #40
0
 def setUp(self):
     super(TestClusterUpgrade, self).setUp()
     self.cluster_template1 = obj_utils.create_test_cluster_template(
         self.context,
         uuid='94889766-e686-11e9-81b4-2a2ae2dbcce4',
         name='test_1',
         id=1)
     self.cluster_template2 = obj_utils.create_test_cluster_template(
         self.context,
         uuid='94889aa4-e686-11e9-81b4-2a2ae2dbcce4',
         name='test_2',
         id=2)
     self.cluster_obj = obj_utils.create_test_cluster(
         self.context,
         name='cluster_example_A',
         cluster_template_id=self.cluster_template1.uuid)
     self.nodegroup_obj = obj_utils.create_test_nodegroup(
         self.context,
         name='test_ng',
         cluster_id=self.cluster_obj.uuid,
         uuid='27e3153e-d5bf-4b7e-b517-fb518e17f34c',
         project_id=self.cluster_obj.project_id,
         is_default=False)
     p = mock.patch.object(rpcapi.API, 'cluster_upgrade')
     self.mock_cluster_upgrade = p.start()
     self.mock_cluster_upgrade.side_effect = self._sim_rpc_cluster_upgrade
     self.addCleanup(p.stop)
Пример #41
0
 def setUp(self):
     super(TestPost, self).setUp()
     p = mock.patch.object(rpcapi.API, 'federation_create_async')
     self.mock_fed_create = p.start()
     self.mock_fed_create.side_effect = self._simulate_federation_create
     self.addCleanup(p.stop)
     self.hostcluster = obj_utils.create_test_cluster(self.context)
Пример #42
0
 def test_policy_disallow_get_one(self):
     cluster = obj_utils.create_test_cluster(self.context)
     self._common_policy_check("certificate:get",
                               self.get_json,
                               '/certificates/%s' % cluster.uuid,
                               expect_errors=True,
                               headers=HEADERS)
Пример #43
0
 def test_policy_disallow_create(self):
     cluster = obj_utils.create_test_cluster(self.context)
     cert = api_utils.cert_post_data(cluster_uuid=cluster.uuid)
     self._common_policy_check("certificate:create",
                               self.post_json,
                               '/certificates',
                               cert,
                               expect_errors=True)
Пример #44
0
 def test_policy_disallow_update(self):
     self.bay = obj_utils.create_test_cluster(self.context,
                                              name='bay_example_A',
                                              node_count=3)
     self._common_policy_check(
         "bay:update", self.patch_json, '/bays/%s' % self.bay.name,
         [{'path': '/name', 'value': "new_name", 'op': 'replace'}],
         expect_errors=True)
Пример #45
0
 def test_update_nodegroup_as_admin(self, mock_context, mock_policy):
     cluster_uuid = uuidutils.generate_uuid()
     obj_utils.create_test_cluster(self.context, uuid=cluster_uuid,
                                   project_id='fake', name='test-fake')
     ng_uuid = uuidutils.generate_uuid()
     obj_utils.create_test_nodegroup(self.context, uuid=ng_uuid,
                                     cluster_id=cluster_uuid,
                                     is_default=False,
                                     project_id='fake', id=50)
     self.context.is_admin = True
     url = '/clusters/%s/nodegroups/%s' % (cluster_uuid, ng_uuid)
     response = self.patch_json(url,
                                [{'path': '/max_node_count',
                                  'value': 4,
                                  'op': 'replace'}])
     self.assertEqual('application/json', response.content_type)
     self.assertEqual(202, response.status_code)
Пример #46
0
 def test_policy_disallow_update(self):
     self.bay = obj_utils.create_test_cluster(self.context,
                                              name='bay_example_A',
                                              node_count=3)
     self._common_policy_check(
         "bay:update", self.patch_json, '/bays/%s' % self.bay.name,
         [{'path': '/name', 'value': "new_name", 'op': 'replace'}],
         expect_errors=True)
Пример #47
0
 def test_policy_only_owner_update(self):
     cluster = obj_utils.create_test_cluster(self.context,
                                             user_id='another')
     self._owner_check(
         "cluster:update", self.patch_json,
         '/clusters/%s' % cluster.uuid,
         [{'path': '/name', 'value': "new_name", 'op': 'replace'}],
         expect_errors=True)
Пример #48
0
 def test_policy_disallow_rotate(self):
     cluster = obj_utils.create_test_cluster(self.context)
     self._common_policy_check("certificate:rotate_ca",
                               self.patch_json,
                               '/certificates/%s' % cluster.uuid,
                               params={},
                               expect_errors=True,
                               headers=HEADERS)
Пример #49
0
 def setUp(self):
     super(TestClusterActions, self).setUp()
     self.cluster_obj = obj_utils.create_test_cluster(
         self.context, name='cluster_example_A', node_count=3)
     p = mock.patch.object(rpcapi.API, 'cluster_resize_async')
     self.mock_cluster_resize = p.start()
     self.mock_cluster_resize.side_effect = self._sim_rpc_cluster_resize
     self.addCleanup(p.stop)
Пример #50
0
 def test_policy_only_owner_update(self):
     cluster = obj_utils.create_test_cluster(self.context,
                                             user_id='another')
     self._owner_check(
         "cluster:update", self.patch_json,
         '/clusters/%s' % cluster.uuid,
         [{'path': '/name', 'value': "new_name", 'op': 'replace'}],
         expect_errors=True)
Пример #51
0
 def setUp(self):
     super(TestClusterResize, self).setUp()
     self.cluster_obj = obj_utils.create_test_cluster(
         self.context, name='cluster_example_A', node_count=3)
     p = mock.patch.object(rpcapi.API, 'cluster_resize_async')
     self.mock_cluster_resize = p.start()
     self.mock_cluster_resize.side_effect = self._sim_rpc_cluster_resize
     self.addCleanup(p.stop)
Пример #52
0
 def setUp(self):
     super(TestDelete, self).setUp()
     self.cluster_template = obj_utils.create_test_cluster_template(
         self.context)
     self.cluster = obj_utils.create_test_cluster(self.context)
     p = mock.patch.object(rpcapi.API, 'cluster_delete_async')
     self.mock_cluster_delete = p.start()
     self.mock_cluster_delete.side_effect = self._simulate_cluster_delete
     self.addCleanup(p.stop)
Пример #53
0
    def test_one(self):
        bay = obj_utils.create_test_cluster(self.context)
        response = self.get_json('/bays')
        self.assertEqual(bay.uuid, response['bays'][0]["uuid"])
        self._verify_attrs(self._bay_attrs, response['bays'][0])

        # Verify atts that should not appear from bay's get_all response
        none_attrs = set(self._expand_bay_attrs) - set(self._bay_attrs)
        self._verify_attrs(none_attrs, response['bays'][0], positive=False)
Пример #54
0
 def test_policy_disallow_delete(self):
     p = mock.patch.object(rpcapi.API, 'cluster_delete')
     self.mock_bay_delete = p.start()
     self.mock_bay_delete.side_effect = self._simulate_rpc_bay_delete
     self.addCleanup(p.stop)
     self.bay = obj_utils.create_test_cluster(self.context)
     self._common_policy_check(
         "bay:delete", self.delete, '/bays/%s' % self.bay.uuid,
         expect_errors=True)
Пример #55
0
    def setUp(self):
        super(TestGetCertificate, self).setUp()
        self.cluster = obj_utils.create_test_cluster(self.context)

        conductor_api_patcher = mock.patch('magnum.conductor.api.API')
        self.conductor_api_class = conductor_api_patcher.start()
        self.conductor_api = mock.MagicMock()
        self.conductor_api_class.return_value = self.conductor_api
        self.addCleanup(conductor_api_patcher.stop)
Пример #56
0
 def setUp(self):
     super(TestPatch, self).setUp()
     self.cluster_template_obj = obj_utils.create_test_cluster_template(
         self.context)
     self.cluster_obj = obj_utils.create_test_cluster(
         self.context, name='cluster_example_A', node_count=3)
     p = mock.patch.object(rpcapi.API, 'bay_update_async')
     self.mock_bay_update = p.start()
     self.mock_bay_update.side_effect = self._simulate_rpc_bay_update
     self.addCleanup(p.stop)
Пример #57
0
 def test_many(self):
     bm_list = []
     for id_ in range(5):
         bay = obj_utils.create_test_cluster(self.context, id=id_,
                                             uuid=uuidutils.generate_uuid())
         bm_list.append(bay.uuid)
     response = self.get_json('/bays')
     self.assertEqual(len(bm_list), len(response['bays']))
     uuids = [b['uuid'] for b in response['bays']]
     self.assertEqual(sorted(bm_list), sorted(uuids))
Пример #58
0
    def test_get_all_with_pagination_marker(self):
        bay_list = []
        for id_ in range(4):
            bay = obj_utils.create_test_cluster(self.context, id=id_,
                                                uuid=uuidutils.generate_uuid())
            bay_list.append(bay)

        response = self.get_json('/bays?limit=3&marker=%s'
                                 % bay_list[2].uuid)
        self.assertEqual(1, len(response['bays']))
        self.assertEqual(bay_list[-1].uuid, response['bays'][0]['uuid'])
Пример #59
0
    def test_one(self):
        cluster = obj_utils.create_test_cluster(self.context)
        response = self.get_json('/clusters')
        self.assertEqual(cluster.uuid, response['clusters'][0]["uuid"])
        self._verify_attrs(self._cluster_attrs, response['clusters'][0])

        # Verify attrs do not appear from cluster's get_all response
        none_attrs = \
            set(self._expand_cluster_attrs) - set(self._cluster_attrs)
        self._verify_attrs(none_attrs, response['clusters'][0],
                           positive=False)
Пример #60
0
    def test_get_one_failed_cluster(self, mock_heat):
        fake_resources = mock.MagicMock()
        fake_resources.resource_name = 'fake_name'
        fake_resources.resource_status_reason = 'fake_reason'

        ht = mock.MagicMock()
        ht.resources.list.return_value = [fake_resources]
        mock_heat.return_value = ht

        cluster = obj_utils.create_test_cluster(self.context,
                                                status='CREATE_FAILED')
        response = self.get_json('/clusters/%s' % cluster['uuid'])
        self.assertEqual(cluster.uuid, response['uuid'])
        self.assertEqual({'fake_name': 'fake_reason'}, response['faults'])