Migration Guide To Xen4.1+
Xen 4.1.0 includes a new toolstack xl
. This new toolstack is intended to be a drop in replacement for the xm
command line interface to the xend
toolstack. xl
is built on the libxl
toolstack library which is intended as a common library which will be used by all toolstacks in the future.
The xend
toolstack remains supported in Xen 4.1.0 however users are strongly recommended to upgrade to xl
.
Beginning with Xen Project 4.5, the xend
toolstack will no longer be supported or be provided with the software.
General upgrade notes
In this release the Xen build system will no longer clone and build a kernel on behalf of the user. There is no coupling betweeen a Xen release and the kernel used in either dom0 or domU nor any coupling between the dom0 kernel and the domU kernel.
For guest domain (domU) use users are strongly encouraged to take advantage of the Xen guest support which is present in many mainstream distributions. See XenDomUSupport for more information.
For domain 0 use please see the XenDom0Kernels page for more information and guidance.
Toolstack upgrade notes
xl upgrade notes and migration steps from xend
The xl
toolstack is intended to remain backwards compatible with existing xm
domain configuration files. It is therefore expected that any existing configurations should work with xl
with the following exceptions:
- Arbitrary embedded python is not supported. Therefore it will be necessary to remove any python code from your configuration files.
- Managed domains (e.g.
xm vm-create
,xm vm-start
etc) are not supported byxl
. Other toolstacks which support managed domains are the XAPI toolstack and Libvirt. xl
does not support thew!
notation to share disks between several DomU's- For a complete comparison see XL vs Xend Feature Comparison
The other notable difference is that xl
, unlike xend
, will not perform any host networking configuration for you. The xend
code to reconfigure on startup is extremely fragile, prone to bugs when either distro or Xen are upgraded and rather difficult to debug. Instead xl
takes the approach of deferring such network configuration to the distribution configuration tools which are usually well understood and documented. Therefore upon upgrading to xl
it is necessary to configure your host networking stack appropriately. Please see Network_Configuration_Examples_(Xen_4.1+) for more details on how to do this.
Please report any other configuration file incompatibilities to the Xen developers on the xen-devel mailing list. Also, please describe your use-case, which will help developers decide how important the missing feature is.
xl Upgrade Checklist
- Configure your host networking using the configuration tools provided by your distribution. (See: Network_Configuration_Examples_(Xen_4.1+))
- Remove any python code from domU configuration files.
- Disable xend startup script
- Use
xl
command instead ofxm
Find an incompatibility? File a Bug
xl
is designed to be compatible with xm
, except for the cases listed above. If you find a situation where xl
seems to be incompatible, please file a bug report using the process described in Reporting_Bugs_against_Xen_Project.
xend upgrade notes
The upgrade from previous xend
versions is intended to be transparent, with the following exception:
- In previous releases
xend
unconditionally reconfigures the host network stack on startup, according to thenetwork-script
configuration item in/etc/xen/xend-config.sxp
. In the 4.1 release (and beyond),xend
will only reconfigure the host network stack if the network stack does not appear to have been configured already (e.g. no bridges currently exist). This change allows administrators who wish to configure the network stack themselves (e.g. following the guidance on Network_Configuration_Examples_(Xen_4.1+)) to do so by default while preserving the existing behaviour for those who do not. In addition this new behaviour allows for smoother transitions back and forth betweenxend
andxl
(as described in thexl
upgrade notes) since it means you can safely make the necessary configuration changes to usexl
and not have to undo them if you switch back toxend
. In this case it is recommended to use thexenbrN
naming convention for maximum compatibility.