openvstorage / framework

The Framework is a set of components and tools which brings the user an interface (GUI / API) to setup, extend and manage an Open vStorage platform.
Other
27 stars 23 forks source link

ovs should check dependencies before being able to install / deploy anything. #622

Closed kinvaris closed 8 years ago

kinvaris commented 8 years ago

When trying to create a vpool, it failed because the KVM dependency is not checked:

[[1;31m[2016-06-16 15:34:22,557: ERROR/MainProcess] Task ovs.storagerouter.add_vpool[0499f3cc-6666-4560-9b5b-a1be4b714906] raised unexpected: CalledProcessError()
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/celery/app/trace.py", line 240, in trace_task
    R = retval = fun(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/celery/app/trace.py", line 438, in protected_call
    return self.run(*args, **kwargs)
  File "/opt/OpenvStorage/ovs/lib/storagerouter.py", line 801, in add_vpool
    vpool_overview = root_client.run('virsh pool-list --all').splitlines() <--------
  File "/opt/OpenvStorage/ovs/extensions/generic/sshclient.py", line 55, in new_function
    return f(self, args, *kwargs)
  File "/opt/OpenvStorage/ovs/extensions/generic/sshclient.py", line 224, in run
    raise CalledProcessError(exit_code, command, stderr)
CalledProcessError^[[0m
wimpers commented 8 years ago

For Fargo it should be able to install without having KVM installed as you can connect with the edge. Just checking for the depenency and blocking is not the way to go, You should be able to extend a vPool even if KVM or VMware isn't there.

kvanhijf commented 8 years ago

For Fargo, this is - to my knowledge - not the case Creating a vPool will not work even when using Edge I cannot remember reviewing anything from @khenderick which allowed this

khenderick commented 8 years ago

Correct, at this moment KVM or VMWare is a requirement, and we never got a request to change this so a vpool could be extended to a non-hypervisor backed node. There were a few tickets in the past for allowing non-hypervisor backed nodes, but these were postponed.

khenderick commented 8 years ago

It also seems that @kvanhijf did add a check that raises a more informative error when virsh is not installed in Fargo.

wimpers commented 8 years ago

Any idea why we decided to ask for the hypervisor type in the OVS setup step? Could we remove that step and on a vpool extend check for the hypervisor? If we detect KVM (or should we ask) the user, we could use the code path which uses virsh. I'm aware this doesn't solve the issue for the Edge.

khenderick commented 8 years ago

Because back then every StorageRouter had to be on a Hypervisor, either (bare metal on) KVM or (VSA on) VMWare. What you suggest could indeed be part of the "remove hypervisor requirement" storycard implementation.

And the report itself (the thing @kinvaris mentions) is already fixed in Fargo.

Edit: well, not perfectly fixed, a nicer error is raised, but it's not covered before the wizard finishes, which would be better.

JeffreyDevloo commented 8 years ago

Steps

Output

vPool succesfully created

Test result

Test passed. Could not reproduce the issue specified in this ticket. If a similar error occurs once more, we should create a more general ticket as this one only handles one issue (qemu-dependency)

Package information