Wednesday, January 28, 2009

ECP 2.2 released

ECP 2.2 has finally been released. Outlined below are the changes.

Core
  • The ECP installer will now automatically generate a uuid for the host. Also, the installer will now synchronize with the local package repository if one exists. Several Xen fixes are now carried out by the installer that allow ECP to better manage Xen machines. The exception handling has also been drastically improved in the installation process.
  • The core ECP data module has many new features as well as many bug fixes. Several subtle but detrimental object retrieval issues have been resolved. This alone fixed several issues that were thought to be GUI related in previous ECP versions. The new features include added flexibility to existing querying components and newer, higher level, components have been implemented. These newer components build on the existing components and will provide faster querying in ECP.
  • The configuration system has gone through a major improvement. It is now much easier and efficient to both retrieve and store configuration data. This affects nearly any ECP component that requires configuration values.
  • The extension module API now allows extension modules to register static directories as well as javascript. Some of the core extension modules are already taking advantage of this new offered capability. This helps balance the distribution of responsibilities and increases the separation of concerns among ECP components.
GUI
  • There have been many template improvements that promote cross-browser compatibility. Many superfluous HTML elements have been removed and others now better conform to the HTML standard.
  • A new jQuery dialog widget has been implemented. This widget is much more robust and visually appealing than the dialog used in previous ECP versions.
  • General javascript enhancements will give the client a nice performance boost and improve on the overall client experience.
Testing
  • With an emphasis on improving the ECP RESTful API design in this release, the requirement for automatically invoking various ECP resources came about. Included in this release is a new client testing facility that can run tests on any ECP installation. Although the tests are limited, they continue to be expanded with each new ECP release.
vmfeed (extension module)
  • A big effort has been undertaken in analyzing the deficiencies with the previous versions of the vmfeed extension module in order to drastically improve its' design for this release. One of the major problems was the lack of consistency in the RESTful API provided by vmfeed. Some of the resource names within the API were ambiguous at best while some important resources were missing entirely. There has been a big improvement in both areas for this release.
  • Another problem was the actual design of the code that actually drives the extension module. Much of the code in vmfeed has been re-factored in order to produce a coherent unit of functionality. As always, there is still room for improvement which will come much more easily in future iterations as a result of these changes.
machinecontrol (extension module)
  • In previous ECP versions, when operating in clustered mode, removal of remote hosts was not possible. This has been corrected in this release.
  • The machinecontrol extension module will now take advantage of the new ECP configuration functionality.
  • When deleting machines, they are now actually undefined by libvirt.
static_networks (extension_module)
  • The static_networks extension module will now use the newer ECP core functionality in determining the method of the HTTP request.
  • Refactoring has taken place to remove the static_networks javascript from the core and into the actual extension module package. This improves the design of both the static_networks extension module while reducing the complexity of the ECP core.
  • The static_networks extension module will now take advantage of the new ECP configuration functionality.
transactioncontrol (extension module)
  • The transactioncontrol extension module will now use the newer ECP core functionality in determining the method of the HTTP request.
clustercontrol (extension module)
  • Major improvement in the RESTful API design. Some invalid resources were removed while others were improved upon.
  • The clustercontrol extension module will now use the newer ECP core functionality in determining the method of the HTTP request.
  • The clustercontrol extension module will now use the newer ECP core functionality in determining the method of the HTTP request.