Nir Soffer has uploaded a new change for review.
Change subject: hsm: Report vg name in getDeviceList ......................................................................
hsm: Report vg name in getDeviceList
Hosted engine needs the iscsi session info used by the hosted engine storage domain. getDeviceList() seems to include the needed info, but it does not report the vg name for each device, making it hard to match the iscsi session info and the hosted engine storage domain.
We return now the vg name of each device, which seems to be useful info regardless of hosted engine needs, and can be used on the engine side for reconstructing host state or validating engine view vs host view.
Change-Id: I116714cb5143ea92f5cb54c3f80f895c07ada536 Signed-off-by: Nir Soffer nsoffer@redhat.com --- M vdsm/rpc/vdsmapi-schema.json M vdsm/storage/hsm.py 2 files changed, 11 insertions(+), 2 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/23/45823/1
diff --git a/vdsm/rpc/vdsmapi-schema.json b/vdsm/rpc/vdsmapi-schema.json index e0e95b9..1b2a171 100644 --- a/vdsm/rpc/vdsmapi-schema.json +++ b/vdsm/rpc/vdsmapi-schema.json @@ -1473,6 +1473,10 @@ # # @status: The device status (free/used/unknown) # +# @vgname: The LVM volume group name, if this device is used as +# a physical volume. This is typically a storage domain +# UUID. +# # Since: 4.10.0 # # Notes: The value of @serial may be dependent on the current host so this @@ -1490,7 +1494,8 @@ 'pathstatus': ['BlockDevicePathInfo'], 'pathlist': ['IscsiSessionInfo'], 'logicalblocksize': 'uint', 'physicalblocksize': 'uint', 'partitioned': 'bool', - 'pvsize': 'uint', 'status': 'BlockDeviceStatus'}} + 'pvsize': 'uint', 'status': 'BlockDeviceStatus', + 'vgname': 'str'}}
## # @Host.getDeviceList: diff --git a/vdsm/storage/hsm.py b/vdsm/storage/hsm.py index 1b8c064..32e16c3 100644 --- a/vdsm/storage/hsm.py +++ b/vdsm/storage/hsm.py @@ -2019,14 +2019,18 @@ pvuuid = pv.uuid pvsize = pv.size vguuid = pv.vg_uuid + vgname = pv.vg_name else: pvuuid = "" pvsize = "" vguuid = "" + vgname = ""
devInfo = {'GUID': dev.get("guid", ""), 'pvUUID': pvuuid, 'pvsize': str(pvsize), - 'vgUUID': vguuid, 'vendorID': dev.get("vendor", ""), + 'vgUUID': vguuid, + 'vgname': vgname, + 'vendorID': dev.get("vendor", ""), 'productID': dev.get("product", ""), 'fwrev': dev.get("fwrev", ""), "serial": dev.get("serial", ""),
automation@ovirt.org has posted comments on this change.
Change subject: hsm: Report vg name in getDeviceList ......................................................................
Patch Set 1:
* Update tracker::IGNORE, no Bug-Url found * Check Bug-Url::WARN, no bug url found, make sure header matches 'Bug-Url: ' and is a valid url. * Check merged to previous::IGNORE, Not in stable branch (['ovirt-3.5', 'ovirt-3.4', 'ovirt-3.3'])
Nir Soffer has posted comments on this change.
Change subject: hsm: Report vg name in getDeviceList ......................................................................
Patch Set 1: Verified+1
Verified that we get the vgname for devices which are part of a storage domain, and empty string for other devices.
automation@ovirt.org has posted comments on this change.
Change subject: hsm: Report vg name in getDeviceList ......................................................................
Patch Set 2:
* Update tracker::IGNORE, no Bug-Url found * Check Bug-Url::WARN, no bug url found, make sure header matches 'Bug-Url: ' and is a valid url. * Check merged to previous::IGNORE, Not in stable branch (['ovirt-3.5', 'ovirt-3.4', 'ovirt-3.3'])
Nir Soffer has posted comments on this change.
Change subject: hsm: Report vg name in getDeviceList ......................................................................
Patch Set 2: Verified+1
This version adds "new in version" to the schema.
Freddy Rolland has posted comments on this change.
Change subject: hsm: Report vg name in getDeviceList ......................................................................
Patch Set 2: Code-Review+1
automation@ovirt.org has posted comments on this change.
Change subject: hsm: Report vg name in getDeviceList ......................................................................
Patch Set 3:
* Update tracker::IGNORE, no Bug-Url found * Check Bug-Url::WARN, no bug url found, make sure header matches 'Bug-Url: ' and is a valid url. * Check merged to previous::IGNORE, Not in stable branch (['ovirt-3.5', 'ovirt-3.4', 'ovirt-3.3'])
Nir Soffer has posted comments on this change.
Change subject: hsm: Report vg name in getDeviceList ......................................................................
Patch Set 3: Verified+1
Rebased on the patch reformatting the device info dict, no significant code change.
Freddy Rolland has posted comments on this change.
Change subject: hsm: Report vg name in getDeviceList ......................................................................
Patch Set 3: Code-Review+1
Nir Soffer has posted comments on this change.
Change subject: hsm: Report vg name in getDeviceList ......................................................................
Patch Set 3:
Ping - does hosted engine still need this?
Roy Golan has posted comments on this change.
Change subject: hsm: Report vg name in getDeviceList ......................................................................
Patch Set 3: Code-Review+1
I currently crossmatch using sd id and try to match the lun. The vg_name will greatly simplify the process as I will be able to immdiatly spot the disk with hosted_engine configuration
Adam Litke has posted comments on this change.
Change subject: hsm: Report vg name in getDeviceList ......................................................................
Patch Set 3:
(1 comment)
One minor schema issue but otherwise looks ok.
https://gerrit.ovirt.org/#/c/45823/3/vdsm/rpc/vdsmapi-schema.json File vdsm/rpc/vdsmapi-schema.json:
Line 1495: 'pathstatus': ['BlockDevicePathInfo'], Line 1496: 'pathlist': ['IscsiSessionInfo'], 'logicalblocksize': 'uint', Line 1497: 'physicalblocksize': 'uint', 'partitioned': 'bool', Line 1498: 'pvsize': 'uint', 'status': 'BlockDeviceStatus', Line 1499: 'vgname': 'str'}} The type should be UUID. Line 1500: Line 1501: ## Line 1502: # @Host.getDeviceList: Line 1503: #
Nir Soffer has posted comments on this change.
Change subject: hsm: Report vg name in getDeviceList ......................................................................
Patch Set 3:
(1 comment)
https://gerrit.ovirt.org/#/c/45823/3/vdsm/rpc/vdsmapi-schema.json File vdsm/rpc/vdsmapi-schema.json:
Line 1495: 'pathstatus': ['BlockDevicePathInfo'], Line 1496: 'pathlist': ['IscsiSessionInfo'], 'logicalblocksize': 'uint', Line 1497: 'physicalblocksize': 'uint', 'partitioned': 'bool', Line 1498: 'pvsize': 'uint', 'status': 'BlockDeviceStatus', Line 1499: 'vgname': 'str'}}
The type should be UUID.
This is typically the sd uuid, but may be also another name, so I don't promise here a uuid. Line 1500: Line 1501: ## Line 1502: # @Host.getDeviceList: Line 1503: #
gerrit-hooks has posted comments on this change.
Change subject: hsm: Report vg name in getDeviceList ......................................................................
Patch Set 4:
* Update tracker: IGNORE, no Bug-Url found * Check Bug-Url::WARN, no bug url found, make sure header matches 'Bug-Url: ' and is a valid url. * Check merged to previous::IGNORE, Not in stable branch (['ovirt-3.6', 'ovirt-3.5', 'ovirt-3.4', 'ovirt-3.3'])
Nir Soffer has posted comments on this change.
Change subject: hsm: Report vg name in getDeviceList ......................................................................
Patch Set 4: Verified+1
Nir Soffer has posted comments on this change.
Change subject: hsm: Report vg name in getDeviceList ......................................................................
Patch Set 3:
(1 comment)
https://gerrit.ovirt.org/#/c/45823/3/vdsm/rpc/vdsmapi-schema.json File vdsm/rpc/vdsmapi-schema.json:
Line 1495: 'pathstatus': ['BlockDevicePathInfo'], Line 1496: 'pathlist': ['IscsiSessionInfo'], 'logicalblocksize': 'uint', Line 1497: 'physicalblocksize': 'uint', 'partitioned': 'bool', Line 1498: 'pvsize': 'uint', 'status': 'BlockDeviceStatus', Line 1499: 'vgname': 'str'}}
This is typically the sd uuid, but may be also another name, so I don't pro
Here is an example:
1. I created a new vg on shared storage 2. Restart vdsm 3. This is vdsm lvm cache's vgs dict (Extracted using manhole, see https://gerrit.ovirt.org/32147)
>>> lvm._lvminfo._vgs.keys() ['testy-test', '6b8b0ab3-10d5-4b2e-984f-1a55ee6b1ceb', '6c77adb1-74fc-4fa9-a0ac-3b5a4b789318']
4. Get devices list (Using vdsClient -s 0 getDevicelist)
{'GUID': '36001405360bcafdd9d544c3bcc0debaf', 'capacity': '53687091200', 'devtype': 'iSCSI', 'fwrev': '4.0', 'logicalblocksize': '512', 'pathlist': [{'connection': '10.35.0.99', 'initiatorname': 'default', 'iqn': 'iqn.2003-01.org.dumbo.target1', 'port': '3260', 'portal': '1'}], 'pathstatus': [{'capacity': '53687091200', 'lun': '2', 'physdev': 'sdc', 'state': 'active', 'type': 'iSCSI'}], 'physicalblocksize': '512', 'productID': 'target1-02', 'pvUUID': '9VePZB-QnAI-n91j-lV4D-RId6-jxFR-y0Y1br', 'pvsize': '53678702592', 'serial': 'SLIO-ORG_target1-02_360bcafd-d9d5-44c3-bcc0-debaf72b305d', 'status': 'used', 'vendorID': 'LIO-ORG', 'vgUUID': 'YD7bvz-PrqO-m8Fa-5n5f-vQ77-H9IP-sS6M0J', 'vgname': 'testy-test'},
Note vgname: "testy-test" - does not look like a UUID to me :-) Line 1500: Line 1501: ## Line 1502: # @Host.getDeviceList: Line 1503: #
gerrit-hooks has posted comments on this change.
Change subject: hsm: Report vg name in getDeviceList ......................................................................
Patch Set 5:
* Update tracker: IGNORE, no Bug-Url found * Check Bug-Url::WARN, no bug url found, make sure header matches 'Bug-Url: ' and is a valid url. * Check merged to previous::IGNORE, Not in stable branch (['ovirt-3.6', 'ovirt-3.5', 'ovirt-3.4', 'ovirt-3.3'])
Nir Soffer has posted comments on this change.
Change subject: hsm: Report vg name in getDeviceList ......................................................................
Patch Set 5: Verified+1
This version improve the description of the new vgname key in the schema and update the (new in vversion).
Daniel Erez has posted comments on this change.
Change subject: hsm: Report vg name in getDeviceList ......................................................................
Patch Set 5: Code-Review+1
Freddy Rolland has posted comments on this change.
Change subject: hsm: Report vg name in getDeviceList ......................................................................
Patch Set 5: Code-Review+1
Jenkins CI RO has abandoned this change.
Change subject: hsm: Report vg name in getDeviceList ......................................................................
Abandoned
Abandoned due to no activity - please restore if still relevant
gerrit-hooks has posted comments on this change.
Change subject: hsm: Report vg name in getDeviceList ......................................................................
Patch Set 5:
* Update tracker: IGNORE, no Bug-Url found
Nir Soffer has restored this change.
Change subject: hsm: Report vg name in getDeviceList ......................................................................
Restored
vdsm-patches@lists.fedorahosted.org