Idan Shaby has posted comments on this change.
Change subject: lvm: Update hsm.__processVGInfos() with lvm.getPV() new API ......................................................................
Patch Set 1: Verified-1
(1 comment)
https://gerrit.ovirt.org/#/c/38421/1/vdsm/storage/hsm.py File vdsm/storage/hsm.py:
Line 3003: try: Line 3004: pvInfo = lvm.getPV(pv) Line 3005: except se.InaccessiblePhysDev: Line 3006: self.log.error("PV %s no longer exists", pv) Line 3007: continue
I'll check this.
After talking about this with Nir, we realized two things:
1. We can't send the engine a "fake PV" (which is an implementation of your idea), i.e a PV with a GUID and with no other info, since we don't have any other info for the lost PV. The reason is that we can't prove there is no flow in the engine that relies on the existence of these fields. That is, we can break the engine.
2. We can't send the engine a partial info about the PVs (which is what this patch aims to do), i.e send the engine one or more PVs less than the real number of PVs. The reason is that the engine will store the partial info in the DB, and we don't know which flow will break because of that.
Fede, if you don't have any other idea, I think that I will abandon this patch. What do you say? Line 3008: vgInfo['pvlist'].append(self.__fillPVDict(dev, pvInfo, vgType)) Line 3009: Line 3010: if vgType == multipath.DEV_FCP: Line 3011: vgType = sd.FCP_DOMAIN