shutil.rmtree(self.tempdir)
super(NetAppDriverTestCase, self).tearDown()
- @test.skip_test("Failing due to suds error - skip until fixed")
def test_connect(self):
self.driver.check_for_setup_error()
- @test.skip_test("Failing due to suds error - skip until fixed")
def test_create_destroy(self):
self.driver._discover_luns()
self.driver._provision(self.VOLUME_NAME, None, self.PROJECT_ID,
def test_destroy_uncreated_volume(self):
self.driver._remove_destroy('fake-nonexistent-volume', self.PROJECT_ID)
- @test.skip_test("Failing due to suds error - skip until fixed")
def test_map_unmap(self):
self.driver._discover_luns()
self.driver._provision(self.VOLUME_NAME, None, self.PROJECT_ID,
self.driver.terminate_connection(volume, connector)
self.driver._remove_destroy(self.VOLUME_NAME, self.PROJECT_ID)
- @test.skip_test("Failing due to suds error - skip until fixed")
def test_clone(self):
self.driver._discover_luns()
self.driver._clone_lun(0, '/vol/vol/qtree/src', '/vol/vol/qtree/dst',
False)
- @test.skip_test("Failing due to suds error - skip until fixed")
def test_clone_fail(self):
self.driver._discover_luns()
self.driver._is_clone_done(0, '0', 'xxx')
hostname='localhost', port=8080, cache=False)
self.driver = driver
- @test.skip_test("Failing due to suds error - skip until fixed")
def test_connect(self):
self.driver.check_for_setup_error()
- @test.skip_test("Failing due to suds error - skip until fixed")
def test_create_destroy(self):
self.driver.create_volume(self.volume)
self.driver.delete_volume(self.volume)
- @test.skip_test("Failing due to suds error - skip until fixed")
def test_create_vol_snapshot_destroy(self):
self.driver.create_volume(self.volume)
self.driver.create_snapshot(self.snapshot)
self.driver.delete_snapshot(self.snapshot)
self.driver.delete_volume(self.volume)
- @test.skip_test("Failing due to suds error - skip until fixed")
def test_map_unmap(self):
self.driver.create_volume(self.volume)
updates = self.driver.create_export(None, self.volume)
self.driver.terminate_connection(self.volume, self.connector)
self.driver.delete_volume(self.volume)
- @test.skip_test("Failing due to suds error - skip until fixed")
def test_fail_vol_from_snapshot_creation(self):
self.driver.create_volume(self.volume)
try:
finally:
self.driver.delete_volume(self.volume)
- @test.skip_test("Failing due to suds error - skip until fixed")
def test_cloned_volume_destroy(self):
self.driver.create_volume(self.volume)
self.driver.create_cloned_volume(self.snapshot, self.volume)
self.driver.delete_volume(self.snapshot)
self.driver.delete_volume(self.volume)
- @test.skip_test("Failing due to suds error - skip until fixed")
def test_fail_cloned_volume_creation(self):
self.driver.create_volume(self.volume)
try:
self.assertEqual(drv._stats['free_capacity_gb'], 5.0)
mox.VerifyAll()
-
- def test_get_volume_stats(self):
- """get_volume_stats must fill the correct values"""
- mox = self._mox
- drv = self._driver
-
- drv._mounted_shares = [self.TEST_NFS_EXPORT1, self.TEST_NFS_EXPORT2]
-
- mox.StubOutWithMock(drv, '_ensure_shares_mounted')
- mox.StubOutWithMock(drv, '_get_available_capacity')
-
- drv._ensure_shares_mounted()
-
- drv._get_available_capacity(self.TEST_NFS_EXPORT1).\
- AndReturn((2 * self.ONE_GB_IN_BYTES, 10 * self.ONE_GB_IN_BYTES))
- drv._get_available_capacity(self.TEST_NFS_EXPORT2).\
- AndReturn((3 * self.ONE_GB_IN_BYTES, 20 * self.ONE_GB_IN_BYTES))
-
- mox.ReplayAll()
-
- drv.get_volume_stats()
- self.assertEqual(drv._stats['total_capacity_gb'], 30.0)
- self.assertEqual(drv._stats['free_capacity_gb'], 5.0)
-
- mox.VerifyAll()
self.stats = stats
- def _update_volume_stats(self, client):
-
- # storage_protocol and volume_backend_name are
- # set in the child classes
- stats = {'driver_version': '1.0',
- 'free_capacity_gb': 'unknown',
- 'reserved_percentage': 0,
- 'storage_protocol': None,
- 'total_capacity_gb': 'unknown',
- 'vendor_name': 'Hewlett-Packard',
- 'volume_backend_name': None}
-
- try:
- cpg = client.getCPG(self.config.hp3par_cpg)
- if 'limitMiB' not in cpg['SDGrowth']:
- total_capacity = 'infinite'
- free_capacity = 'infinite'
- else:
- total_capacity = int(cpg['SDGrowth']['limitMiB'] * const)
- free_capacity = int((cpg['SDGrowth']['limitMiB'] -
- cpg['UsrUsage']['usedMiB']) * const)
-
- stats['total_capacity_gb'] = total_capacity
- stats['free_capacity_gb'] = free_capacity
- except hpexceptions.HTTPNotFound:
- err = (_("CPG (%s) doesn't exist on array")
- % self.config.hp3par_cpg)
- LOG.error(err)
- raise exception.InvalidInput(reason=err)
-
- self.stats = stats
-
def create_vlun(self, volume, host, client):
"""
In order to export a volume on a 3PAR box, we have to