Exemplo n.º 1
0
    def __init__(self):
        super().__init__()
        # Initialize Blivet.
        enable_installer_mode()

        # The storage model.
        self._storage = None
        self.storage_changed = Signal()

        # Initialize modules.
        self._modules = []

        self._disk_init_module = DiskInitializationModule()
        self._add_module(self._disk_init_module)

        self._disk_selection_module = DiskSelectionModule()
        self._add_module(self._disk_selection_module)

        self._snapshot_module = SnapshotModule()
        self._add_module(self._snapshot_module)

        self._bootloader_module = BootloaderModule()
        self._add_module(self._bootloader_module)

        self._fcoe_module = FCOEModule()
        self._add_module(self._fcoe_module)

        self._nvdimm_module = NVDIMMModule()
        self._add_module(self._nvdimm_module)

        self._dasd_module = None
        self._zfcp_module = None

        if arch.is_s390():
            self._dasd_module = DASDModule()
            self._add_module(self._dasd_module)

            self._zfcp_module = ZFCPModule()
            self._add_module(self._zfcp_module)

        # Initialize the partitioning modules.
        self._partitioning_modules = {}

        self._auto_part_module = AutoPartitioningModule()
        self._add_partitioning_module(AUTO_PARTITIONING.object_path,
                                      self._auto_part_module)

        self._manual_part_module = ManualPartitioningModule()
        self._add_partitioning_module(MANUAL_PARTITIONING.object_path,
                                      self._manual_part_module)

        self._custom_part_module = CustomPartitioningModule()
        self._add_partitioning_module(CUSTOM_PARTITIONING.object_path,
                                      self._custom_part_module)

        # Connect modules to signals.
        self.storage_changed.connect(self._snapshot_module.on_storage_reset)
Exemplo n.º 2
0
class NVDIMMInterfaceTestCase(unittest.TestCase):
    """Test DBus interface of the NVDIMM module."""
    def setUp(self):
        """Set up the module."""
        self.nvdimm_module = NVDIMMModule()
        self.nvdimm_interface = NVDIMMInterface(self.nvdimm_module)

    def get_devices_to_ignore_test(self):
        """Test GetDevicesToIgnore."""
        self.assertEqual(self.nvdimm_interface.GetDevicesToIgnore(), [])

    def set_namespaces_to_use_test(self):
        """Test SetNamespacesToUse."""
        self.nvdimm_interface.SetNamespacesToUse(
            ["namespace0.0", "namespace1.0"])

    @patch('pyanaconda.dbus.DBus.publish_object')
    def reconfigure_with_task_test(self, publisher):
        """Test ReconfigureWithTask."""
        task_path = self.nvdimm_interface.ReconfigureWithTask(
            "namespace0.0", "sector", 512)

        publisher.assert_called_once()
        object_path, obj = publisher.call_args[0]

        self.assertEqual(task_path, object_path)
        self.assertIsInstance(obj, TaskInterface)

        self.assertIsInstance(obj.implementation, NVDIMMReconfigureTask)
        self.assertEqual(obj.implementation._namespace, "namespace0.0")
        self.assertEqual(obj.implementation._mode, "sector")
        self.assertEqual(obj.implementation._sector_size, 512)

        self.assertIsNone(self.nvdimm_module.find_action("namespace0.0"))
        obj.implementation.succeeded_signal.emit()

        action = self.nvdimm_module.find_action("namespace0.0")
        self.assertEqual(action.action, NVDIMM_ACTION_RECONFIGURE)
        self.assertEqual(action.namespace, "namespace0.0")
        self.assertEqual(action.mode, "sector")
        self.assertEqual(action.sectorsize, 512)
