2193 Commits

Author SHA1 Message Date
Jenkins
379fd82e55 Merge "[TrivialFix] Fix typo in oslo.messaging" 2016-10-20 19:34:47 +00:00
melissaml
e5aceb351c Using assertIsNone() instead of assertEqual(None)
Following OpenStack Style Guidelines[1]:
http://docs.openstack.org/developer/hacking/#unit-tests-and-assertraises
[H203] Unit test assertions tend to give better messages for more specific assertions.
As a result, assertIsNone(...) is preferred over assertEqual(None, ...)

Change-Id: I192e339fadc6b738714697d1ae8673ebfb7abd79
2016-10-20 23:48:36 +08:00
melissaml
b28b2875c9 Change assertTrue(isinstance()) by optimal assert
Some of tests use different method of
assertTrue(isinstance(A, B)) or assertEqual(type(A), B).
The correct way is to use assertIsInstance(A, B) provided
by testtools

Change-Id: I0d2ec8ff3be41afb871ebd2aa71a8dfd13e2076d
2016-10-20 23:18:28 +08:00
ozamiatin
c9732d5d3b [zmq] Don't fallback to topic if wrong server specified
When target is specified with server name the correct
result is empty if there is no records with this precise
name registered.

Change-Id: Ibaa7c23c633ccc5f2ca428deb022c9fc1d00e8e7
2016-10-20 11:52:00 +03:00
howardlee
56c48c65a5 [TrivialFix] Replace old style assertions with new style assertions
Replace 'assertEqual(None, ...)' with 'assertIsNone(...)'.
Replace 'assertTrue(a in b)' with ''assertIn(a, b).
Replace 'assertFalse(a in b)' with 'assertNotIn(a, b)'.

Change-Id: Ia13cb8465ec86c07867ef977f8ab0d0fdbabb1d4
2016-10-20 03:22:47 +00:00
howardlee
7f2341b3cf [TrivialFix] Fix typo in oslo.messaging
replace 'MessageDispostionTask' with 'MessageDispositionTask'

Change-Id: I3278cc70e2f7a08611a0596adbfca5106d2197c0
2016-10-20 09:02:13 +08:00
Jenkins
267ac50fd6 Merge "[simulator] Fix a message length generator usage" 2016-10-19 19:30:41 +00:00
Jenkins
b453b0a4a9 Merge "[sentinels] Fix hosts extracting and slaves usage" 2016-10-19 17:03:08 +00:00
Jenkins
2cc646bb48 Merge "[zmq] SUB-PUB local proxy" 2016-10-19 15:36:19 +00:00
Kirill Bespalov
401102daab [simulator] Fix transport_url usage
1) Remove hardcoding 'redis' matchmaker from any zmq:// transport because it's
   fails in cases zmq+etcd:// or zmq+sentinel:// urls.
2) Allow to use transport_url from config file by removing default value for
   args.url option. In this case by default args.url is None and
   transport_url will be used from config file.

Change-Id: I1edcabe46b1e92dd4e6eccc9151b50d03f394186
2016-10-19 14:13:29 +03:00
Kirill Bespalov
6eb57b4d5f [simulator] Fix a message length generator usage
Do initialization of the generator only for rpc/notify clients.
No needs to load messages_length.yaml and calculate distribution for servers.

Change-Id: Ib1ac30181bec20eacf6d29ccd5f76c0b6b1e96f8
2016-10-18 14:51:19 +03:00
Iswarya_Vakati
998135b21b Update .coveragerc after the removal of respective directory
Change-Id: Ib352d4db02f5b7c02cab84330b04f1f3bb0253fa
2016-10-18 17:20:09 +05:30
Kirill Bespalov
d054c31fae [sentinels] Fix hosts extracting and slaves usage
1) Provide master_group_name as virtual_host in url:
   zmq+sentinel://:password@sentinel-a,:password@sentinel-b/master_group_name
2) Use slaves for the read operations like SMEMBERS.

Change-Id: I690ecae4a260feef5425eac1f3f5b0e5cf4bb2d7
2016-10-18 13:58:01 +03:00
ozamiatin
1121a6bb60 [zmq] SUB-PUB local proxy
Central + local proxies combination optimizes following:

* Makes it possible to shorten the number of TCP connections
to a single subscription from node.

* PUB/SUB limitation of 10k consumers can be bumped up to 10k nodes
not only to 10k services

* Fanout happens in 2 steps therefore central proxy takes less load
and blocks for a shorter period of time since it needs to fanout
to less consumers (local proxies) not directly to every single service.

Change-Id: I57d87bc8310354142ab69a9f2d3e0a0cf5b972b8
2016-10-17 16:38:52 +03:00
Jenkins
874a69b0cd Merge "[simulator] Automatic stopping of rpc-servers" 2016-10-17 12:01:07 +00:00
Hu Yupeng
4ba1b594d5 Fix typos in addressing.py and setup.cfg
TrivialFix

