summaryrefslogtreecommitdiffstats
path: root/openstack
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge "DRY up mirrored Rabbit queue declaration"Jenkins2012-09-251-5/+17
|\ \ \
| * | | DRY up mirrored Rabbit queue declarationMark McLoughlin2012-09-251-5/+17
| |/ / | | | | | | | | | | | | | | | | | | Consolidate the setting of x-ha-policy to a single place and add soem documentation. Change-Id: I35751e43c3ac15c142996f291e0ec609cab4948a
* | | Merge "Support for several HA RabbitMQ servers."Jenkins2012-09-251-29/+49
|\| |
| * | Support for several HA RabbitMQ servers.Eugene Kirpichov2012-09-251-29/+49
| | | | | | | | | | | | | | | | | | | | | | | | Use the rabbit_ha_queues boolean option. It is off by default, and you need to wipe RabbitMQ Mnesia database (/var/lib/rabbitmq/mnesia) when changing it. Change-Id: Id06692a142d1e5316602f6ceed4ccad615ce74c1
* | | Support declare_topic_consumer in impl_zmqEric Windisch2012-09-201-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | Required to support scalable agents in Quantum. declare_topic_consumer is implementation-specific, but it (or similar) is needed to consume notifications. Change-Id: Ifdeff8ae0ed90106a6bfaae0116db9d91d6b6faf
* | | fanout subscriptions in impl_zmqEric Windisch2012-09-202-20/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This necessary to support Quantum's scalable agents in the Folsom release. Supports matchmaking and subscribing to publishers, in addition to sender-only fanout broadcasting. Until now, senders of fanout messages had to know of all recipients via the matchmaker. This patch allows recipients to discover message publishers via the matchmaker. This is useful in patterns when there are few publishers, but many subscribers. The raw message passed to ZeroMQ is changed so that zmq_subscribe can filter by topic. This patch may be partially reverted in Grizzly, after the arrival of the ServiceGroupAPI which will significantly improve the matchmaking capabilities. Change-Id: Ifc132519c6e380cb0a3643680764a38b841add0e
* | | Merge "Normalize_time() always return naive object"Jenkins2012-09-171-2/+4
|\ \ \
| * | | Normalize_time() always return naive objectYunhong, Jiang2012-09-131-2/+4
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the timeutils.normalize_time() returns naive datetime object when parameter timestamp is an naive object or a non-UTC aware datetime object, and returns aware datetime object if parameter timestamp is a UTC aware datetime object. The basic problem here is that utcoffset() of None means the object is naive but a utcoffset() of zero means that the object is aware but represents UTC time. This is fragile implementation and will trigger potential issue, because aware/native datetime is not interoperatable. For example, "timeutils.utcnow() > timeutils.normalize_time(m)" will success at most time, while trigger TypeError if m is a UTC aware object. We want to normalize all objects into naive objects. Fixes bug 1048636 Change-Id: I4a09246fa8f0dd63ca54362b877aa825d9b79772 Signed-off-by: Yunhong, Jiang <yunhong.jiang@intel.com>
* | | Merge "Change the qpid_heartbeat default to 60 seconds."Jenkins2012-09-141-1/+1
|\ \ \ | |/ / |/| |
| * | Change the qpid_heartbeat default to 60 seconds.Russell Bryant2012-09-131-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The heartbeat option enables sending a message at the AMQP layer at a regular interval. This helps ensure that the connection is still up and working. Once a failure is detected, a reconnection can be attempted. The default for qpid_heartbeat was previously 5 seconds. This is pretty aggressive and can lead to invalid timeouts occuring. An example is the nova-compute service. It may block in native code (such as libvirt) under normal circumstances. When this happens, other greenthreads (such as the one responsible for sending the heartbeat) can not be scheduled. This patch makes the default a less aggressive 1 minute. Fix bug 1050661. Change-Id: Idce48944050c331dda85e9b10ab6f5b025845c34
* / Use pep8 v1.3.3Zhongyue Luo2012-09-136-20/+32
|/ | | | | | | Fixed indents which violate pep8 1.3.3 Also added .mailmap file to coalesce commits Change-Id: Ia7a788a28e6c0fd9cb52fb7ea477cddd7d589e58
* Merge "Make projects define 'control_exchange'."Jenkins2012-09-124-19/+30
|\
| * Make projects define 'control_exchange'.Russell Bryant2012-09-114-19/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'control_exchange' option needs to have a project-specific default value. Just don't register this option and expect it to be registered by the project using this code, at least for now. ****** IMPORTANT NOTE WHEN IMPORTING THIS CHANGE ****** If you are importing this change into a project that uses rpc, you must add the control_exchange option in your code! ******************************************************* Change-Id: Ida5a8637c419e709bbf22fcad57b0f11c31bb959
* | Merge "Improve logging of process id"Jenkins2012-09-111-5/+4
|\ \
| * | Improve logging of process idStuart McLaren2012-09-111-5/+4
| |/ | | | | | | | | | | | | | | | | | | Move process id to a fixed position in the logs, and to be present for all output (including eventlet and stack traces) as was the case previously. Fix for LP bug 1040772. Change-Id: I82639e730c2887630fbbee608a4d4da24862982d
* / Added a method for parsing host:port pairs.Eugene Kirpichov2012-09-111-0/+44
|/ | | | | | | | | | | | The method works correctly with ipv6. An alternative way would be to use urlparse, but urlparse only works correctly starting with Python 2.7, so to be compatible, we have to reimplement this part. The method will be used for parsing Glance API server addresses, RabbitMQ addresses and perhaps other things. Change-Id: Ie5014891c6abcd80681a370d5dd94cb0406f7f61
* Add cinder to allowed_rpc_exception_modules.Dan Prince2012-09-051-0/+1
| | | | | | | | | When configuring Cinder I would rather not have to specify allowed_rpc_exception_modules in my default config. This patch updates the default list of allowed_rpc_exception_modules to include cinder.exception. Change-Id: Ib7babb1ceb13e86c555947ebc869b50afd7e9b49
* Merge "Update zmq context cleanup to use term."Jenkins2012-08-311-1/+1
|\
| * Update zmq context cleanup to use term.Dan Prince2012-08-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Updates the RPC cleanup function for the zmq RPC driver to use Context.term() instead of Context.destroy(). This allows the Nova code to work with older versions (pre 2.1.10) of pyzmq. The Context term() function seems to do the job just as well as destroy() (and is also thread safe) so lets just use it instead. Fixes LP Bug #1044004. Change-Id: Ifadd2c19914abfe5dbb58310d21eb6c78563fb82
* | Allow non-string items in the creds dict.Vishvananda Ishaya2012-08-201-1/+1
|/ | | | | | | | | | | | | | | | | | | | | | The generic checking in policy allows us to match against data from the creds_dict using a very simple syntax. For example, in policy.json if you had something like: "some_action": [["project_id:foo"]] it would only allow project foo to perform that action, but something like: "some_action": [["is_admin:True"]] where is_admin is a boolean fails. This modifies the check to convert the value to unicode before attempting to compare it. It includes a test. Fixes bug 1039132 Change-Id: I0e53a6ea2709212d4a1536f901bcf1e717a232ca
* Add threadgroup to manage timers and greenthreads.Angus Salkeld2012-08-202-7/+141
| | | | | | | Part of blueprint service-infrastructure Change-Id: I40593b6ad13d99d9e63c8c04154a0dac5aced02e Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
* Add basic periodic task infrastructure.Angus Salkeld2012-08-202-1/+115
| | | | | | | | | | So the idea is Manager will inherit from PeriodTasks and create a timer to call run_periodic_tasks(). Part of blueprint service-infrastructure Signed-off-by: Angus Salkeld <asalkeld@redhat.com> Change-Id: I822b8501ad184d0e5885cada1a3d7a847e2ca12c
* Add multiprocess service launcherAngus Salkeld2012-08-201-7/+183
| | | | | | | Part of blueprint service-infrastructure Signed-off-by: Angus Salkeld <asalkeld@redhat.com> Change-Id: I848e8c91d2c331e5c78a176258318457a9041131
* Add signal handling to service launcherAngus Salkeld2012-08-201-0/+41
| | | | | | | Part of blueprint service-infrastructure Change-Id: Iff072199ebd3c1abcb4218c9b647f8bef75f934a Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
* Merge "Basic service launching infrastructure"Jenkins2012-08-201-0/+73
|\
| * Basic service launching infrastructureAngus Salkeld2012-08-151-0/+73
| | | | | | | | | | | | | | Part of blueprint service-infrastructure Change-Id: I4e97db2877be976b0c681da9ff0d331fbfb306b0 Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
* | Merge "Move manager.py and service.py into common."Jenkins2012-08-202-0/+96
|\|
| * Move manager.py and service.py into common.Angus Salkeld2012-08-152-0/+96
| | | | | | | | | | | | | | | | | | - Just start with the skeleton classes. Part of blueprint service-infrastructure Change-Id: I90fbff3805455d9d82aacf43257d74e4cb443042 Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
* | Merge "Fix spelling typos"Jenkins2012-08-202-4/+4
|\ \
| * | Fix spelling typosRongzeZhu2012-08-172-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | Fixes for: * openstack/common/excutils.py * openstack/common/timeutils.py Change-Id: Ic747de783e64fae00edf5af64d1a79a4edcf8412
* | | Don't trap then re-raise ImportError.Monty Taylor2012-08-171-1/+1
|/ / | | | | | | | | | | | | | | | | When we catch ImportError, print a message, and then raise a new ImportError, we lose sane ability to read the traceback, and we gain nothing. Raising a new ImportError on Attribute or Value error is helpful, given the context in which we are working. Change-Id: I52f61405e63535bcc745c9d350aa0dfbae36a8ac
* | Remove unused importsRongzeZhu2012-08-163-5/+0
| | | | | | | | | | | | Fixes bug #1037578 Change-Id: I87dbd0bc5fe16a4416a676dc26f2446a54509bc1
* | Remove register_opts from client methodsEric Windisch2012-08-151-5/+0
|/ | | | | | | | | During the nova->common migration, it was required to call register_opts on every client RPC api call. This is no longer required with cfg.CONF. Change-Id: Ia46c5d54e68c4d86a87570b2caff0da9755ca931
* Merge "Rename FLAGS to CONF; Remove self.conf"Jenkins2012-08-141-16/+14
|\
| * Rename FLAGS to CONF; Remove self.confEric Windisch2012-08-061-16/+14
| | | | | | | | | | | | Remove all uses of self.conf and rename FLAGS to CONF. Change-Id: If7b3a3e69fe3c3d2c83033d2b44eb106794ef087
* | Merge "cfg: clean up None value handling"Jenkins2012-08-131-23/+13
|\ \
| * | cfg: clean up None value handlingMark McLoughlin2012-08-131-23/+13
| | | | | | | | | | | | | | | | | | | | | | | | Remove the need for an internal NoneValue class by making the existence of the 'default' or 'override' keys signify whether a default or override is set. Change-Id: Iacf49553df5ba8414307904a3ee334c7b8c55758
* | | Merge "Allow set_default and set_override to use None"Jenkins2012-08-131-2/+39
|\| |
| * | Allow set_default and set_override to use NoneVishvananda Ishaya2012-08-111-2/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation interprets set_default('foo', None) and set_override('foo', None) as 'clear the existing default or override', which makes it impossible to override a value with None. This patch adds support for overriding with a None value by adding a special internal class. set_override('foo', None) will now override the existing value with None. This is a slight change to the existing behavior, so this patch adds two calls for the old functionality of clearing defaults and overrides. Example syntax for the new calls are shown below: conf.clear_default('foo') conf.clear_override('foo') The patch also updates the tests to reflect the change in functionality and adds new tests to verify the new functionality. Fixes bug 1035478 Change-Id: Iee5e20e44da9bef6b86e0483ab0b48b625fe503c
* | | Tilde expansion for --config-file and --config-dirMark McLoughlin2012-08-111-6/+11
|/ / | | | | | | | | | | | | | | | | Fixes bug #1012671 Allow a filename starting with ~ or ~user to be passed for --config-file or --config-dir. Change-Id: I67705401ed1c35c0cc2161095e36616552740aba
* | Support for marshalling datetime while preserving microseconds.SandyWalsh2012-08-101-0/+18
| | | | | | | | | | | | Needed for performance measurement via "inflight" service. Change-Id: I5c1a8395b4cbc5fc0f8649b3af8130f45dd401bb
* | Merge "Add import_opt() method to ConfigOpts"Jenkins2012-08-101-0/+19
|\ \ | |/ |/|
| * Add import_opt() method to ConfigOptsMark McLoughlin2012-07-311-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Related to blueprint cfg-global-object When using the global config object pattern, you often have modules which define options that are referenced in other options. So, for example if module A defined option 'foo' and module be needed to reference that option, you might do: import A print CONF.foo However, this makes it entirely unclear to the casual reader why module A was imported. Nova has a flags.DECLARE() function that helps with this problem by allowing you to do: flags.DECLARE('foo', 'A') The function simply imports module A and checks that the 'foo' option is now defined in the global config object. This is fine, but it is also implicit that this function applies to the global config object. Instead, let's do the following: CONF.import_opt('foo', 'A') Change-Id: I7b98f5be71068bbde70cc0eab991eaebb577de52
* | Add multiple-driver support to the notifier api.Andrew Bogott2012-08-025-152/+55
| | | | | | | | | | | | | | | | | | | | | | Move all of the functionality previously provided by the list_notifier into the basic notifier api. Move and restructure tests accordingly. Remove the list_notifier file and test file. For bug 1025820 Change-Id: Idf7cb975dd78e9951188781622a4d10ca466b154
* | Merge "Install a qualified except hook."Jenkins2012-08-021-6/+8
|\ \
| * | Install a qualified except hook.Mate Lakat2012-08-011-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes bug 1031351. As an Exception is raised, it was not visible in the log, because it wasn't qualified. The fix sets up the exception hook to be qualified as the product_name. Change-Id: Ie8061d003b05ea8b00db5d8ed8fa445ccc822942
* | | Merge "Copy eventlet_backdoor into common from nova."Jenkins2012-08-021-0/+78
|\ \ \
| * | | Copy eventlet_backdoor into common from nova.Angus Salkeld2012-08-021-0/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is debugging utility only used by service.py in nova. (needed in openstack-common to move service.py to common) Change-Id: I9a7a84a5f34517abf91d87e9d817d7e763e22829 Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
* | | | Merge "Fix errors reported by pyflakes."Jenkins2012-08-021-3/+2
|\ \ \ \ | |/ / / |/| | |
| * | | Fix errors reported by pyflakes.Bhuvan Arumugam2012-08-011-3/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | * openstack/common/setup.py get_reqs_from_files(): Remove unused variable. get_reqs_from_files(): Use local variables in a conventional way, to prevent errors like: local variable 'datestamp' is assigned to but never used. Change-Id: I44e137d383b96e1601b7bded1e36e84ff14a8f68