-
Notifications
You must be signed in to change notification settings - Fork 15
Description
I'm working on a SR, volume, datapath plugin for API version v5 that integrates LINSTOR/DRBD. Things look promising, I got a SR in xencenter and the functions I can test for the volume/datapath plugin on the CLI look good. This is developed on xenserver 7.6.0.
Unfortunately, if I create a VM in the GUI (and it also then happens on shutdown), I geht this error:
nplug 7a8cfbb7-4271-d563-22f7-5dede0e53843.xvda
Feb 6 14:20:43 xenserver-210 xenopsd-xc: [debug|localhost.localdomain|37 |Parallel:task=251.atoms=2.(VBD.unplug vm=7a8cfbb7-4271-d563-22f7-5dede0e53843)|xenops_server] VBD_D
B.signal 7a8cfbb7-4271-d563-22f7-5dede0e53843.xvda
Feb 6 14:20:43 xenserver-210 xenopsd-xc: [error|localhost.localdomain|37 |Parallel:task=251.atoms=2.(VBD.unplug vm=7a8cfbb7-4271-d563-22f7-5dede0e53843)|task_server] Task 25
3 failed; Xenops_interface.Internal_error("Could not find XenDisk implementation: {\"implementations\":[[\"BlockDevice\",{\"path\":\"/dev/drbd1001\"}]]}")
Feb 6 14:20:43 xenserver-210 xenopsd-xc: [debug|localhost.localdomain|37 ||xenops_server] TASK.signal 253 = ["Failed",["Internal_error","Could not find XenDisk implementatio
n: {\"implementations\":[[\"BlockDevice\",{\"path\":\"/dev/drbd1001\"}]]}"]]
datapath.Attach returns this kind of dictionary:
{"implementations":[["BlockDevice",{"path":"/dev/drbd1001"}]]}
This nicely passes the type checks in /usr/lib/python2.7/site-packages/xapi/storage/api/v5/datapath.py but then fails somewhere down the road. The block device exists and is accessible on the machine. Yeah, I don't want to implement a "XenDisk", DRBD operates on block devices. Is this a bug or did I misunderstand something? "implementations" is a "variant" type, mine is "BlockDevice|. What is wrong with that?
Any hints? Best, rck