[ovirt-users] ovirt-3.6 and glusterfs doc

Nir Soffer nsoffer at redhat.com
Fri Jan 29 21:26:59 UTC 2016


On Fri, Jan 29, 2016 at 11:08 PM, Bill James <bill.james at j2.com> wrote:
> jsonrpc.Executor/6::DEBUG::2016-01-29
> 12:58:16,854::task::595::Storage.TaskManager.Task::(_updateState)
> Task=`e6f93ddd-23c3-4b5b-879a-3c31d4b8d773`::movin
> g from state init -> state preparing
> jsonrpc.Executor/6::INFO::2016-01-29
> 12:58:16,854::logUtils::48::dispatcher::(wrapper) Run and protect:
> connectStorageServer(domType=7, spUUID=u'00000000-
> 0000-0000-0000-000000000000', conList=[{u'id':
> u'00000000-0000-0000-0000-000000000000', u'connection':
> u'ovirt3.test.j2noc.com:/gluster-store/vol1', u'iqn
> ': u'', u'user': u'', u'tpgt': u'1', u'vfs_type': u'glusterfs', u'password':
> '********', u'port': u''}], options=None)
> jsonrpc.Executor/6::ERROR::2016-01-29
> 12:58:16,950::hsm::2465::Storage.HSM::(connectStorageServer) Could not
> connect to storageServer
> Traceback (most recent call last):
>   File "/usr/share/vdsm/storage/hsm.py", line 2462, in connectStorageServer
>     conObj.connect()
>   File "/usr/share/vdsm/storage/storageServer.py", line 220, in connect
>     self.validate()
>   File "/usr/share/vdsm/storage/storageServer.py", line 335, in validate
>     replicaCount = self.volinfo['replicaCount']
>   File "/usr/share/vdsm/storage/storageServer.py", line 331, in volinfo
>     self._volinfo = self._get_gluster_volinfo()
>   File "/usr/share/vdsm/storage/storageServer.py", line 358, in
> _get_gluster_volinfo
>     return volinfo[self._volname]
> KeyError: u'gluster-store/vol1'

This means that the gluster server at ovirt3.test.j2noc.com does not
have a volume named "gluster-store/vol1"

I guess that /gluster-store is the mountpoint and the volume name is "vol1".

On the engine side, you probably need to set the storage domain path to

    ovirt3.test.j2noc.com:/vol1

Can you share with us the output of:

    gluster volume info --remote-host=ovirt3.test.j2noc.com

This should return something like:

        {VOLUMENAME: {'brickCount': BRICKCOUNT,
                      'bricks': [BRICK1, BRICK2, ...],
                      'options': {OPTION: VALUE, ...},
                      'transportType': [TCP,RDMA, ...],
                      'uuid': UUID,
                      'volumeName': NAME,
                      'volumeStatus': STATUS,
                      'volumeType': TYPE}, ...}

The fact that this code fails with a KeyError is a bug. We should have
returned a clear error in this case instead of failing with KeyError, which
show a generic and unhelpful error message in the engine side.
Please file a bug about it.

I found the document about configuring gluster for ovirt:
http://www.gluster.org/community/documentation/index.php/Virt-store-usecase

Nir

