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
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.
xend toolstack remains supported in Xen 4.1.0 however users are strongly recommended to upgrade to
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
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-startetc) are not supported by
xl. Other toolstacks which support managed domains are the XAPI toolstack and Libvirt.
xldoes not support the
w!notation to share disks between several DomU's
- For a complete comparison see XL vs Xend Feature Comparison
The other notable difference is that
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
xlcommand instead of
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
xendunconditionally reconfigures the host network stack on startup, according to the
network-scriptconfiguration item in
/etc/xen/xend-config.sxp. In the 4.1 release (and beyond),
xendwill 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 between
xl(as described in the
xlupgrade notes) since it means you can safely make the necessary configuration changes to use
xland not have to undo them if you switch back to
xend. In this case it is recommended to use the
xenbrNnaming convention for maximum compatibility.