|
|
|
@ -164,7 +164,7 @@ class AutoPartition:
|
|
|
|
|
|
|
|
|
|
def _createPhisicalVolumes(self,devices):
|
|
|
|
|
pvCreateProg = getProgPath('/sbin/pvcreate')
|
|
|
|
|
return process(pvCreateProg,*devices).success()
|
|
|
|
|
return process(pvCreateProg,"-ff",*devices).success()
|
|
|
|
|
|
|
|
|
|
def _createVolumesGroup(self,vgname,disks):
|
|
|
|
|
vgCreateProg = getProgPath('/sbin/vgcreate')
|
|
|
|
@ -186,6 +186,28 @@ class AutoPartition:
|
|
|
|
|
return process(vgRemoveProg,vgname,"-f").success() or \
|
|
|
|
|
process(vgRemoveProg,vgname,"-f").success()
|
|
|
|
|
|
|
|
|
|
def clearLvm(self,devices,dv):
|
|
|
|
|
"""
|
|
|
|
|
Remove lvm physical volumes from devices
|
|
|
|
|
"""
|
|
|
|
|
vgRemoveProg = getProgPath('/sbin/vgremove')
|
|
|
|
|
pvRemoveProg = getProgPath('/sbin/pvremove')
|
|
|
|
|
lvRemoveProg = getProgPath('/sbin/lvremove')
|
|
|
|
|
disks = dv.Select('os_disk_dev',where='os_disk_parent',_in=devices)
|
|
|
|
|
for group, pair in groupby(dv.Select(['os_lvm_vgname','os_lvm_lvname'],
|
|
|
|
|
where='os_lvm_pvname',_in=disks),
|
|
|
|
|
key=operator.itemgetter(0)):
|
|
|
|
|
for vgname,lvname in pair:
|
|
|
|
|
process(lvRemoveProg,"%s/%s"%(vgname,lvname),"-f").success()
|
|
|
|
|
process(vgRemoveProg,group,"-f").success()
|
|
|
|
|
for pvname in list(set(disks)&set(dv.Get('os_lvm_pvname'))):
|
|
|
|
|
process(pvRemoveProg,pvname,"-ffy")
|
|
|
|
|
|
|
|
|
|
def clearRaid(self,devices):
|
|
|
|
|
"""
|
|
|
|
|
Remove raid physical volumes from devices
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
def recreateLvm(self,table,devices,data,vgname):
|
|
|
|
|
"""
|
|
|
|
|
Create GPT partition table by /sbin/gdisk
|
|
|
|
|