ReleaseNotes/Cactus

= Release Notes, Cactus =

OpenStack Object Storage (Swift)

 * You now have the option to serve static website content directly from an Object Storage (Swift) installation using container listings in index.html displays. Swift will automatically translate requests to possible /index.html resolutions, where the index.html display is configurable per container. Where an index.html file does not exist, you have the option to provide object listings that are within the container instead of the index.html. This mode is normally only active for anonymous requests. If you want to use it with authenticated requests, set the X-Web-Mode:true header on the request.
 * To more quickly detect errors for often-served files, Swift now performs content checksum validation during object GET actions. If the checksum fails, that particular request would receive a bad copy, but the object server should immediately quarantine the object so no further bad copies are served and the object replicator would replicate a copy from another object server. If the load ends up being too high to checksum on every object GET, you can tune the configuration to checksum only a random selection, or to only checksum if it hadn't been performed in x amount of time.
 * To improve the performance of many request types, the proxy server has been refactored to make most requests in Eventlet coroutines. This means that the server dispatches backend requests simultaneously and collect the results asynchronously. In the previous release, the Swift proxy server communicated with multiple backend storage nodes in a linear, turn-wise manner.
 * To avoid slowdowns for common operations when deleted=1 rows build up over time, Swift now has improved indexing of the SQLite databases for account and container listing and tracking.

OpenStack Compute (Nova)

 * Nova now supports two additional virtualization technologies: LXC containers (through libvirt) and VMWare/vSphere ESX / ESXi 4.1, Update 1.
 * The long awaited Live Migration support landed in the Cactus release, it is now possible to move running VMs from one physical node to another without shutting them down.
 * Lots of new features were added to XenServer support: network and file injection, IPv6 support, instance resize and rescue, network QoS, VM instance parameters...
 * There was also a huge effort to cover as much of OpenStack API 1.1 as we could (including metadata and support for volumes).
 * Multi-tenant accounting support was added to OpenStack API, allowing multiple accounts (projects) and admin API access to create accounts & users.
 * Nova can now start instances from VHDs (with the customer data and kernel in one unified image), allowing to boot instances from user-created snapshots.
 * Instance types (and flavors) are no longer static and can now be configured via the nova-manage command.
 * An additional volume backend was added: we now support volumes residing on Lefthand/HP SANs.
 * We continued to work on feature uniformity: IPv6 is now supported in all network modes, including FlatManager. VlanNetworkManager and basic network injection are now supported under XenAPI.
 * Thanks to the VNC Proxy, users can now access their instances through a websocket enabled browser (like Google Chrome).

OpenStack Image Registry and Delivery service (Glance)

 * Glance sports a whole new CLI tool (the aptly-named "glance") that allows direct access to Glance services.
 * Glance supports multiple different image format through a new disk_format and container_format metadata
 * Uploaded images can now be verified against a client-provided checksum, to ensure the integrity of the transfer
 * Glance daemons now have sane and configurable logfiles.
 * Lots of other changes should go unnoticed, like support for database schema migration, non-static versioning or standard use of paste.deploy, ConfigParser and optparse.

Nova

 * When upgrading from Austin/Bexar and using the local image store service (LocalImageService), you will need to re-upload your images or convert them, as they are in the wrong directory naming format. You can see if you have this problem by looking for log entries such as "ami-342452e is not in correct directory naming format". To convert them, you need to use nova-manage image convert /var/lib/nova/images where /var/lib/nova/images is the . You can also just re-upload the images and delete the old ones (usually stored in /var/lib/nova/images).
 * The log command for nova-manage ($ nova-manage log) has been deprecated and removed.

Nova

 * Insufficient memory resources can cause instance creation requests to stay in pending state forever (Bug 698336)
 * In some cases euca-revoke does not fully revoke a security group access rule (Bug 712322)
 * Snapshotting VM instance is not supported for KVM (Bug 750544)
 * If the console log contains control characters, euca-get-console-output fails with UnknownError (Bug 758054)
 * Openstack API "file injection" mechanism is not supported under libvirt hypervisors (KVM, LXC...) (Bug 755168)
 * RightAWS requests are not compatible with Nova (Bug 753660)
 * LDAP Auth driver has performance issues (Bug 707094)

Blueprints implemented during the Cactus release

 * Swift: List of blueprints completed for the Cactus release
 * Nova: List of blueprints completed for the Cactus release
 * Glance: List of blueprints completed for the Cactus release

Bugs fixed during the Cactus release

 * Swift: See the bug list at: https://launchpad.net/swift/1.3/1.3.0
 * Nova: See the bug list at: https://launchpad.net/nova/cactus/2011.2
 * Glance: See the bug list at: https://launchpad.net/glance/cactus/2011.2