Exemplo n.º 1
0
    def test_init(self):
        # Localdisk adapter already initialized in setUp()
        # From super __init__()
        self.assertEqual(self.adpt, self.ld_adpt._adapter)
        self.assertEqual('host_uuid', self.ld_adpt._host_uuid)
        self.assertEqual('mgmt_uuid', self.ld_adpt.mp_uuid)

        # From LocalStorage __init__()
        self.assertEqual('fakevg', self.ld_adpt.vg_name)
        self.mock_find_vg.assert_called_once_with(self.adpt, 'fakevg')
        self.assertEqual('vios-uuid', self.ld_adpt._vios_uuid)
        self.assertEqual(self.vg_uuid, self.ld_adpt.vg_uuid)
        self.assertFalse(self.ld_adpt.capabilities['shared_storage'])
        self.assertFalse(self.ld_adpt.capabilities['has_imagecache'])
        self.assertFalse(self.ld_adpt.capabilities['snapshot'])

        # Assert snapshot capability is true if hosting I/O on mgmt partition.
        self.mgmt_uuid.return_value = 'vios-uuid'
        self.ld_adpt = localdisk.LocalStorage(self.adpt, 'host_uuid')
        self.assertTrue(self.ld_adpt.capabilities['snapshot'])

        # Assert volume_group_name is required.
        self.flags(volume_group_name=None, group='powervm')
        self.assertRaises(exception.OptRequiredIfOtherOptValue,
                          localdisk.LocalStorage, self.adpt, 'host_uuid')
Exemplo n.º 2
0
    def setUp(self):
        super(TestLocalDisk, self).setUp()
        self.adpt = mock.Mock()

        # The mock VIOS needs to have scsi_mappings as a list.  Internals are
        # set by individual test cases as needed.
        smaps = [mock.Mock()]
        self.vio_wrap = mock.create_autospec(pvm_vios.VIOS,
                                             instance=True,
                                             scsi_mappings=smaps,
                                             uuid='vios-uuid')

        # Return the mgmt uuid.
        self.mgmt_uuid = self.useFixture(
            fixtures.MockPatch('nova.virt.powervm.mgmt.mgmt_uuid',
                               autospec=True)).mock
        self.mgmt_uuid.return_value = 'mgmt_uuid'

        self.pvm_uuid = self.useFixture(
            fixtures.MockPatch('nova.virt.powervm.vm.get_pvm_uuid')).mock
        self.pvm_uuid.return_value = 'pvm_uuid'

        # Set up for the mocks for the disk adapter.
        self.mock_find_vg = self.useFixture(
            fixtures.MockPatch('pypowervm.tasks.storage.find_vg',
                               autospec=True)).mock
        self.vg_uuid = uuids.vg_uuid
        self.vg = mock.Mock(spec=pvm_stg.VG, uuid=self.vg_uuid)
        self.mock_find_vg.return_value = (self.vio_wrap, self.vg)

        self.flags(volume_group_name='fakevg', group='powervm')

        # Mock the feed tasks.
        self.mock_afs = self.useFixture(
            fixtures.MockPatch(
                'pypowervm.utils.transaction.FeedTask.add_functor_subtask',
                autospec=True)).mock
        self.mock_wtsk = mock.create_autospec(pvm_tx.WrapperTask,
                                              instance=True)
        self.mock_wtsk.configure_mock(wrapper=self.vio_wrap)
        self.mock_ftsk = mock.create_autospec(pvm_tx.FeedTask, instance=True)
        self.mock_ftsk.configure_mock(
            wrapper_tasks={'vios-uuid': self.mock_wtsk})

        # Create the adapter.
        self.ld_adpt = localdisk.LocalStorage(self.adpt, 'host_uuid')