Exemplo n.º 3
0
class NVDIMMInterfaceTestCase(unittest.TestCase):
    """Test DBus interface of the NVDIMM module."""

    def setUp(self):
        """Set up the module."""
        self.nvdimm_module = NVDIMMModule()
        self.nvdimm_interface = NVDIMMInterface(self.nvdimm_module)

    def get_devices_to_ignore_test(self):
        """Test GetDevicesToIgnore."""
        self.assertEqual(self.nvdimm_interface.GetDevicesToIgnore(), [])

    def set_namespaces_to_use_test(self):
        """Test SetNamespacesToUse."""
        self.nvdimm_interface.SetNamespacesToUse(["namespace0.0", "namespace1.0"])

    @patch('pyanaconda.dbus.DBus.publish_object')
    def reconfigure_with_task_test(self, publisher):
        """Test ReconfigureWithTask."""
        task_path = self.nvdimm_interface.ReconfigureWithTask("namespace0.0", "sector", 512)

        publisher.assert_called_once()
        object_path, obj = publisher.call_args[0]

        self.assertEqual(task_path, object_path)
        self.assertIsInstance(obj, TaskInterface)

        self.assertIsInstance(obj.implementation, NVDIMMReconfigureTask)
        self.assertEqual(obj.implementation._namespace, "namespace0.0")
        self.assertEqual(obj.implementation._mode, "sector")
        self.assertEqual(obj.implementation._sector_size, 512)

        self.assertIsNone(self.nvdimm_module.find_action("namespace0.0"))
        obj.implementation.succeeded_signal.emit()

        action = self.nvdimm_module.find_action("namespace0.0")
        self.assertEqual(action.action, NVDIMM_ACTION_RECONFIGURE)
        self.assertEqual(action.namespace, "namespace0.0")
        self.assertEqual(action.mode, "sector")
        self.assertEqual(action.sectorsize, 512)
Exemplo n.º 4
0
class NVDIMMInterfaceTestCase(unittest.TestCase):
    """Test DBus interface of the NVDIMM module."""
    def setUp(self):
        """Set up the module."""
        self.nvdimm_module = NVDIMMModule()
        self.nvdimm_interface = NVDIMMInterface(self.nvdimm_module)

    def test_is_supported(self):
        self.assertEqual(self.nvdimm_interface.IsSupported(), True)

    def test_get_devices_to_ignore(self):
        """Test GetDevicesToIgnore."""
        self.assertEqual(self.nvdimm_interface.GetDevicesToIgnore(), [])

    def test_set_namespaces_to_use(self):
        """Test SetNamespacesToUse."""
        self.nvdimm_interface.SetNamespacesToUse(
            ["namespace0.0", "namespace1.0"])

    @patch_dbus_publish_object
    def test_reconfigure_with_task(self, publisher):
        """Test ReconfigureWithTask."""
        task_path = self.nvdimm_interface.ReconfigureWithTask(
            "namespace0.0", "sector", 512)

        obj = check_task_creation(self, task_path, publisher,
                                  NVDIMMReconfigureTask)

        self.assertEqual(obj.implementation._namespace, "namespace0.0")
        self.assertEqual(obj.implementation._mode, "sector")
        self.assertEqual(obj.implementation._sector_size, 512)

        self.assertIsNone(self.nvdimm_module.find_action("namespace0.0"))
        obj.implementation.succeeded_signal.emit()

        action = self.nvdimm_module.find_action("namespace0.0")
        self.assertEqual(action.action, NVDIMM_ACTION_RECONFIGURE)
        self.assertEqual(action.namespace, "namespace0.0")
        self.assertEqual(action.mode, "sector")
        self.assertEqual(action.sectorsize, 512)
Exemplo n.º 5
0
 def setUp(self):
     """Set up the module."""
     self.nvdimm_module = NVDIMMModule()
     self.nvdimm_interface = NVDIMMInterface(self.nvdimm_module)
