On Fri, Dec 16, 2016 at 5:20 PM, <joost(a)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.