예제 #1
0
    def check_storage(self):
        from pyanaconda.storage.checker import storage_checker
        report = storage_checker.check(self.storage)
        report.log(self.log)

        # Storage spoke and custom spoke communicate errors via StorageCheckHandler,
        # so we need to set errors and warnings class attributes here.
        StorageCheckHandler.errors = report.errors
        StorageCheckHandler.warnings = report.warnings
예제 #2
0
    def _validate_storage(self, storage):
        """Validate the storage model.

        :param storage: an instance of Blivet
        :raises: InvalidStorageError if the model is not valid
        """
        report = storage_checker.check(storage)

        if not report.success:
            raise InvalidStorageError(" ".join(report.all_errors))
예제 #3
0
    def _verify_partitioning(self, storage):
        """Verify the created partitioning."""
        report = storage_checker.check(storage,
                                       skip=(verify_luks_devices_have_key, ))
        report.log(log)

        if not report.errors:
            return

        raise StorageError(" ".join(report.errors))
예제 #4
0
    def _validate_storage(self, storage):
        """Validate the storage model.

        :param storage: an instance of Blivet
        :return: a validation report
        """
        result = storage_checker.check(storage)

        for message in result.info:
            log.debug(message)

        validation_report = ValidationReport()
        validation_report.error_messages = result.errors
        validation_report.warning_messages = result.warnings

        return validation_report
예제 #5
0
    def checkStorage(self):
        from pyanaconda.storage.checker import storage_checker

        threadMgr.wait(constants.THREAD_EXECUTE_STORAGE)

        hubQ.send_not_ready(self._mainSpokeClass)
        hubQ.send_message(self._mainSpokeClass, _("Checking storage configuration..."))

        self._checking = True
        report = storage_checker.check(self.storage)
        # Storage spoke and custom spoke communicate errors via StorageCheckHandler,
        # so we need to set errors and warnings class attributes here.
        StorageCheckHandler.errors = report.errors
        StorageCheckHandler.warnings = report.warnings
        self._checking = False
        hubQ.send_ready(self._mainSpokeClass, True)
        report.log(self.log)
예제 #6
0
    def checkStorage(self):
        from pyanaconda.storage.checker import storage_checker

        threadMgr.wait(constants.THREAD_EXECUTE_STORAGE)

        hubQ.send_not_ready(self._mainSpokeClass)
        hubQ.send_message(self._mainSpokeClass,
                          _("Checking storage configuration..."))

        self._checking = True
        report = storage_checker.check(self.storage)
        # Storage spoke and custom spoke communicate errors via StorageCheckHandler,
        # so we need to set errors and warnings class attributes here.
        StorageCheckHandler.errors = report.errors
        StorageCheckHandler.warnings = report.warnings
        self._checking = False
        hubQ.send_ready(self._mainSpokeClass, True)
        report.log(self.log)
예제 #7
0
파일: storage.py 프로젝트: heysion/anaconda
 def execute(self):
     print(_("Generating updated storage configuration"))
     try:
         configure_storage(self.storage, self.data)
     except StorageConfigurationError as e:
         print(_("storage configuration failed: %s") % e)
         self.errors = [str(e)]
         reset_bootloader(self.storage)
         reset_storage(self.storage, scan_all=True)
     except BootloaderConfigurationError as e:
         print(_("storage configuration failed: %s") % e)
         self.errors = [str(e)]
         reset_bootloader(self.storage)
     else:
         print(_("Checking storage configuration..."))
         report = storage_checker.check(self.storage)
         print("\n".join(report.all_errors))
         report.log(log)
         self.errors = report.errors
         self.warnings = report.warnings
     finally:
         reset_custom_storage_data(self.data)
         self._ready = True
예제 #8
0
 def execute(self):
     print(_("Generating updated storage configuration"))
     try:
         configure_storage(self.storage, self.data)
     except StorageConfigurationError as e:
         print(_("storage configuration failed: %s") % e)
         self.errors = [str(e)]
         reset_bootloader(self.storage)
         reset_storage(self.storage, scan_all=True)
     except BootloaderConfigurationError as e:
         print(_("storage configuration failed: %s") % e)
         self.errors = [str(e)]
         reset_bootloader(self.storage)
     else:
         print(_("Checking storage configuration..."))
         report = storage_checker.check(self.storage)
         print("\n".join(report.all_errors))
         report.log(log)
         self.errors = report.errors
         self.warnings = report.warnings
     finally:
         reset_custom_storage_data(self.data)
         self._ready = True
예제 #9
0
    def execute(self):
        print(_("Generating updated storage configuration"))
        try:
            do_kickstart_storage(self.storage, self.data)
        except (StorageError, KickstartParseError) as e:
            log.error("storage configuration failed: %s", e)
            print(_("storage configuration failed: %s") % e)
            self.errors = [str(e)]

            # Prepare for reset.
            self._bootloader_observer.proxy.SetDrive(BOOTLOADER_DRIVE_UNSET)
            self._disk_init_observer.proxy.SetInitializationMode(
                CLEAR_PARTITIONS_ALL)
            self._disk_init_observer.proxy.SetInitializeLabelsEnabled(False)
            self.storage.autopart_type = self._auto_part_observer.proxy.Type

            # The reset also calls self.storage.config.update().
            reset_storage(self.storage)

            # Now set data back to the user's specified config.
            applyDiskSelection(self.storage, self.data, self.selected_disks)
        except BootLoaderError as e:
            log.error("BootLoader setup failed: %s", e)
            print(_("storage configuration failed: %s") % e)
            self.errors = [str(e)]
            self._bootloader_observer.proxy.SetDrive(BOOTLOADER_DRIVE_UNSET)
        else:
            print(_("Checking storage configuration..."))
            report = storage_checker.check(self.storage)
            print("\n".join(report.all_errors))
            report.log(log)
            self.errors = report.errors
            self.warnings = report.warnings
        finally:
            resetCustomStorageData(self.data)
            self._ready = True