Change-Id: I403ede0d11357c76da2432fd14a6b843969c1c17
2016-10-17 15:56:06 +08:00
Jenkins
7e0d8a035f Merge "Record length of queues for ReplyWaiters" 2016-10-14 18:37:21 +00:00
OpenStack Proposal Bot
96b9618228 Updated from global requirements
Change-Id: Ib121090566ec7765b52f22227e1ccfe2fe413aff
2016-10-14 05:30:16 +00:00
ChangBo Guo(gcb)
86e779b11b Record length of queues for ReplyWaiters
Add the length of queues in warning message when it exceeds
threshold.

Change-Id: I6236720ede71fadac0c61baf792c15c69de3094b
2016-10-14 10:12:26 +08:00
Jenkins
211c2c1418 Merge "Enable release notes translation" 2016-10-13 20:04:18 +00:00
Jenkins
293084f9b5 Merge "[AMQP 1.0] Avoid unnecessary thread switch on ack" 2016-10-13 10:32:07 +00:00
Mehdi Abaakouk
c881baed29 rabbit: Don't prefetch when batch_size is set
When the application set batch_size, so we don't need to prefetch more
messages, especially for notifications. Notifications queues can be
really big when the consumer have disapear during a long period, and
when it come back, kombu/pyamqp will fetch all messages it can. So we
override the qos prefetch value.

Change-Id: I601e10cf94310b9f96f7acb9942959aaafad7994
Closes-bug: #1551667
2016-10-11 18:12:35 +02:00
Jenkins
7ab113231b Merge "[zmq] Fix issues with broken messages on proxies" 2016-10-11 14:55:19 +00:00
Kenneth Giusti
bc46e64711 [AMQP 1.0] Avoid unnecessary thread switch on ack
Avoid blocking the RPC Server thread when it attempts to acknowledge
the RPC request message.  Blocking is unnecessary as the acknowledge
command does not return a status and can be processed asynchronously
from the server thread.

Avoiding this context switch improves overall RPC call throughput
according to the simulator tool by approximately ten percent on my
test systems.

Change-Id: I71548eb6f9f7dcaf74cb426d4e9b369b54856419
2016-10-11 10:11:35 -04:00
Jenkins
368e3cfb47 Merge "cast() and RPC replies should not block waiting for endpoint to ack" 2016-10-11 10:49:34 +00:00
Gevorg Davoian
c0e941f649 [zmq] Fix issues with broken messages on proxies
Change-Id: Ie120500d21b336a03a06db054dd50eabed947992
Closes-Bug: #1632061
2016-10-10 22:20:26 +03:00
Jenkins
9a5ce19075 Merge "Removed redundant 'the'" 2016-10-10 16:44:09 +00:00
Jenkins
7ad9718395 Merge "Fix a typo in server.py" 2016-10-10 16:39:36 +00:00
Jenkins
3e993aef01 Merge "[zmq] Maintain several redis hosts" 2016-10-10 16:39:21 +00:00
Gevorg Davoian
cb3af2167f [zmq] Maintain several redis hosts
This patch makes it possible to maintain several redis hosts at
once in order to increase driver's reliability and fault tolerance.

Change-Id: Id6f63a4bb67a39340a74d16144c79028c7af245d
2016-10-10 15:13:15 +03:00
Jenkins
06414b1de7 Merge "Properly deserializes built-in exceptions" 2016-10-08 12:28:41 +00:00
melissaml
fa43769080 Removed redundant 'the'
Removed redundant 'the'

Change-Id: Iba66e79c38ebc79c2f916f0704b00927849061c3
2016-10-08 13:17:18 +08:00
melissaml
ea001a874b Fix a typo in server.py
TrivialFix

Change-Id: I550661e58e481e69b2f21600893a20692aa9e9f3
2016-10-08 12:28:12 +08:00
Hiroyasu.OHYAMA
beb23103b0 [document] The example which is written in the developer guide of
'Notification Listener' doesn't work.

I fixed the example which is described in developer guide to work fine.
These are the main points of this correction.

* specify namespace for NotificationFilter.
* set 2 blank lines between class definitions according to E302 of pep8.
* change argument of 'pool' to keyward arguemnt, because 4th argument of
  'get_notification_listener' requires the name of message executor.

Change-Id: I75800309f2294fe9f17ea2a2b1638de57ef2922e
Closes-Bug: #1618394
2016-10-07 18:07:00 +09:00
Andreas Jaeger
7a1694b6c1 Enable release notes translation
Releasenote translation publishing is being prepared. 'locale_dirs'
needs to be defined in conf.py to generate translated version of the
release notes.

Note that this repository might not get translated release notes - or
no translations at all - but we add the entry here nevertheless to
prepare for it.

