summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | | | | | | | | | | | Improved VM detection for bandwidth polling (XAPI)Mohammed Naser2012-07-161-1/+1
| | |_|_|_|_|_|/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | XenAPI bandwidth polling would fail or be unreliable if there was any other virtual machines on the same node (such as the nova compute node). This uses the nova_uuid which is much more reliable to be there. Fixes LP Bug #918383 Change-Id: I1eb9e6289a8171d6fc93a49b327df474b1e2e503
* | | | | | | | | | | | | | Merge "Revert "Attach ISO as separate disk if given proper instruction""Jenkins2012-07-201-9/+0
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|_|_|_|_|/ / / | |/| | | | | | | | | | | / | |_|_|_|_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | | |
| * | | | | | | | | | | | Revert "Attach ISO as separate disk if given proper instruction"Daniel P. Berrange2012-07-201-9/+0
| | |_|_|_|_|_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following commit commit b63a3e8cbd8fe57d0be119368bf47964543270c2 Author: Josh Kearney <josh@jk0.org> Date: Fri Jul 13 15:57:54 2012 -0500 Attach ISO as separate disk if given proper instruction. This gives the option to attach the ISO as a separate drive, like we do in XenServer, and boot from that instead of replacing the root drive. Fixes bug 914484. Change-Id: I0e0560f5fcbc361b60ff1284e7369997dd770fd9 Results in this XML config <devices> <disk type="file" device="cdrom"> <driver type="qcow2" cache="none"/> <source file="instance-00000001/disk"/> <target bus="virtio" dev="vda"/> </disk> <disk type="file" device="cdrom"> <driver type="qcow2" cache="none"/> <source file="instance-00000001/disk"/> <target bus="ide" dev="vda"/> </disk> ... </devices> which is broken in many ways - The same backing file is used in read/write mode on 2 disks which will cause data corruption on write. - The 'virtio' bus type does not allow device="cdrom" disks - The 'dev' attribute is given the same value on 2 disks To compound the problems, the original commit completely lacks any tests which would have caught the brokeness and/or identified what was actually intended. Change-Id: If1ec286f98fc91f9f411800bbb0adbf2797d2114 Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* | | | | | | | | | | | Merge "Adds generic retries for build failures."Jenkins2012-07-208-20/+409
|\ \ \ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | |
| * | | | | | | | | | | Adds generic retries for build failures.Brian Elliott2012-07-178-20/+409
| | |_|_|_|/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a generic scheduler retry for build failures. Failed build requests get casted back to scheduler for retry until success or the maximum number of attempts is reached. The number of attempts to make is configurable or can be simply set to 1 to disable retries altogether. Partially implements blueprint: scheduler-resource-race DocImpact: Adds a new capability to filter scheduler to enable retries of scheduling requests. 1) New flag: scheduler_max_attempts (int) - Number of attempts to make to schedule an instance before giving up and settting the instance to error. 2) New RetryFilter. Avoids re-scheduling to the same host multiple times. (nova.scheduler.filters.RetryFilter) Change-Id: I1127caeed4418c75372a42ca7fafacb4f061ffe3
* | | | | | | | | | | Merge "Fix error in error handler in instance_usage_audit task."Jenkins2012-07-201-2/+2
|\ \ \ \ \ \ \ \ \ \ \ | |_|/ / / / / / / / / |/| | | | | | | | | |
| * | | | | | | | | | Fix error in error handler in instance_usage_audit task.Monsyne Dragon2012-07-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes bug 1026307 In the periodic task that generates .exists notifications, if there is an exception generating the notification for an instance, it attempts to log the exception and continue. Alas, there is an error in the error handler that clobbers the original error, preventing it from being logged. Turns out a variable in for loop was 'instance_ref' in one part, but 'instance' in except clause. Fixed. Change-Id: Ic887d9078725ec9b676c4f49cf58b567759b6210
* | | | | | | | | | | Fix SQL deadlock in quota reservationsJohannes Erdfelt2012-07-193-31/+28
|/ / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes bug 1026709 The code in quota_reserve acquires SQL locks in a different order than the code in reservation_commit/reservation_rollback. This can result in an SQL deadlock under heavy load. Due to an (unrelated) bug in SQLAlchemy, this can result in this exception: ResourceClosedError: This result object does not return rows. It has been closed automatically. This patch reorganizes the code to always fetch (and thusly lock) the quota_usages table before the reservations table. Change-Id: Ia364496a996870d754094915ea0501ff19052037
* | | | | | | | | | Merge "Static FaultWrapper status_to_type map."Jenkins2012-07-191-7/+10
|\ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | Static FaultWrapper status_to_type map.Eoghan Glynn2012-07-191-7/+10
| | |_|_|_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid maintaining needless copies of this dict, by instantiating lazily once and only once. This approach will bring master into sync with the corresponding patch proposed to stable/essex: https://review.openstack.org/9446 Change-Id: I8a7cd5fc4fe0effd436e91a6c481df7b0d5a8b01
* | | | | | | | | | Merge "Update FilterSchedulerTestCase docstring"Jenkins2012-07-191-2/+2
|\ \ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|_|/ |/| | | | | | | | |
| * | | | | | | | | Update FilterSchedulerTestCase docstringJoe Gordon2012-07-181-2/+2
| | |_|_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I91ea24747eba9f0f0090f923c5728ba2b85eb141
* | | | | | | | | Merge "Use _lookup_by_name instead of _conn.lookupByName"Jenkins2012-07-191-7/+7
|\ \ \ \ \ \ \ \ \ | |_|/ / / / / / / |/| | | | | | | |
| * | | | | | | | Use _lookup_by_name instead of _conn.lookupByNameYun Mao2012-07-121-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | use the helper function instead of the libvirt call directly to allow NovaExceptions instead of libvirt exceptions to be thrown. Change-Id: Ieac171e1a2bce1f5542ae73f3d8f6b7a5ccfa8f7
* | | | | | | | | Merge "Raise NotImplementedError, not NotImplemented singleton"Jenkins2012-07-191-1/+1
|\ \ \ \ \ \ \ \ \
| * | | | | | | | | Raise NotImplementedError, not NotImplemented singletonJohannes Erdfelt2012-07-181-1/+1
| | |/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NotImplementedError is for exceptions, NotImplemented is an error singleton Change-Id: I2bc42783c5bb92a32d7c3b0f5efab32a2e2f8fb6
* | | | | | | | | Merge "Partially implements blueprint xenapi-live-migration"Jenkins2012-07-194-5/+247
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|/ |/| | | | | | | |
| * | | | | | | | Partially implements blueprint xenapi-live-migrationJohn Garbutt2012-07-174-5/+247
| | |_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is dependent on refactoring of libvirt live migration. Enables live migration using xenapi: * works when both hosts are part of the same aggregate * assumes shared storage is configured as the default SR Limitations in this version: * only works for images that don't have an external ramdisk/kernel Change-Id: I74fc6aae9a615be7cefb1cf07755764df1af957a
* | | | | | | | Merge "Rename get_lock() to _get_lock()."Jenkins2012-07-182-4/+5
|\ \ \ \ \ \ \ \
| * | | | | | | | Rename get_lock() to _get_lock().Russell Bryant2012-07-182-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch changes get_lock() to _get_lock() in the compute manager. This method is not used via rpc, so this name change helps clarify that it is (at least currently) an internal-only function. Marking it as such allows the method signature to be changed without updating the RPC API version and having to maintain backwards compatibility. Related to blueprint no-db-messaging. Change-Id: Ib608ba06215e0ab8be23cbd32c284420b5230dba
* | | | | | | | | Fix the mis-use of NotImplementedYun Mao2012-07-181-30/+30
| |_|/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An exception object NotImplementedError() should be raised instead of NotImplemented. Change-Id: I0a3f0d99529b18d613f8fdb5fafa2d0307a66d86
* | | | | | | | Merge "Display key_name only if keypairs extension is used"Jenkins2012-07-184-12/+76
|\ \ \ \ \ \ \ \
| * | | | | | | | Display key_name only if keypairs extension is usedisethi2012-07-174-12/+76
| | |_|_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GET /servers/xxx will display the key_name only if the keypairs extension is being used. Fixes bug 1024986 Change-Id: Ie37880f63b7595ae3dd2f3b23c6c3097dac2f57c
* | | | | | | | Merge "Show all absolute quota limits in /limits."Jenkins2012-07-182-3/+12
|\ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ |/| | | | | | |
| * | | | | | | Show all absolute quota limits in /limits.Alex Meade2012-07-182-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds currently missing absolute limits to the /limits response. Fixes bug 1025294 Change-Id: I6a758dd683f70a0d006d5aa2840fcc2cb3243297
* | | | | | | | Merge "Remove unused get_version_from_href()"Jenkins2012-07-182-38/+0
|\ \ \ \ \ \ \ \
| * | | | | | | | Remove unused get_version_from_href()Mark McLoughlin2012-07-182-38/+0
| | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is unused since edf3e39c remove the v1.0 API. Change-Id: I1f7c6203ffbe0248c7ef9e95a231c05a0113a347
* | | | | | | | Merge "Support EC2 CreateImage API for boot-from-volume"Jenkins2012-07-182-16/+87
|\ \ \ \ \ \ \ \ | |_|/ / / / / / |/| | | | | | / | | |_|_|_|_|/ | |/| | | | |
| * | | | | | Support EC2 CreateImage API for boot-from-volumeEoghan Glynn2012-07-172-16/+87
| | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes bug lp 988335 For fidelity with AWS, where the EC2 CreateImage API is only supported for EBS-backed instances, we now support this API for booted-from-volume nova servers. We create a "place-holder" image in glance with the image data being effectively empty, and the following properties set: * the imaged instance's kernel and ramdisk IDs * block device mapping containing the appropriate snapshot ID(s) so that we can boot from this image without providing additional context (such as via the nova boot --block-device-mapping option) Change-Id: I0b3d18d7922f2ad1bc687fa88e2f5d4cf5aa068b
* | | | | | Info log to see which compute driver has loadedNikhil Komawar2012-07-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding this log will help keep track if the intended compute driver has loaded or it has been misconfigured. fixes bug 1021417 Change-Id: I6fd9e3b45aad36056882e8cef12b90bb8d7aea7b
* | | | | | Merge "Fixes XenAPI driver import in vm_vdi_cleaner"Jenkins2012-07-181-3/+2
|\ \ \ \ \ \
| * | | | | | Fixes XenAPI driver import in vm_vdi_cleanerChris Behrens2012-07-171-3/+2
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | xenapi/connection.py was renamed xenapi/driver.py, it appears, but vm_vdi_cleaner was not updated. Also removed unused optparse import. Fixes bug 1025912 Change-Id: Ia1a93400dc24455fe91fdf4283eb32bcca4037cf
* | | | | | Remove obsolete line in host_managerHengqing Hu2012-07-181-1/+0
| |_|/ / / |/| | | | | | | | | | | | | | Change-Id: Ic0b04953f27467dfa479dc94582a4c2d3480f53d
* | | | | Merge "Make metadata content match the requested version of the metadata API."Jenkins2012-07-182-25/+58
|\ \ \ \ \
| * | | | | Make metadata content match the requested version of the metadata API.Steve Baker2012-07-022-25/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the same metadata is returned no matter what metadata version is requested. Metadata is currently implemented to version 2009-04-04 (apart from existing TODOs) as defined here: http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html This change adds version checking conditionals throughout get_ec2_metadata and only includes the metadata if the requested version should contain it. When there is a difference between Amazon API implementation and documentation I've gone with replicating the implementation. So far differences include: - undocumented hostname introduced in 1.0, deprecated in favour of local-hostname - kernel-id and ramdisk-id seem have to been implemented in 2007-12-15, not 2008-02-01 as documented get_ec2_metadata has also been reordered so that data is added oldest to newest by API version. In a future change I may attempt to add unimplemented API versions (2011-01-01, 2012-06-01). Change-Id: Ibf6e6e3b9807f29dccd31006515df550bf9bf57b
* | | | | | Merge "Sync jsonutils from openstack-common."Jenkins2012-07-183-13/+19
|\ \ \ \ \ \ | |_|/ / / / |/| | | | |
| * | | | | Sync jsonutils from openstack-common.Russell Bryant2012-07-163-13/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In addition to the following changes from openstack-common, this patch includes some tweak to nova unit tests. timeutils.strtime() will raise an exception if the year in a datetime object is before 1900. Changes from openstack-common: commit ce3071437d1871f77c4d8573cbe5f4ea8c817650 Author: Russell Bryant <rbryant@redhat.com> Date: Mon Jul 16 10:30:25 2012 -0400 Use strtime() in to_primitive() for datetime objs. This patch updates jsonutils.to_primitive() to use timeutils.strtime() to convert a datimetime object to a string instead of just using str(). This ensures that we can easily convert the string back to a datetime using timeutils.parse_strtime(). Required for the nova blueprint no-db-messaging. commit 4c9d439ef24f5afdd74aa9153aa8fc772051e6cb Author: Tim Daly Jr <timjr@yahoo-inc.com> Date: Tue Jun 26 02:48:42 2012 +0000 Add 'filedecoder' method to the jsonutils wrapper module. Fixes bug #1017765 After version 3.3.2, the anyjson library will throw a KeyError if filedecoder isn't present. The filedecoder is just like the decoder except it takes a file instead of a string, like json.load() instead of json.loads(). Change-Id: Ib51f0da8641c035371e09047de9abe3cb83203e9
* | | | | | remove unused clauses[] variableSean Dague2012-07-171-1/+0
| |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This seems to have been left over from a prior implementation. Remove it for code hygene. Change-Id: I6181713c3228632a50af055109f60728ab0f22e4
* | | | | Merge "Refactoring required for blueprint xenapi-live-migration"Jenkins2012-07-1613-662/+757
|\ \ \ \ \
| * | | | | Refactoring required for blueprint xenapi-live-migrationJohn Garbutt2012-07-1613-662/+757
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This refactoring of the libvirt live migration code is required to enable live migration in the xenapi driver. This change ensures libvirt specific checks are performed only when the libvirt driver is enabled. The complication is that some of these checks require information to be passed between the source and destination hosts. For example, when comparing CPU flags. Change-Id: I7389f0b7f03313d7f04b907f481787dadf0716fd
* | | | | | Merge "Return 413 status on over-quota in the native API."Jenkins2012-07-164-4/+47
|\ \ \ \ \ \ | |_|/ / / / |/| | | | |
| * | | | | Return 413 status on over-quota in the native API.Eoghan Glynn2012-07-144-4/+47
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Related to LP 1021373. Previously we returned a generic 500 Server Error on an over-quota conditions, whereas this is arguably more appropriately reported as a 413 status. Change-Id: I5c1cdc9db54804c512d60e4179c1faa13516d6f9
* | | | | Merge "General-host-aggregates part 1."Jenkins2012-07-1616-287/+347
|\ \ \ \ \
| * | | | | General-host-aggregates part 1.Joe Gordon2012-07-1316-287/+347
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Partially implements blueprint general-host-aggregates: Xen decoupling * keep rpcapi to compute-controller for Hypervisor-Pools * Add compute_rpcapi.add_aggregate_host to libvirt * Remove aggregate states * Remove One aggregate per host restriction * Keep Xen support for both hypervisor pools and aggregates Change-Id: I6ac0f8b6fc31dff589363331e99e0755301f2172
* | | | | | Merge "Remove VDI chain limit for migrations."Jenkins2012-07-166-206/+162
|\ \ \ \ \ \
| * | | | | | Remove VDI chain limit for migrations.Rick Harris2012-07-166-206/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The strategy for removing the limit is to refactor migration so that they work nearly identically to snapshots, meaning sequence-numbered VHDs are rsynced over into a staging-area and then imported into the SR using the `import_vhds` function. Change-Id: Ibf5c82c52ae7d505ea9e54d64fcc8b8fdce4d05d
* | | | | | | Adding granularity for quotas to list and updatePaul Voccio2012-07-163-6/+9
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | added quotas:show and quotas:update to policy.json defaulting quotas:update to an admin-api default Change-Id: Ib328912be859512b9c5391d9b7aa317ecf29aeab
* | | / / / Catch rpc up to the common state-of-the-art.Andrew Bogott2012-07-151-8/+11
| |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This propagates the following patch from common into nova: Author: Jason Kölker <jason@koelker.net> Date: Tue Jul 10 11:12:50 2012 -0500 Fix Zmq so it doesn't rely on nova flags * Embeded newlines in logging makes me cry * String formatting uses parens not curly braces * Fix LP1023039 * Hard skip Zmq tests so jenkins passes. Someone will have to fix. Change-Id: I651aa10861cb26808fa46e74a7db545fb2fd23b8
* | | | | Merge "Properly name openstack.common.exception."Jenkins2012-07-151-1/+1
|\ \ \ \ \ | |_|/ / / |/| | | |
| * | | | Properly name openstack.common.exception.Andrew Bogott2012-07-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now it's 'nova.openstack.common.exception', thanks to a more modern update.py in common. Change-Id: I4b3caf9014f866da3a5bbf07ab194fc9910159b0