I've talked about this all the way back when we were in Amsterdam and now it's
finally done. Tina (Konstantina Chremmou) checked in a patch that removes
CloudStack's own copy of XenServerJava source code and submitted a copy of the
xen-api.jar into the maven repository. Since xen-api.jar is backwards
compatible with previous versions of XenServer, only one copy of such jar is
needed.
For those of you not familiar with this, CloudStack keeps its own copy of three
files that really belongs to XenServer:
- xen-api.jar: CloudStack modified the source code to add a client side
timeout to fault isolate CloudStack from XenServer if the XenServer control
layer runs into trouble.
- vhd-util: The copy of vhd-util shipped with XenServer is old and does
not provide the functionality to change the parent id of the vhd file.
- NFSSR.py: XenServer's copy always creates a subdirectory and utilize
that subdirectory for its vm images. CloudStack needed one that doesn't create
a subdirectory.
With the release of hot fix XS62ESP1004, XenSever has incorporated all of
CloudStack's changes for the three files. Unfortunately, these changes are not
back-ported to previous versions so CloudStack will only utilize the new
changes against XenSever 6.2 + SP1 + XS62ESP1004. There is a new resource,
XenServer625Resource.java, that was added in 4.3 to work with this exact
XenServer patch level. Unfortunately, the xen-api.jar couldn't make it in time
for the 4.3 release so we still had to keep our own copy of the source code in
4.3.
The most obvious change for developers and users is that they no longer have to
download the vhd-util in order for CloudStack to work with XenServer 6.2 + SP1
+ XS62ESP1004. Note that CloudStack's version of vhd-util is still needed for
all previous versions of XenServer.
For users who have deployed previous versions of CloudStack, it may be wise to
remove all copies of the CloudStack's copy of the xen-api.jar from their maven
cache and deployments.
To download patch XS62ESP1004, see [1]. To download SP1 for XenServer 6.2, see
[2].
My sincere thanks to the XenServer team in making this change happen.
--Alex
[1] http://support.citrix.com/article/CTX140417
[2] http://support.citrix.com/article/CTX139788