[openstack-dev] [cinder][python-client-api] Retrieve host-name attribute of Cinder Volume

Pradip Mukhopadhyay pradip.interra at gmail.com
Thu Jan 7 04:05:21 UTC 2016


Thanks a ton Duncan. It's just awesome.

>>> volumes[0].__dict__['os-vol-host-attr:host']
u'openstack4 at cmodeSCSIBackend#pool1'
>>>



--pradip



On Thu, Jan 7, 2016 at 12:53 AM, Duncan Thomas <duncan.thomas at gmail.com>
wrote:

> Try client.volumes..get(id).__dict__['
>
> *os-vol-host-attr:host'] *
>
> *Ugly, but it seems to work*
>
> On 6 January 2016 at 18:20, Pradip Mukhopadhyay <pradip.interra at gmail.com>
> wrote:
>
>> Thanks, Yuriy.
>>
>> My question was: how can I retrieve the "host at backend#pool" from the
>> pythonclient API of volume listing? Once I have that, I should use this
>> method to extract the pool-name.
>>
>> But how can I access this info? CLI is showing this as in the following
>> field:
>>
>> stack at openstack4:~/devstack$ cinder show
>> e8be1df5-64fb-43fa-aacd-9bebba17fba5
>>
>> +---------------------------------------+--------------------------------------+
>> |                Property               |
>> Value                 |
>>
>> +---------------------------------------+--------------------------------------+
>> |              attachments              |
>> []                  |
>> |           availability_zone           |
>> nova                 |
>> |                bootable               |
>> false                 |
>> |          consistencygroup_id          |
>> None                 |
>> |               created_at              |
>> 2016-01-06T14:21:32.000000      |
>> |              description              |
>> None                 |
>> |               encrypted               |
>> False                 |
>> |                   id                  |
>> e8be1df5-64fb-43fa-aacd-9bebba17fba5 |
>> |                metadata               |
>> {}                  |
>> |            migration_status           |
>> None                 |
>> |              multiattach              |
>> False                 |
>> |                  name                 |
>> None                 |
>> |         *os-vol-host-attr:host         |  openstack4 at SCSIBackend#pool1*
>> |
>> |     os-vol-mig-status-attr:migstat    |
>> None                 |
>> |     os-vol-mig-status-attr:name_id    |
>> None                 |
>> |      os-vol-tenant-attr:tenant_id     |
>> 4713f79411844a29b3f53d5fd7502784   |
>> |   os-volume-replication:driver_data   |
>> None                 |
>> | os-volume-replication:extended_status |
>> None                 |
>> |           replication_status          |
>> disabled               |
>> |                  size                 |
>> 1                   |
>> |              snapshot_id              |
>> None                 |
>> |              source_volid             |
>> None                 |
>> |                 status                |
>> available               |
>> |               updated_at              |
>> 2016-01-06T14:21:34.000000      |
>> |                user_id                |
>> 89b4af10bc1a473caff22384c844bc6f   |
>> |              volume_type              |
>> iscsi_1                |
>>
>> +---------------------------------------+--------------------------------------+
>>
>>
>>
>> Now in python client API, I am not able to get that field :(
>>
>>
>>
>> >>> volumes = cinder.volumes.list()
>>
>> >>> volumes
>>
>> [<Volume: e8be1df5-64fb-43fa-aacd-9bebba17fba5>]
>>
>> >>> type(volumes[0])
>> <class 'cinderclient.v2.volumes.Volume'>
>>
>> >>> volumes[0].id
>>
>> u'e8be1df5-64fb-43fa-aacd-9bebba17fba5'
>>
>> >>> volumes[0].host
>> Traceback (most recent call last):
>>   File "<stdin>", line 1, in <module>
>>   File
>> "/usr/local/lib/python2.7/dist-packages/cinderclient/openstack/common/apiclient/base.py",
>> line 464, in __getattr__
>>     raise AttributeError(k)
>> AttributeError: host
>> >>> volumes[0].os-vol-host-attr
>> Traceback (most recent call last):
>>   File "<stdin>", line 1, in <module>
>>   File
>> "/usr/local/lib/python2.7/dist-packages/cinderclient/openstack/common/apiclient/base.py",
>> line 464, in __getattr__
>>     raise AttributeError(k)
>> AttributeError: os
>>
>>
>>
>>
>> Essentially what is the way to get the attribute from the API?
>>
>>
>>
>>
>> Thanks,
>>
>> Pradip
>>
>>
>>
>> On Wed, Jan 6, 2016 at 9:28 PM, Yuriy Nesenenko <ynesenenko at mirantis.com>
>> wrote:
>>
>>> Sorry, of course this
>>> https://github.com/openstack/cinder/blob/master/cinder/volume/utils.py#L575
>>>
>>> On Wed, Jan 6, 2016 at 5:57 PM, Yuriy Nesenenko <ynesenenko at mirantis.com
>>> > wrote:
>>>
>>>> You can use this function
>>>>
>>>> https://github.com/openstack/cinder/blob/master/cinder/volume/utils.py#L5
>>>>
>>>> On Wed, Jan 6, 2016 at 5:44 PM, Pradip Mukhopadhyay <
>>>> pradip.interra at gmail.com> wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>>
>>>>> From CLI, I can see the host-name in the cinder show command as
>>>>> follows:
>>>>>
>>>>> |         os-vol-host-attr:host         |  openstack4 at mySCSIBackend#pool1
>>>>> |
>>>>>
>>>>> How this info can be accessed from the cinder python client?
>>>>>
>>>>> I can access other information (id, size, name etc.) as follows:
>>>>>
>>>>> >>> volumes = cinder.volumes.list()
>>>>>
>>>>> >>> volumes
>>>>>
>>>>> [<Volume: e8be1df5-64fb-43fa-aacd-9bebba17fba5>]
>>>>>
>>>>> >>> volumes[0].id
>>>>>
>>>>> u'e8be1df5-64fb-43fa-aacd-9bebba17fba5'
>>>>>
>>>>> >>> volumes[0].volume_type
>>>>>
>>>>> u'iscsi_1'
>>>>>
>>>>>
>>>>>
>>>>> Thanks,
>>>>> Pradip
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> __________________________________________________________________________
>>>>> OpenStack Development Mailing List (not for usage questions)
>>>>> Unsubscribe:
>>>>> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>>>>
>>>>>
>>>>
>>>
>>>
>>> __________________________________________________________________________
>>> OpenStack Development Mailing List (not for usage questions)
>>> Unsubscribe:
>>> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>>
>>>
>>
>> __________________________________________________________________________
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe:
>> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>>
>
>
> --
> --
> Duncan Thomas
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160107/6c91859f/attachment.html>


More information about the OpenStack-dev mailing list