Jump to: navigation, search

Difference between revisions of "ReleaseNotes/Diablo"

Line 125: Line 125:
 
* TODO: point out imageRef flavorRef change
 
* TODO: point out imageRef flavorRef change
 
* --glance_host and --glance_port was changed to a single flag: --glance_api_servers
 
* --glance_host and --glance_port was changed to a single flag: --glance_api_servers
 +
 +
=== Glance ===
 +
 +
Upgrading from a Cactus installation involves downloading and installing the new Diablo Glance packages, running a glance-manage db_sync to migrate the registry database schema, and updating various configuration files. If using authentication with Keystone, some additional setup with Keystone is required, as well as some changes in your Glance configuration files.
 +
 +
The Glance configuration files contain lots of documentation and commented-out pieces that are explained in the configuration files.
  
 
== Known Issues and Limitations ==
 
== Known Issues and Limitations ==

Revision as of 19:51, 21 September 2011

Release Notes, Diablo

<<TableOfContents()>>

New Features

OpenStack Object Storage (Swift)

swift (1.4.3)

  • Additional quarantine catching code.
  • Added client_ip to all proxy log lines not otherwise containing it.
  • Content-Type is now application/xml for "GET services/bucket" swift3 middleware requests.
  • Alpha release of the Swift Recon Experiment
  • Fix last modified date for swift3 middleware.
  • Fix to clear account/container metadata on account/container deletion.
  • Fix for corner case regarding X-Newest.
  • Fix for object auditor running out of file descriptors.
  • Fix to return all proper headers for manifest objects.
  • Fix to the swift tool to strip any leading slashes on file names when uploading.

swift (1.4.2)

  • Removed stats/logging code from Swift [now in separate slogging project].
  • Container Synchronization Feature - First Edition
  • Fix swift3 authentication bug about the Date and X-Amz-Date handling.
  • Changing ratelimiting so that it only limits PUTs/DELETEs.
  • Object POSTs are implemented as COPYs now by default (you can revert to previous implementation with conf object_post_as_copy = false)
  • You can specify X-Newest: true on GETs and HEADs to indicate you want Swift to query all backend copies and return the newest version retrieved.
  • Object COPY requests now always copy the newest object they can find.
  • Account and container GETs and HEADs now shuffle the nodes they use to balance load.
  • Fixed the infinite charset: utf-8 bug
  • This fixes the bug that drop_buffer_cache() doesn't work on systems where off_t isn't 64 bits.

swift (1.4.1)

  • st renamed to swift
  • swauth was separated froms swift. It is now its own project and can be found at https://github.com/gholt/swauth.
  • tempauth middleware added as an extremely limited auth system for dev work.
  • Account and container listings now properly labeled UTF-8 (previously the label was "utf8").
  • Accounts are auto-created if an auth token is valid when the account_autocreate proxy config parameter is set to true.

swift (1.4.0)

  • swift-bench now cleans up containers it creates.
  • WSGI servers now load WSGI filters and applications after forking for better plugin support.
  • swauth-cleanup-tokens now handles 404s on token containers and tokens better.
  • Proxy logs the remote IP address as the client IP in the absence of X-Forwarded-For and X-Cluster-Client-IP headers instead of - like it did before.
  • Swift3 WSGI middleware added support for param-signed URLs.
  • swauth- scripts now exit with proper exit codes.
  • Fixed a bug where allowed_headers weren't honored for HEAD requests.
  • Double quarantining of corrupted sqlite3 databases now works.
  • Fix for Object replicator breaking when running object replicator with no objects on the server.
  • Added the Accept-Ranges header to GET and HEAD requests.
  • When a single object has multiple async pending updates on a single device, only latest async pending is now sent.
  • Fixed issue of Swift3 WSGI middleware not working correctly with '/' in object names.
  • Renamed swift-stats-* to swift-dispersion-* to avoid confusion with log stats stuff.
  • Added X-Trans-Id transaction id header to every response.
  • Fixed a Python 2.7 compatibility problem.
  • Now using bracketed notation for ip literals in rsync calls, so compressed ipv6 literals work.
  • Added a container stats collector and refactoring some of the stats code.
  • Changed subdir nodes in XML formatted object listings to align with object nodes. Now: <subdir name="foo"><name>foo</name></subdir> Before: <subdir name="foo" />.
  • Fixed bug in Swauth to support for multiple swauth instances.
  • swift-ring-builder: Added list_parts command which shows common partitions for a given list of devices.
  • Object auditor now shows better statistics updates in the logs.
  • Stats uploaders now allow overrides for source_filename_pattern and new_log_cutoff values.

OpenStack Compute (Nova)

  • Distributed scheduling across zones
  • Snapshot, clone and boot from volumes
  • Integration with Keystone authentication
  • OpenStack API 1.1 (including floating IP support)
  • Configuration drive
  • KVM Pause/Suspend support
  • Instance migration
  • Notification system
  • Instance types and capabilities-based scheduling
  • Multiple NICs
  • KVM Block migration support
  • HA mode for FlatDHCP network model
  • Support for Virtual Storage Arrays
  • Global firewall rules
  • Support for multiple volume types
  • Quantum NaaS integration points

OpenStack Image Registry and Delivery service (Glance)

Upgrade notes

Swift

Swift can be upgraded in-place with no impact to connected users. It is best to upgrade one zone at a time so that any potential problems can be seen without affecting cluster uptime. Various config files have changed between swift 1.2 (openstack cactus) and swift 1.4.3 (openstack diablo). Be sure to read the changelog and understand the changes being made before upgrading a production cluster. It is strongly advised to test your upgrade process in staging before production.

Basic process for upgrading swift

Obviously these instructions are not comprehensive. They are meant as a rough guide for how to upgrade a running cluster.

  • Shutdown background jobs, such as; updater, replicator, auditor, crond ... etc.
   You can do that with swift-init rest stop and /etc/init.d/crond stop
  • Upgrade Swift packages and dependencies.
  • Install python-slogging package and swauth package (if needed).
  • Update config files
  • Reload servers.
   You can do that with with swift-init <server> reload
  • Restart background jobs.
   You can do that with swift-init rest start and /etc/init.d/crond start

Nova

Auth options

  • TODO: document continuous use of deprecated auth: '--use_deprecated_auth' to my /etc/nova/nova.conf the deprecated auth pipeline in nova-api, point out nova-manage is deprecated (part of deprecated auth but a different angle on the info)
  • TODO: document upgrading users to keystone

Other changes

  • TODO: document changes in network and floating_ip nova-manage commands
  • TODO: document feature differences between Xen and libvirt (no resize in libvirt, no block migration in kvm)
  • TODO: point out imageRef flavorRef change
  • --glance_host and --glance_port was changed to a single flag: --glance_api_servers

Glance

Upgrading from a Cactus installation involves downloading and installing the new Diablo Glance packages, running a glance-manage db_sync to migrate the registry database schema, and updating various configuration files. If using authentication with Keystone, some additional setup with Keystone is required, as well as some changes in your Glance configuration files.

The Glance configuration files contain lots of documentation and commented-out pieces that are explained in the configuration files.

Known Issues and Limitations

Nova

  • TODO: 834189 XenServer and KVM handle local storage differently
  • TODO: 843704 Hyper-V Diablo status
  • TODO: 845714 VDI is not resized to instance_type local_gb on initial boot

Blueprints implemented during the Diablo release