| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
Consolidate the setting of x-ha-policy to a single place and add
soem documentation.
Change-Id: I35751e43c3ac15c142996f291e0ec609cab4948a
|
|\| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
|\ \ \
| |/ /
|/| | |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
|
|
| |
Fixed indents which violate pep8 1.3.3
Also added .mailmap file to coalesce commits
Change-Id: Ia7a788a28e6c0fd9cb52fb7ea477cddd7d589e58
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Part of blueprint service-infrastructure
Change-Id: I40593b6ad13d99d9e63c8c04154a0dac5aced02e
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Part of blueprint service-infrastructure
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
Change-Id: I848e8c91d2c331e5c78a176258318457a9041131
|
|
|
|
|
|
|
| |
Part of blueprint service-infrastructure
Change-Id: Iff072199ebd3c1abcb4218c9b647f8bef75f934a
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Part of blueprint service-infrastructure
Change-Id: I4e97db2877be976b0c681da9ff0d331fbfb306b0
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Just start with the skeleton classes.
Part of blueprint service-infrastructure
Change-Id: I90fbff3805455d9d82aacf43257d74e4cb443042
Signed-off-by: Angus Salkeld <asalkeld@redhat.com>
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes for:
* openstack/common/excutils.py
* openstack/common/timeutils.py
Change-Id: Ic747de783e64fae00edf5af64d1a79a4edcf8412
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| | |
Fixes bug #1037578
Change-Id: I87dbd0bc5fe16a4416a676dc26f2446a54509bc1
|
|/
|
|
|
|
|
|
|
| |
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
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Remove all uses of self.conf and rename FLAGS to CONF.
Change-Id: If7b3a3e69fe3c3d2c83033d2b44eb106794ef087
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes bug #1012671
Allow a filename starting with ~ or ~user to be passed for
--config-file or --config-dir.
Change-Id: I67705401ed1c35c0cc2161095e36616552740aba
|
| |
| |
| |
| |
| |
| | |
Needed for performance measurement via "inflight" service.
Change-Id: I5c1a8395b4cbc5fc0f8649b3af8130f45dd401bb
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
|\ \ \ \
| |/ / /
|/| | | |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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
|