Пример #1
0
    def test_create_snapshot(self):
        self.stubs.Set(SolidFireDriver, '_issue_api_request',
                       self.fake_issue_api_request)
        self.stubs.Set(SolidFireDriver, '_get_model_info',
                       self.fake_get_model_info)
        testvol = {
            'project_id': 'testprjid',
            'name': 'testvol',
            'size': 1,
            'id': 'a720b3c0-d1f0-11e1-9b23-0800200c9a66',
            'volume_type_id': None,
            'created_at': timeutils.utcnow()
        }

        testsnap = {
            'project_id': 'testprjid',
            'name': 'testvol',
            'volume_size': 1,
            'id': 'b831c4d1-d1f0-11e1-9b23-0800200c9a66',
            'volume_id': 'a720b3c0-d1f0-11e1-9b23-0800200c9a66',
            'volume_type_id': None,
            'created_at': timeutils.utcnow()
        }

        sfv = SolidFireDriver(configuration=self.configuration)
        sfv.create_volume(testvol)
        sfv.create_snapshot(testsnap)
Пример #2
0
    def test_create_volume_for_migration(self):
        def _fake_do_v_create(self, project_id, params):
            return project_id, params

        self.stubs.Set(SolidFireDriver, '_issue_api_request',
                       self.fake_issue_api_request)
        self.stubs.Set(SolidFireDriver, '_do_volume_create', _fake_do_v_create)

        testvol = {'project_id': 'testprjid',
                   'name': 'testvol',
                   'size': 1,
                   'id': 'b830b3c0-d1f0-11e1-9b23-1900200c9a77',
                   'volume_type_id': None,
                   'created_at': timeutils.utcnow(),
                   'migration_status': 'target:'
                                       'a720b3c0-d1f0-11e1-9b23-0800200c9a66'}

        sfv = SolidFireDriver(configuration=self.configuration)
        proj_id, sf_vol_object = sfv.create_volume(testvol)
        self.assertEqual('a720b3c0-d1f0-11e1-9b23-0800200c9a66',
                         sf_vol_object['attributes']['uuid'])
        self.assertEqual('b830b3c0-d1f0-11e1-9b23-1900200c9a77',
                         sf_vol_object['attributes']['migration_uuid'])
        self.assertEqual('UUID-a720b3c0-d1f0-11e1-9b23-0800200c9a66',
                         sf_vol_object['name'])
Пример #3
0
    def test_create_volume_for_migration(self):
        def _fake_do_v_create(self, project_id, params):
            return project_id, params

        self.stubs.Set(SolidFireDriver, '_issue_api_request',
                       self.fake_issue_api_request)
        self.stubs.Set(SolidFireDriver, '_do_volume_create', _fake_do_v_create)

        testvol = {'project_id': 'testprjid',
                   'name': 'testvol',
                   'size': 1,
                   'id': 'b830b3c0-d1f0-11e1-9b23-1900200c9a77',
                   'volume_type_id': None,
                   'created_at': timeutils.utcnow(),
                   'migration_status': 'target:'
                                       'a720b3c0-d1f0-11e1-9b23-0800200c9a66'}

        sfv = SolidFireDriver(configuration=self.configuration)
        proj_id, sf_vol_object = sfv.create_volume(testvol)
        self.assertEqual('a720b3c0-d1f0-11e1-9b23-0800200c9a66',
                         sf_vol_object['attributes']['uuid'])
        self.assertEqual('b830b3c0-d1f0-11e1-9b23-1900200c9a77',
                         sf_vol_object['attributes']['migration_uuid'])
        self.assertEqual('UUID-a720b3c0-d1f0-11e1-9b23-0800200c9a66',
                         sf_vol_object['name'])
Пример #4
0
    def test_create_snapshot(self):
        self.stubs.Set(SolidFireDriver, "_issue_api_request", self.fake_issue_api_request)
        self.stubs.Set(SolidFireDriver, "_get_model_info", self.fake_get_model_info)
        testvol = {
            "project_id": "testprjid",
            "name": "testvol",
            "size": 1,
            "id": "a720b3c0-d1f0-11e1-9b23-0800200c9a66",
            "volume_type_id": None,
            "created_at": timeutils.utcnow(),
        }

        testsnap = {
            "project_id": "testprjid",
            "name": "testvol",
            "volume_size": 1,
            "id": "b831c4d1-d1f0-11e1-9b23-0800200c9a66",
            "volume_id": "a720b3c0-d1f0-11e1-9b23-0800200c9a66",
            "volume_type_id": None,
            "created_at": timeutils.utcnow(),
        }

        sfv = SolidFireDriver(configuration=self.configuration)
        model_update = sfv.create_volume(testvol)
        sfv.create_snapshot(testsnap)
