
On Fri, Dec 16, 2016 at 5:20 PM, <joost@familiealbers.nl> wrote:
in ovirt engine the table.
vds_spm_id_map
holds the ids used in spm election.
engine_20150824095956=# select * from vds_spm_id_map ; storage_pool_id | vds_spm_id | vds_id --------------------------------------+------------+-------------------------------------- 144fb47d-b38c-4bb7-867b-373d7ba9f0a9 | 1 | 313ed02c-8029-4fb3-ba1c-5b3c9902ddb1 144fb47d-b38c-4bb7-867b-373d7ba9f0a9 | 2 | 7fdebf8a-1503-4b54-9681-0201ee330381
these particular id's seem to be added when a vds is added to the engine or when the storage pool is first setup.
I would like to be able to obtain this nr (in my case its generally 1 or 2 as i have two hosts per dc / cluster) through an api or even better from the hosts itself.
When testing I connect to the storage pools using the api
Do you mean vdsm api? You can get the host id using vdsClient: # vdsClient -s 0 getStoragePoolInfo fe307b9e-8f6b-4958-955a-0faeeae8b017 name = No Description isoprefix = pool_status = connected lver = 7 spm_id = 1 master_uuid = eeb8e812-4e69-469a-a07a-272ea3a79105 version = 4 domains = 16fe0625-be29-4a77-81c5-1bc0e5267eea:Active,eeb8e812-4e69-469a-a07a-272ea3a79105:Active type = ISCSI master_ver = 3 16fe0625-be29-4a77-81c5-1bc0e5267eea = {'status': 'Active', 'diskfree': '97844723712', 'isoprefix': '', 'alerts': [], 'disktotal': '106568876032', 'version': 4} eeb8e812-4e69-469a-a07a-272ea3a79105 = {'status': 'Active', 'diskfree': '98918465536', 'isoprefix': '', 'alerts': [], 'disktotal': '106568876032', 'version': 4} If you have vdsm source, you can use the new client: # contrib/jsonrpc StoragePool getInfo storagepoolID=fe307b9e-8f6b-4958-955a-0faeeae8b017 { "info": { "name": "No Description", "isoprefix": "", "pool_status": "connected", "lver": 7, "spm_id": 1, "master_uuid": "eeb8e812-4e69-469a-a07a-272ea3a79105", "version": "4", "domains": "16fe0625-be29-4a77-81c5-1bc0e5267eea:Active,eeb8e812-4e69-469a-a07a-272ea3a79105:Active", "type": "ISCSI", "master_ver": 3 }, "dominfo": { "16fe0625-be29-4a77-81c5-1bc0e5267eea": { "status": "Active", "diskfree": "97844723712", "isoprefix": "", "alerts": [], "disktotal": "106568876032", "version": 4 }, "eeb8e812-4e69-469a-a07a-272ea3a79105": { "status": "Active", "diskfree": "98918465536", "isoprefix": "", "alerts": [], "disktotal": "106568876032", "version": 4 } } }
and its important the hostid used when making this api call is correct or bad things happen.
I have been searching high and low to no avail. In understand the engine is in charge here but i really would be helped if this values can be obtained without going into the db.
As i am continuously rebuilding dc's / storage pools and hosts i cannot keep track of when which host is installed hence the need to know the spm_id as listed.
It might be i am all wrong but the when i use the vds_spm_id as listed i can connect the host to the storage pools using the api.