Exemplo n.º 6
0
    def __init__(self):
        super().__init__()
        # Initialize Blivet.
        enable_installer_mode()

        # The storage model.
        self._current_storage = None
        self._storage_playground = None
        self.storage_changed = Signal()

        # The created partitioning modules.
        self._created_partitioning = []
        self.created_partitioning_changed = Signal()

        # The applied partitioning module.
        self._applied_partitioning = None
        self.applied_partitioning_changed = Signal()
        self.partitioning_reset = Signal()

        # Initialize modules.
        self._modules = []

        self._storage_checker_module = StorageCheckerModule()
        self._add_module(self._storage_checker_module)

        self._device_tree_module = DeviceTreeModule()
        self._add_module(self._device_tree_module)

        self._disk_init_module = DiskInitializationModule()
        self._add_module(self._disk_init_module)

        self._disk_selection_module = DiskSelectionModule()
        self._add_module(self._disk_selection_module)

        self._snapshot_module = SnapshotModule()
        self._add_module(self._snapshot_module)

        self._bootloader_module = BootloaderModule()
        self._add_module(self._bootloader_module)

        self._fcoe_module = FCOEModule()
        self._add_module(self._fcoe_module)

        self._iscsi_module = ISCSIModule()
        self._add_module(self._iscsi_module)

        self._nvdimm_module = NVDIMMModule()
        self._add_module(self._nvdimm_module)

        self._dasd_module = DASDModule()
        self._add_module(self._dasd_module)

        self._zfcp_module = ZFCPModule()
        self._add_module(self._zfcp_module)

        # Connect modules to signals.
        self.storage_changed.connect(
            self._device_tree_module.on_storage_changed)
        self.storage_changed.connect(self._disk_init_module.on_storage_changed)
        self.storage_changed.connect(
            self._disk_selection_module.on_storage_changed)
        self.storage_changed.connect(self._snapshot_module.on_storage_changed)
        self.storage_changed.connect(
            self._bootloader_module.on_storage_changed)
        self.storage_changed.connect(self._dasd_module.on_storage_changed)
        self._disk_init_module.format_unrecognized_enabled_changed.connect(
            self._dasd_module.on_format_unrecognized_enabled_changed)
        self._disk_init_module.format_ldl_enabled_changed.connect(
            self._dasd_module.on_format_ldl_enabled_changed)
        self._disk_selection_module.protected_devices_changed.connect(
            self.on_protected_devices_changed)
Exemplo n.º 7
0
    def __init__(self):
        super().__init__()
        # Initialize Blivet.
        enable_installer_mode()

        # The storage model.
        self._storage = None
        self.storage_changed = Signal()
        self.storage_reset = Signal()

        # The created partitioning modules.
        self._created_partitioning = []
        self.created_partitioning_changed = Signal()

        # The applied partitioning module.
        self._applied_partitioning = None
        self.applied_partitioning_changed = Signal()

        # Initialize modules.
        self._modules = []

        self._storage_checker_module = StorageCheckerModule()
        self._add_module(self._storage_checker_module)

        self._device_tree_module = DeviceTreeModule()
        self._add_module(self._device_tree_module)

        self._disk_init_module = DiskInitializationModule()
        self._add_module(self._disk_init_module)

        self._disk_selection_module = DiskSelectionModule()
        self._add_module(self._disk_selection_module)

        self._snapshot_module = SnapshotModule()
        self._add_module(self._snapshot_module)

        self._bootloader_module = BootloaderModule()
        self._add_module(self._bootloader_module)

        self._fcoe_module = FCOEModule()
        self._add_module(self._fcoe_module)

        self._iscsi_module = ISCSIModule()
        self._add_module(self._iscsi_module)

        self._nvdimm_module = NVDIMMModule()
        self._add_module(self._nvdimm_module)

        self._dasd_module = None
        self._zfcp_module = None

        if arch.is_s390():
            self._dasd_module = DASDModule()
            self._add_module(self._dasd_module)

            self._zfcp_module = ZFCPModule()
            self._add_module(self._zfcp_module)

        # Initialize the partitioning modules.
        # TODO: Remove the static partitioning modules.
        self._add_module(self.create_partitioning(
            PartitioningMethod.AUTOMATIC))
        self._add_module(self.create_partitioning(PartitioningMethod.MANUAL))
        self._add_module(self.create_partitioning(PartitioningMethod.CUSTOM))
        self._add_module(
            self.create_partitioning(PartitioningMethod.INTERACTIVE))
        self._add_module(self.create_partitioning(PartitioningMethod.BLIVET))
        # Forget the static partitioning modules.
        # TODO: Remove with the static partitioning modules.
        self._created_partitioning = []

        # Connect modules to signals.
        self.storage_changed.connect(self._device_tree_module.on_storage_reset)
        self.storage_changed.connect(self._disk_init_module.on_storage_reset)
        self.storage_changed.connect(
            self._disk_selection_module.on_storage_reset)
        self.storage_changed.connect(self._snapshot_module.on_storage_reset)
        self.storage_changed.connect(self._bootloader_module.on_storage_reset)
        self._disk_selection_module.protected_devices_changed.connect(
            self.on_protected_devices_changed)
Exemplo n.º 8
0
 def setUp(self):
     """Set up the module."""
     self.nvdimm_module = NVDIMMModule()
     self.nvdimm_interface = NVDIMMInterface(self.nvdimm_module)