Пример #5
0
 def test_create_volume_fails(self):
     # NOTE(JDG) This test just fakes update_cluster_status
     # this is inentional for this test
     self.stubs.Set(SolidFireDriver, '_update_cluster_status',
                    self.fake_update_cluster_status)
     self.stubs.Set(SolidFireDriver, '_issue_api_request',
                    self.fake_issue_api_request_fails)
     testvol = {'project_id': 'testprjid',
                'name': 'testvol',
                'size': 1,
                'id': 'a720b3c0-d1f0-11e1-9b23-0800200c9a66'}
     sfv = SolidFireDriver(configuration=self.configuration)
     try:
         sfv.create_volume(testvol)
         self.fail("Should have thrown Error")
     except Exception:
         pass
Пример #6
0
 def test_create_volume_fails(self):
     # NOTE(JDG) This test just fakes update_cluster_status
     # this is inentional for this test
     self.stubs.Set(SolidFireDriver, '_update_cluster_status',
                    self.fake_update_cluster_status)
     self.stubs.Set(SolidFireDriver, '_issue_api_request',
                    self.fake_issue_api_request_fails)
     testvol = {'project_id': 'testprjid',
                'name': 'testvol',
                'size': 1,
                'id': 'a720b3c0-d1f0-11e1-9b23-0800200c9a66',
                'created_at': timeutils.utcnow()}
     sfv = SolidFireDriver(configuration=self.configuration)
     try:
         sfv.create_volume(testvol)
         self.fail("Should have thrown Error")
     except Exception:
         pass
Пример #7
0
 def test_create_volume_fails(self):
     # NOTE(JDG) This test just fakes update_cluster_status
     # this is inentional for this test
     self.stubs.Set(SolidFireDriver, "_update_cluster_status", self.fake_update_cluster_status)
     self.stubs.Set(SolidFireDriver, "_issue_api_request", self.fake_issue_api_request_fails)
     testvol = {
         "project_id": "testprjid",
         "name": "testvol",
         "size": 1,
         "id": "a720b3c0-d1f0-11e1-9b23-0800200c9a66",
         "created_at": timeutils.utcnow(),
     }
     sfv = SolidFireDriver(configuration=self.configuration)
     try:
         sfv.create_volume(testvol)
         self.fail("Should have thrown Error")
     except Exception:
         pass
Пример #8
0
 def test_create_volume(self):
     self.stubs.Set(SolidFireDriver, '_issue_api_request',
                    self.fake_issue_api_request)
     testvol = {'project_id': 'testprjid',
                'name': 'testvol',
                'size': 1,
                'id': 'a720b3c0-d1f0-11e1-9b23-0800200c9a66',
                'volume_type_id': None}
     sfv = SolidFireDriver(configuration=self.configuration)
     model_update = sfv.create_volume(testvol)
     self.assertNotEqual(model_update, None)
     self.assertEqual(model_update.get('provider_geometry', None), None)
Пример #9
0
    def test_create_snapshot(self):
        self.stubs.Set(SolidFireDriver, '_issue_api_request',
                       self.fake_issue_api_request)
        self.stubs.Set(SolidFireDriver, '_get_model_info',
                       self.fake_get_model_info)
        testvol = {'project_id': 'testprjid',
                   'name': 'testvol',
                   'size': 1,
                   'id': 'a720b3c0-d1f0-11e1-9b23-0800200c9a66',
                   'volume_type_id': None,
                   'created_at': timeutils.utcnow()}

        testsnap = {'project_id': 'testprjid',
                    'name': 'testvol',
                    'volume_size': 1,
                    'id': 'b831c4d1-d1f0-11e1-9b23-0800200c9a66',
                    'volume_id': 'a720b3c0-d1f0-11e1-9b23-0800200c9a66',
                    'volume_type_id': None,
                    'created_at': timeutils.utcnow()}

        sfv = SolidFireDriver(configuration=self.configuration)
        sfv.create_volume(testvol)
        sfv.create_snapshot(testsnap)
Пример #10
0
    def test_create_volume(self):
        self.stubs.Set(SolidFireDriver, '_issue_api_request',
                       self.fake_issue_api_request)
        testvol = {'project_id': 'testprjid',
                   'name': 'testvol',
                   'size': 1,
                   'id': 'a720b3c0-d1f0-11e1-9b23-0800200c9a66',
                   'volume_type_id': None,
                   'created_at': timeutils.utcnow()}

        sfv = SolidFireDriver(configuration=self.configuration)
        model_update = sfv.create_volume(testvol)
        self.assertIsNotNone(model_update)
        self.assertIsNone(model_update.get('provider_geometry', None))