Change-Id: I7f004ff1404281a825f6317d1555bbb32822a971
2016-10-06 20:42:38 +02:00
Kenneth Giusti
03ef584218 cast() and RPC replies should not block waiting for endpoint to ack
This patch fixes cast() and RPC replies so they do not block the
caller once the messages have been written to the link.  In both of
these cases messages are sent "at most once" with best effort.

If a negative acknowledgment is received a warning is logged.

Change-Id: I84671c62544ec388421ecd0ccafc267c3c3d6087
Closes-Bug: #1630637
2016-10-06 13:11:14 -04:00
Jenkins
6357a45f82 Merge "Remove debug logs from fast path" 2016-10-06 16:50:23 +00:00
Kirill Bespalov
dd8e9fb5e3 [simulator] Automatic stopping of rpc-servers
This patch provide the sync flag:

  simulator.py rpc-client --sync call
  simulator.py rpc-client --sync fanout

The --sync values means next:
- call:   to send sync msg via rpc.call
- fanout: to broadcast sync msg via rpc.fanout to all servers on topic

When clients has sent all messages, the rpc-server will be stopped
automatically and dump statistics to a file (if --json-file is used).

This is much usefull than rough killing the process of the server in
benchmark frameworks.

Change-Id: I06fd8dbbcdc8b2b9f13029029f730b417ff128ce
2016-10-06 16:14:01 +03:00
hussainchachuliya
4c67917484 Fix whitespace formatting issue
Fix a missing and extra whitespaces issue.

TrivialFix

Change-Id: Ib108db431ee84bdf0a556fb1fc5bcd909a7f06eb
2016-10-06 16:34:43 +05:30
Jenkins
cb13e65bed Merge "[zmq] Fix send_cast in AckManager" 2016-10-06 08:04:52 +00:00
Jenkins
7768b5d8e8 Merge "[zmq] Routing table refactoring, dynamic direct connections" 2016-10-06 02:04:34 +00:00
Claudiu Belu
da830016d5 Properly deserializes built-in exceptions
If the remote target and the caller have different python
versions, then built-in exceptions raised by the remote target
will not be properly deserialized on the caller. Because of this,
oslo.messaging will simply raise a RemoteError, instead of any
expected exceptions the caller might expect.

This patch addresses this issue.

Closes-Bug: #1630795

Change-Id: I6d9eaf5497e746be9766731172406ec624ef9ba7
2016-10-05 16:57:55 -07:00
Gevorg Davoian
86f4b80b0c [zmq] Fix send_cast in AckManager
This patch moves message sending closer to ack receiving. As a
result we get more uniform load on servers and more reliable
behavior when some proxies suddenly shut down.

Change-Id: I0bc7b94c8259fcaa590c111bc5437520cdd302ef
2016-10-04 00:27:23 +03:00
Kenneth Giusti
9775ed3cce Remove debug logs from fast path
Decrease the size of the debug log output drastically by removing
debug messages issued for each message.  This patch only removes those
log statements that log correct behavior - errant behavior is still
logged for debug.

Change-Id: I1c67e6ed7e503ef3b9543fdfce31b91c46bd851a
2016-10-03 16:31:35 -04:00
Jenkins
f52e5cfbca Merge "[zmq] Added a processing to handle ImportError in Redis plugin of Matchmaker" 2016-10-03 17:46:36 +00:00
ozamiatin
a5e2a633e3 [zmq] Routing table refactoring, dynamic direct connections
* Refactored RoutingTable, in order to work on string target
      representation.
    * RoutingTableAdaptor - provides usable adaptation of RoutingTable
      to use with Target object.
    * RoutingTableUpdater - implements asynchronous table updates
      from the matchmaker.
    * Implemented dynamic connections for DealerPublisherDirect
    * Use dynamic connections for direct messages

Change-Id: I20a76c3b2e8f9e71ffcc5ac658fbc659ad4c8153
2016-10-03 16:45:16 +03:00
Gevorg Davoian
e491573654 Fix simulator bool command line args
--debug, --is-cast and --is-fanout are defined as args of type=bool.
This means that, for example, if we want to enable debug logging
level, we have to type '--debug True'. But we can also use
'--debug False' in order to do the same, which is very misleading
(in fact, any non-empty string will evaluate to True). This patch
tries to solve this problem by replacing type=bool and
default=False with action='store_true' for these args, so that
we will be able to enable them (they will remain False by default
as before) simply as '--debug' etc.

Change-Id: I8ee04c35427df446966161491da8d264b44975bf
2016-09-30 12:46:02 +03:00
Jenkins
16820d91b1 Merge "Replace 'the' with 'to' in docstring" 2016-09-29 18:22:04 +00:00
Jenkins
1a52e3a141 Merge "Set the valid choices for the rabbit login methods" 2016-09-29 09:55:19 +00:00
Jenkins
31a544cce6 Merge "[zmq] Remove unused methods from executors" 2016-09-29 07:44:33 +00:00