Yeela Kaplan has uploaded a new change for review. Change subject: [WIP] destroy storage pool using command type 1 ......................................................................
[WIP] destroy storage pool using command type 1 Change-Id: I67cda9abd0bbc01d7d0642d5d3327f8687d7f728 Signed-off-by: Yeela Kaplan <ykap...@redhat.com> --- M vdsm/storage/blockSD.py M vdsm/storage/sd.py M vdsm/storage/sp.py 3 files changed, 29 insertions(+), 6 deletions(-) git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/98/24398/1 diff --git a/vdsm/storage/blockSD.py b/vdsm/storage/blockSD.py index 799ee01..0bbe5dd 100644 --- a/vdsm/storage/blockSD.py +++ b/vdsm/storage/blockSD.py @@ -559,9 +559,9 @@ raise se.VolumesZeroingError(path) if version in VERS_METADATA_LV: - md = LvBasedSDMetadata(vgName, sd.METADATA) + LvBasedSDMetadata(vgName, sd.METADATA) elif version in VERS_METADATA_TAG: - md = TagBasedSDMetadata(vgName) + TagBasedSDMetadata(vgName) logBlkSize, phyBlkSize = lvm.getVGBlockSizes(vgName) @@ -1327,10 +1327,10 @@ vgName = vg.name toAdd = encodeVgTags(leaseParams) toAdd += encodeVgTags({sd.DMDK_POOLS: spUUID, - sd.DMDK_ROLE: sd.MASTER_DOMAIN}) + sd.DMDK_ROLE: sd.MASTER_DOMAIN}) toDel = encodeVgTags({sd.DMDK_ROLE: sd.REGULAR_DOMAIN, - sd.DMDK_POOLS: spUUID, - sd.DMDK_POOLS: ''}) + sd.DMDK_POOLS: spUUID, + sd.DMDK_POOLS: ''}) lvm.changeVGTags(vgName, delTags=toDel, addTags=toAdd, safe=False) def refreshDirTree(self): @@ -1357,6 +1357,26 @@ finally: self._extendlock.release() + def detachMaster(self, spUUID): + self.invalidateMetadata() + pools = self.getPools() + try: + pools.remove(spUUID) + except ValueError: + self.log.error( + "Can't remove pool %s from domain %s pool list %s, " + "it does not exist", + spUUID, self.sdUUID, str(pools)) + return + vgUUID = self.getInfo()['vguuid'] + vg = lvm.getVGbyUUID(vgUUID) + vgName = vg.name + toAdd = encodeVgTags({sd.DMDK_POOLS: '', + sd.DMDK_ROLE: sd.REGULAR_DOMAIN}) + toDel = encodeVgTags({sd.DMDK_POOLS: spUUID, + sd.DMDK_ROLE: sd.MASTER_DOMAIN}) + lvm.changeVGTags(vgName, delTags=toDel, addTags=toAdd, safe=False) + def refresh(self): self.refreshDirTree() lvm.invalidateVG(self.sdUUID) diff --git a/vdsm/storage/sd.py b/vdsm/storage/sd.py index 23ca112..6849545 100644 --- a/vdsm/storage/sd.py +++ b/vdsm/storage/sd.py @@ -524,6 +524,9 @@ # Last thing to do is to remove pool from domain # do any required cleanup + def detachMaster(self, spUUID): + self.detach(spUUID) + # I personally don't think there is a reason to pack these # but I already changed too much. def changeLeaseParams(self, leaseParamPack): diff --git a/vdsm/storage/sp.py b/vdsm/storage/sp.py index d228a9d..6ec941d 100644 --- a/vdsm/storage/sp.py +++ b/vdsm/storage/sp.py @@ -963,7 +963,7 @@ # Forced detach master domain self.forcedDetachSD(self.masterDomain.sdUUID) - self.masterDomain.detach(self.spUUID) + self.masterDomain.detachMaster(self.spUUID) @unsecured def _convertDomain(self, domain, targetFormat=None): -- To view, visit http://gerrit.ovirt.org/24398 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I67cda9abd0bbc01d7d0642d5d3327f8687d7f728 Gerrit-PatchSet: 1 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Yeela Kaplan <ykap...@redhat.com> _______________________________________________ vdsm-patches mailing list vdsm-patches@lists.fedorahosted.org https://lists.fedorahosted.org/mailman/listinfo/vdsm-patches