Nova and Cinder now both have code to access XenAPI that builds on the standard XenAPI library. They can make assumptions about the way OpenStack uses xenapi.
It would be good have this code shared in a managed way between the projects. Something like oslo-xenapi seems like one possible good place. The code that has been added into Cinder is probably a good place to start when bringing together the code in both Nova and Cinder.