summaryrefslogtreecommitdiffstats
path: root/openstack
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Add conditional exception reraise"Jenkins2013-07-031-11/+27
|\
| * Add conditional exception reraiseBen Nemec2013-07-021-11/+27
| | | | | | | | | | | | | | | | | | | | In some cases we need to save an exception and reraise it only under certain conditions. As written, the save_and_reraise_exception context always reraises, which means it can't always be used. This change adds a flag that allows conditional reraising to address the limitation. Change-Id: Ib5c6406a1b91daff94cc4aa305dcb7d6262aecdc
* | Merge "Replace sys.exit by a RPCException"Jenkins2013-07-031-8/+5
|\ \
| * | Replace sys.exit by a RPCExceptionMehdi Abaakouk2013-07-021-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | This change replace sys.exit by a RPCException like the zmq implementation does, to allow library users to handle the case of the rpc failure in their applications. Change-Id: Iafda7bfa20840fa5488dece1d5ad49e2b14b73b5
* | | Merge "Fix bad default for show_deleted"Jenkins2013-07-021-1/+1
|\ \ \ | |_|/ |/| |
| * | Fix bad default for show_deletedDavanum Srinivas2013-07-011-1/+1
| |/ | | | | | | | | | | | | | | replace "no" (string) with False (boolean). Added a test case Fixes LP# 1195511 Change-Id: Ib72689b11d747508850ccab8ef1d73727da2caa6
* | Merge "Add common crypto utilties"Jenkins2013-07-022-0/+179
|\ \ | |/ |/|
| * Add common crypto utiltiesSimo Sorce2013-06-282-0/+179
| | | | | | | | | | | | | | | | Common routines for Key Derivation (RFC 5869) and Symmetric Cryptography that uses standard Crypto functions as exported by PyCrypto Change-Id: Ib43ac788ec98b8a1b678ac457244a06a16833761 Implements: blueprint trusted-messaging
* | Merge "Handle empty PATH environment variable"Jenkins2013-07-012-2/+5
|\ \
| * | Handle empty PATH environment variableDirk Mueller2013-06-282-2/+5
| |/ | | | | | | | | | | | | In locked down environments, PATH might be unavailable when running rootwrap. Change-Id: Ia55514a7d69ab26c2bcf5d1839da1d36aaf46ebc
* | Merge "python3: Add python3 compatibility."Jenkins2013-07-011-2/+3
|\ \
| * | python3: Add python3 compatibility.Chuck Short2013-06-271-2/+3
| |/ | | | | | | | | | | | | | | Fix basestring/str idioms for both python2 and python3 (used by python-novaclient). Change-Id: I440c7c1c18660c3d73f699c0a02cbbfee331bfbf Signed-off-by: Chuck Short <chuck.short@canonical.com>
* | Merge "Improve usability when backdoor_port is nonzero"Jenkins2013-06-281-3/+60
|\ \ | |/ |/|
| * Improve usability when backdoor_port is nonzeroRaymond Pekowski2013-06-231-3/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Users who may not know that configuring a backdoor_port with 0 allows multiple services to be enabled for the eventlet backdoor or who simply want a more predictable port assignment might like this patch. If the specified port is in use, it is incremented until a free port is found. This is a backdoor_port collision recovery scheme as opposed to the collision failure scheme that exists today. This related to I95fdb5ca: Add support for backdoor_port to be returned with a rpc call. Change-Id: I7ec346db3575995fa15483b617eea34c1e003bb0
* | Add netaddr.IPAddress support to to_primitive()Dan Smith2013-06-271-0/+3
| | | | | | | | | | | | | | | | | | | | This enlightens jsonutils.to_primitive() about how to serialize netaddr.IPAddress objects. Since these types are serializable in their native form with just string coercion, just do that here. Fixes bug 1195097 Change-Id: I358b0731e4d3774e5b36aefb5384fdfb75fd31b6
* | Merge "Don't use mixture of cfg.Opt() deprecated args"Jenkins2013-06-261-24/+22
|\ \
| * | Don't use mixture of cfg.Opt() deprecated argsMark McLoughlin2013-06-251-24/+22
| | | | | | | | | | | | | | | | | | No need to make this any more ugly than it needs to be :) Change-Id: Ib7ef13bb5f04e1780565de805eb81413d7b21274
* | | Merge "Add network_utils.urlsplit"Jenkins2013-06-261-0/+17
|\ \ \
| * | | Add network_utils.urlsplitJulien Danjou2013-06-241-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This unfortunately needed if we want to parse URL with params and unknown schemes. Change-Id: Ia7d8212370201254e537e6f1dd9b15d669a3252f
* | | | Merge "Don't reconnect to exclusive fanout consumers."Jenkins2013-06-261-1/+24
|\ \ \ \
| * | | | Don't reconnect to exclusive fanout consumers.Michael Wilson2013-06-121-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See bug #1180166, basically we shouldn't be trying to reconnect to exclusive queues. Fixes: bug #1180166 Change-Id: I71ac5a150ea8c4d97a34404cb821ce8e8dfa152d
* | | | | Merge "Make AMQP based RPC consumer threads more robust"Jenkins2013-06-263-0/+35
|\ \ \ \ \
| * | | | | Make AMQP based RPC consumer threads more robustRaymond Pekowski2013-06-253-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bug 1189711 Should RPC consume_in_thread() be more fault tolerant? There are unprotected holes in the thread kicked off by RPC consume_in_thread such that an exception will kill the thread. This exists for both the service (TopicConsumer) and the new reply proxy (DirectConsumer) consumers. This patch plugs those holes as close to the base of the consumer thread as possible by catching all non-caught exceptions and retrying with sleeps between retries and some pacing of the log output to prevent log flooding. Change-Id: I0d6ec8a5e3a310314da201656ee862bb40b41616
* | | | | | Merge "Add IpFilter, IPNetnsExecFilter and EnvFilter"Jenkins2013-06-262-0/+127
|\ \ \ \ \ \
| * | | | | | Add IpFilter, IPNetnsExecFilter and EnvFilterDirk Mueller2013-06-202-0/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These filters have been implemented in Quantum before: - IpFilter provides support for filtering ip commands - IpNetnsExecFilter is a chaining command filter that verifies that the command to be executed by ip netns exec is covered by other established filters. IpNetnsExecFilter has been restricted to ensure that the filter chains have all matching filters run as the same user. EnvFilter is a new filter derived from CommandFilter that allows a Command to be optionally prefixed by "env" and a specific list of environment variables. This is intended to replace the specific DnsmasqFilter and DnsmasqNetnsFilter in the future when all consumers have been updated. Implements bp rootwrap-quantum-features Change-Id: I0cf39967126e99a8dc53d21bee824a0fe2f63aa0
* | | | | | | Merge "rpc: remove some unused serialization code"Jenkins2013-06-261-6/+1
|\ \ \ \ \ \ \
| * | | | | | | rpc: remove some unused serialization codeMark McLoughlin2013-06-251-6/+1
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The first commit of Nova contains this code as https://github.com/openstack/nova/blob/bf6e6e7/nova/rpc.py#L149 try: publisher.send({'result': reply}) except TypeError: publisher.send( {'result': dict((k, repr(v)) for k, v in reply.__dict__.iteritems()) }) but when the kombu driver was first added, it became: https://github.com/openstack/nova/blob/9cb46c48/nova/rpc/impl_kombu.py#L717 try: msg = {'result': reply, 'failure': failure} except TypeError: msg = {'result': dict((k, repr(v)) for k, v in reply.__dict__.iteritems()), 'failure': failure} conn.direct_send(msg_id, msg) Obviously, TypeError can't be raised with the current code and we dump everything to json these days before passing down to kombu, qpid, etc. Change-Id: I932fbfbbe824fbd9de8d31f070878e9db853ee45
* | | | | | | Merge "Fixes crash when no help for an option"Jenkins2013-06-251-0/+1
|\ \ \ \ \ \ \
| * | | | | | | Fixes crash when no help for an optionThomas Goirand2013-06-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When there is no help available for an option, the generator.py simply crashes. This fixes this by initialising opt_help. Fixes Bug1194524 Change-Id: I94c23973bdad603703f12e936b7e72fe0e81c3f0
* | | | | | | | Merge "Do not raise NEW exceptions"Jenkins2013-06-251-2/+2
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | |
| * | | | | | | Do not raise NEW exceptionsSergey Vilgelm2013-06-251-2/+2
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Raising NEW exception is bad practice, because we lose TraceBack. So all places like: except SomeException as e: raise e should be replaced by except SomeException: raise If we are doing some other actions before reraising we should store information about exception then do all actions and then reraise it. This is caused by eventlet bug. It lost information about exception if it switch threads. fixes bug 1191730 Change-Id: I7bce659591c4c3e4bc41e12d7d8390128c30e2e4
* | | | | | | Merge "Remove the unused plugins framework"Jenkins2013-06-254-271/+0
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | |
| * | | | | | Remove the unused plugins frameworkMark McLoughlin2013-06-194-271/+0
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This framework was merged a year ago and AFAICT hasn't seen use beyond the two initial wikimedia extensions for Nova. The framework basically allows a way for a single plugin to register API extensions and notification hooks. Both of these can be done by directly using config opts like osapi_compute_extension and notification_driver so this framework really only helps if we expected to (and wanted to) lots of these plugins in the wild. Nova is the only project using this and we don't have an active maintainer listed in the MAINTAINERS file, so it seems like it's time to remove it from the incubator. Change-Id: I5552b5625e26f4821464807743545ec6f5117f2b
* | | | | | Merge "Optionally reject messages on exception."Jenkins2013-06-243-16/+44
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | |
| * | | | | Optionally reject messages on exception.Sandy Walsh2013-06-203-16/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than blindly ack() all messages, consumers can be created that reject() the message if an exception occurs in the callback. Currently only implemented in kombu driver. Change-Id: I308dd794b50966e3a189d31b2b51fdac36cd7d3a
* | | | | | Ensure that DB configuration is backward compatibleGary Kotton2013-06-221-0/+17
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | Fixes bug 1193557 Change-Id: I483099b205c71d66cf97522307d8265abe83a488
* | | | | Merge "python3: Fix traceback while running python3."Jenkins2013-06-201-8/+10
|\ \ \ \ \
| * | | | | python3: Fix traceback while running python3.Chuck Short2013-06-171-8/+10
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Python3 enforces the distinction between byte strings and text strings more rigorously than python2. So use six.text_type where approiate and six.string_types. Change-Id: Iaab049fff97278d94fd7ab932a514949094a949a Signed-off-by: Chuck Short <chuck.short@canonical.com>
* | | | | Merge "Remove useless logging in networks_utils"Jenkins2013-06-201-5/+0
|\ \ \ \ \ | |_|/ / / |/| | | |
| * | | | Remove useless logging in networks_utilsJulien Danjou2013-06-191-5/+0
| |/ / / | | | | | | | | | | | | | | | | Change-Id: Ia5a355557bf98b0152cb606ffd5c13d97fa71074 Signed-off-by: Julien Danjou <julien@danjou.info>
* / / / Remove unused zmq relay functionalityMark McLoughlin2013-06-171-26/+3
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes bug #1188029 This relay functionality appears to be completely unused and untested so just remove it. If we need it in future, we can restore it from the git history. Change-Id: I479d654aefdbd58c80946818b9a405eaa02644db
* / / Refactors to_bytesZhongyue Luo2013-06-131-21/+23
|/ / | | | | | | | | | | | | The original logic was not intuitive. Changed the code for better readability. Change-Id: I0d96105d4ff22eed827ed61466a26f69f33addd1
* | Merge "Handle relative path arguments in Killfilter"Jenkins2013-06-121-13/+22
|\ \
| * | Handle relative path arguments in KillfilterDirk Mueller2013-06-121-13/+22
| |/ | | | | | | | | | | | | | | | | | | | | | | KillFilter currently expects an absolute path to be specified for the process name to kill. This is inconvenient when the exact location of the running binary is not known or differs accross installs. Extend KillFilter to accept also commands in $PATH to be killed if the given argument is not absolute. Change-Id: I6b90206b587ff3f949af2c256a78ca21af31867a
* | Merge "Fix workarounds for some values"Jenkins2013-06-121-2/+3
|\ \
| * | Fix workarounds for some valuesJulien Danjou2013-06-071-2/+3
| | | | | | | | | | | | | | | | | | | | | This fixes the default values for hostnames and paths. Change-Id: I434a4f0269e2d0a3a667056233078ff01d0cdb72 Signed-off-by: Julien Danjou <julien@danjou.info>
* | | Merge "Add a funcutils file for working with functions."Jenkins2013-06-121-0/+76
|\ \ \ | |_|/ |/| |
| * | Add a funcutils file for working with functions.Joshua Harlow2013-06-091-0/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Multiple projects are starting to copy around the various function utilities that exist in nova and elsewhere. It would seem appropriate that there exist a helper file in oslo that was used instead as a central place for this type of code. Change-Id: Ia83f26da16b0c868506ecf90e1aaf8affecf3617
* | | Merge "Allow exceptions to hop up cells"Jenkins2013-06-121-3/+15
|\ \ \
| * | | Allow exceptions to hop up cellsMatthew Sherborne2013-06-121-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an exception happens in an RPC call using nova cells, it can travel back up several RPC boundaries. eg, child-cell=>parent-cell=>nova-api Before this patch if an exception (eg. AggregateNotFound) was raised in the bottom layer, the next layer up would turn it into a special exception ( AggregateNotFound_Remote ), then in the final layer, it would see this as an unrecognizable exception and raise RemoteException. After this patch, at each layer where the expeption is deserialized, it'll recognize exceptions with the _Remote postfix, and leave them as they are, instead of turning them into RemoteExceptions. It also preserves the exception's original __module__ now. Change-Id: I158a80f1cec20d3e1805b565ffddaffd7a15295b