Пример #11
0
    def test_create_with_qos_type(self):
        self.stubs.Set(SolidFireDriver, '_issue_api_request',
                       self.fake_issue_api_request)
        self.stubs.Set(SolidFireDriver, '_set_qos_by_volume_type',
                       self.fake_set_qos_by_volume_type)
        testvol = {'project_id': 'testprjid',
                   'name': 'testvol',
                   'size': 1,
                   'id': 'a720b3c0-d1f0-11e1-9b23-0800200c9a66',
                   'volume_type_id': 'fast'}

        sfv = SolidFireDriver(configuration=self.configuration)
        model_update = sfv.create_volume(testvol)
        self.assertNotEqual(model_update, None)
Пример #12
0
    def test_create_with_qos_type(self):
        self.stubs.Set(SolidFireDriver, '_issue_api_request',
                       self.fake_issue_api_request)
        self.stubs.Set(SolidFireDriver, '_set_qos_by_volume_type',
                       self.fake_set_qos_by_volume_type)
        testvol = {'project_id': 'testprjid',
                   'name': 'testvol',
                   'size': 1,
                   'id': 'a720b3c0-d1f0-11e1-9b23-0800200c9a66',
                   'volume_type_id': 'fast',
                   'created_at': timeutils.utcnow()}

        sfv = SolidFireDriver(configuration=self.configuration)
        model_update = sfv.create_volume(testvol)
        self.assertNotEqual(model_update, None)
Пример #13
0
    def test_create_volume(self):
        self.stubs.Set(SolidFireDriver, "_issue_api_request", self.fake_issue_api_request)
        testvol = {
            "project_id": "testprjid",
            "name": "testvol",
            "size": 1,
            "id": "a720b3c0-d1f0-11e1-9b23-0800200c9a66",
            "volume_type_id": None,
            "created_at": timeutils.utcnow(),
        }

        sfv = SolidFireDriver(configuration=self.configuration)
        model_update = sfv.create_volume(testvol)
        self.assertIsNotNone(model_update)
        self.assertIsNone(model_update.get("provider_geometry", None))
Пример #14
0
    def test_create_volume_non_512(self):
        self.stubs.Set(SolidFireDriver, '_issue_api_request',
                       self.fake_issue_api_request)
        testvol = {'project_id': 'testprjid',
                   'name': 'testvol',
                   'size': 1,
                   'id': 'a720b3c0-d1f0-11e1-9b23-0800200c9a66',
                   'volume_type_id': None,
                   'created_at': timeutils.utcnow()}

        self.configuration.sf_emulate_512 = False
        sfv = SolidFireDriver(configuration=self.configuration)
        model_update = sfv.create_volume(testvol)
        self.assertEqual(model_update.get('provider_geometry', None),
                         '4096 4096')
        self.configuration.sf_emulate_512 = True
Пример #15
0
    def test_create_volume_with_qos(self):
        preset_qos = {}
        preset_qos['qos'] = 'fast'
        self.stubs.Set(SolidFireDriver, '_issue_api_request',
                       self.fake_issue_api_request)

        testvol = {'project_id': 'testprjid',
                   'name': 'testvol',
                   'size': 1,
                   'id': 'a720b3c0-d1f0-11e1-9b23-0800200c9a66',
                   'metadata': [preset_qos],
                   'volume_type_id': None,
                   'created_at': timeutils.utcnow()}

        sfv = SolidFireDriver(configuration=self.configuration)
        model_update = sfv.create_volume(testvol)
        self.assertIsNotNone(model_update)
Пример #16
0
    def test_create_volume_with_qos(self):
        preset_qos = {}
        preset_qos["qos"] = "fast"
        self.stubs.Set(SolidFireDriver, "_issue_api_request", self.fake_issue_api_request)

        testvol = {
            "project_id": "testprjid",
            "name": "testvol",
            "size": 1,
            "id": "a720b3c0-d1f0-11e1-9b23-0800200c9a66",
            "metadata": [preset_qos],
            "volume_type_id": None,
            "created_at": timeutils.utcnow(),
        }

        sfv = SolidFireDriver(configuration=self.configuration)
        model_update = sfv.create_volume(testvol)
        self.assertIsNotNone(model_update)