Добавлена обработка ошибок при создании разделов в авторазметке

master-3.5
parent 2682389436
commit e7cefcd6e2

@ -279,14 +279,17 @@ class VariableClAutopartitionDevice(AutopartitionHelper, Variable):
if not valuelist: if not valuelist:
raise VariableError( raise VariableError(
_("For autopartition, please select the device")) _("For autopartition, please select the device"))
useDisks = set(traverse(x.split(',') for x in self.Select( useDisks = set(traverse(x.split(',') for x in self.Select(
'os_disk_parent', where='os_disk_mount', ne=''))) 'os_disk_parent', where='os_disk_mount', ne='')))
selected_raid_devices = self.Get('cl_autopartition_raid_parent') for value in chain(valuelist):
for value in chain(valuelist, selected_raid_devices): for disk in set(chain(self.select(
if value in useDisks: 'os_device_parent', os_device_dev=value,
raise VariableError( limit=1).split(","), [value])):
_("Device %s is already in use by the current " if disk in useDisks:
"system") % value) raise VariableError(
_("Device %s is already in use by the current "
"system") % value)
self.checkSelectedRaid(valuelist) self.checkSelectedRaid(valuelist)
self.checkOnSelectParentAndChild(valuelist) self.checkOnSelectParentAndChild(valuelist)
self.checkOnLvm(valuelist) self.checkOnLvm(valuelist)

@ -26,6 +26,7 @@ setLocalTranslate('cl_install3', sys.modules[__name__])
__ = getLazyLocalTranslate(_) __ = getLazyLocalTranslate(_)
from calculate.core.server.func import WsdlBase from calculate.core.server.func import WsdlBase
from calculate.lib.utils.partition import VolumesError
from calculate.install.utils.cl_install import ClInstallAction from calculate.install.utils.cl_install import ClInstallAction
from calculate.install.utils.cl_setup import ( from calculate.install.utils.cl_setup import (
ClSetupLocaleAction, ClSetupVideoAction, ClSetupSystemAction, ClSetupLocaleAction, ClSetupVideoAction, ClSetupSystemAction,
@ -56,7 +57,7 @@ class Wsdl(WsdlBase):
'action': ClInstallAction, 'action': ClInstallAction,
# объект переменных # объект переменных
'datavars': "install", 'datavars': "install",
'native_error': (VariableError, DistributiveError, 'native_error': (VariableError, DistributiveError, VolumesError,
DataVarsError, install.InstallError), DataVarsError, install.InstallError),
# значения по умолчанию для переменных этого метода # значения по умолчанию для переменных этого метода
'setvars': {'cl_action!': 'system', 'cl_install_type': 'hdd', 'setvars': {'cl_action!': 'system', 'cl_install_type': 'hdd',
@ -148,7 +149,7 @@ class Wsdl(WsdlBase):
'logic': {'Install': install.Install}, 'logic': {'Install': install.Install},
'action': ClInstallAction, 'action': ClInstallAction,
'datavars': "install", 'datavars': "install",
'native_error': (VariableError, DistributiveError, 'native_error': (VariableError, DistributiveError, VolumesError,
DataVarsError, install.InstallError), DataVarsError, install.InstallError),
'setvars': {'cl_action!': 'system', 'cl_install_type': 'flash', 'setvars': {'cl_action!': 'system', 'cl_install_type': 'flash',
'cl_protect_use_set!': 'off', 'cl_protect_use_set!': 'off',

Loading…
Cancel
Save