> jsonrpc.Executor/6::DEBUG::2016-01-29
> 12:58:16,950::hsm::2489::Storage.HSM::(connectStorageServer) knownSDs: {}
> jsonrpc.Executor/6::INFO::2016-01-29
> 12:58:16,951::logUtils::51::dispatcher::(wrapper) Run and protect:
> connectStorageServer, Return response: {'statuslis
> t': [{'status': 100, 'id': u'00000000-0000-0000-0000-000000000000'}]}
> jsonrpc.Executor/6::DEBUG::2016-01-29
> 12:58:16,951::task::1191::Storage.TaskManager.Task::(prepare)
> Task=`e6f93ddd-23c3-4b5b-879a-3c31d4b8d773`::finished:
>  {'statuslist': [{'status': 100, 'id':
> u'00000000-0000-0000-0000-000000000000'}]}
> jsonrpc.Executor/6::DEBUG::2016-01-29
> 12:58:16,951::task::595::Storage.TaskManager.Task::(_updateState)
> Task=`e6f93ddd-23c3-4b5b-879a-3c31d4b8d773`::movin
> g from state preparing -> state finished
>
>
>
>
> On 1/29/16 1:05 PM, Nir Soffer wrote:
>>
>> On Fri, Jan 29, 2016 at 9:31 PM, Bill James <bill.james at j2.com> wrote:
>>>
>>> I'm trying to setup a ovirt3.6.2 cluster on centos7.2 and am having
>>> problems
>>> finding a doc that explains how to setup gluster storage for it.
>>
>> There was good gluster documentation for setting up volumes for ovirt,
>> but I cannot find it now.
>>
>> Sahina, can you point us to this document?
>>
>>> If I try to create a Storage domain with storage type GlusterFS it comes
>>> back with "General Exception".
>>> I'm not using Hosted-engine, engine is on a separate host by its self.
>>> I have 3 nodes, all running centos7.2.
>>>
>>> vdsm.log:
>>>
>>> jsonrpc.Executor/0::DEBUG::2016-01-29
>>> 11:06:35,023::__init__::503::jsonrpc.JsonRpcServer::(_serveRequest)
>>> Calling
>>> 'StoragePool.connectStorageServer' in br
>>> idge with {u'connectionParams': [{u'id':
>>> u'00000000-0000-0000-0000-000000000000', u'connection':
>>> u'ovirt3.test.j2noc.com:/gluster-store', u'iqn': u'', u'u
>>> ser': u'', u'tpgt': u'1', u'vfs_type': u'glusterfs', u'password':
>>> '********', u'port': u''}], u'storagepoolID':
>>> u'00000000-0000-0000-0000-000000000000', u
>>> 'domainType': 7}
>>> jsonrpc.Executor/0::DEBUG::2016-01-29
>>> 11:06:35,024::task::595::Storage.TaskManager.Task::(_updateState)
>>> Task=`e49fc739-faaf-40f1-b512-868b936fbcc1`::movin
>>> g from state init -> state preparing
>>> jsonrpc.Executor/0::INFO::2016-01-29
>>> 11:06:35,024::logUtils::48::dispatcher::(wrapper) Run and protect:
>>> connectStorageServer(domType=7, spUUID=u'00000000-
>>> 0000-0000-0000-000000000000', conList=[{u'id':
>>> u'00000000-0000-0000-0000-000000000000', u'connection':
>>> u'ovirt3.test.j2noc.com:/gluster-store', u'iqn': u'
>>> ', u'user': u'', u'tpgt': u'1', u'vfs_type': u'glusterfs', u'password':
>>> '********', u'port': u''}], options=None)
>>> jsonrpc.Executor/0::ERROR::2016-01-29
>>> 11:06:35,120::hsm::2465::Storage.HSM::(connectStorageServer) Could not
>>> connect to storageServer
>>> Traceback (most recent call last):
>>>    File "/usr/share/vdsm/storage/hsm.py", line 2462, in
>>> connectStorageServer
>>>      conObj.connect()
>>>    File "/usr/share/vdsm/storage/storageServer.py", line 220, in connect
>>>      self.validate()
>>
>> The next lines in the log should explain the error - can you send them?
>>
>> Nir
>
>
>
> Cloud Services for Business www.j2.com
> j2 | eFax | eVoice | FuseMail | Campaigner | KeepItSafe | Onebox
>
>
> This email, its contents and attachments contain information from j2 Global,
> Inc. and/or its affiliates which may be privileged, confidential or
> otherwise protected from disclosure. The information is intended to be for
> the addressee(s) only. If you are not an addressee, any disclosure, copy,
> distribution, or use of the contents of this message is prohibited. If you
> have received this email in error please notify the sender by reply e-mail
> and delete the original message and any copies. (c) 2015 j2 Global, Inc. All
> rights reserved. eFax, eVoice, Campaigner, FuseMail, KeepItSafe, and Onebox
> are registered trademarks of j2 Global, Inc. and its affiliates.



More information about the Users mailing list