2317 Commits

Author SHA1 Message Date
OpenStack Proposal Bot
4226badc83 Updated from global requirements
Change-Id: I674e086307ef8785244a14fd4e83ffaedc927eb9
2017-09-11 21:47:08 +00:00
Jenkins
6bbb3bc09d Merge "Class-level _exchanges in FakeExchangeManager" 2017-09-08 07:10:45 +00:00
Jenkins
809d4a54f1 Merge "Fix some reST field lists in docstrings" 2017-09-08 05:07:28 +00:00
Jenkins
338b85eb4e Merge "Suppress excessive debug logs when consume rabbit" 2017-09-07 23:24:51 +00:00
lingyongxu
d7229a124f Fix some reST field lists in docstrings
Probably the most common format for documenting arguments is reST field
lists [1]. This change updates some docstrings to comply with the field
lists syntax.
[1] http://sphinx-doc.org/domains.html#info-field-lists

Change-Id: Ifa8c0db3efc03eac3b034ef642aaa8fce514a66e
2017-09-07 05:42:45 +00:00
Jenkins
ff905655e9 Merge "Add support for virtual hosts" 2017-09-07 03:27:50 +00:00
Zhen Qin
147186c7b4 Suppress excessive debug logs when consume rabbit
If using rabbitmq as rpc backend, oslo.messaging generates large amount
of redundant timeout debug logs (several logs per second on multiple
openstack services, such as nova, heat, cinder), in format of 'Timed out
waiting for RPC response: Timeout while waiting on RPC response - topic:
"<unknown>", RPC method: "<unknown>" info: "<unknown>'. It's because
each socket timeout exception is raised to multiple levels of error
recovery callback functions then logged repeatedly.

However, the accompanying value of socket.timeout exception is currently
always “timed out”. Besides, oslo.messaging has implemented retry
mechanism to recover socket timeout failure. Therefore, IMO those logs
should be suppressed, even if at debug level, to save disk space and
make debugging more convenient.

Change-Id: Iafc360f8d18871cff93e7fd721d793ecdef5f4a1
Closes-Bug: #1714558
2017-09-06 21:35:33 -04:00
Jenkins
428f25ca5c Merge "Fix use of print function on python3" 2017-09-06 03:48:06 +00:00
Jenkins
dc7bd0591b Merge "Add licenses and remove unused import in doc/source/conf.py" 2017-09-05 15:32:27 +00:00
Kenneth Giusti
a76e8c043a Fix use of print function on python3
Fixes failures of qdrouterd based py35-func-amqp1 tests on python3

Change-Id: I14bfc3ca0756114c9235df2b4785c4a75f40a5ac
2017-08-31 09:18:33 -04:00
Jenkins
ba30a3067d Merge "Ensure RPC endpoint target attribute is correct" 2017-08-29 00:13:48 +00:00
Jenkins
4305740ef8 Merge "Update amqp 1.0 driver deployment guide" 2017-08-27 15:19:43 +00:00
Jenkins
01098406df Merge "Remove envelope argument from driver send() interface" 2017-08-27 15:19:35 +00:00
Rajath Agasthya
d15a6deb17 Remove envelope argument from driver send() interface
It is ignored by most drivers and hardcoded to True in the rabbit
driver

Closes-Bug: #1712877
Change-Id: Ic6b0d07bff3c544aca4cccdfcb4c59b8705e9128
2017-08-25 08:17:47 -07:00
Jenkins
d691c283f4 Merge "Updated from global requirements" 2017-08-25 04:46:24 +00:00
OpenStack Proposal Bot
f74328c63b Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html

Change-Id: Id9d500ffac34e52a246cbc00cd6c3e5f9efe979e
2017-08-24 08:19:48 +00:00
OpenStack Proposal Bot
501862b1d2 Updated from global requirements
Change-Id: I8b670cf0164078be22d16786c903b05013af5e77
2017-08-24 05:58:36 +00:00
Andrew Smith
8203b9ed73 Update amqp 1.0 driver deployment guide
This patch:
* Adds new options recently added to the driver
* Updates the devstack support information

Change-Id: I772e01ebb467a64c27b90e6105adf294bcb22654
2017-08-23 14:21:33 -04:00
Jenkins
6f992dfc7f Merge "Prevent rabbit from raising unexpected exceptions" 2017-08-22 16:44:22 +00:00
Jenkins
2e61438d2e Merge "Remove unnecessary setUp function in testcase" 2017-08-21 15:27:50 +00:00
Kenneth Giusti
f059bba6ae Prevent rabbit from raising unexpected exceptions
Publishing a message using the kombu connection autoretry method may
allow exceptions from the py-amqp library to be raised up to the
application. This does not conform to the documented oslo.messaging
API.

Enhance the try except block to capture any exception and translate it
into a MessageDeliveryFailure.

There are a few cases where exceptions will be raised during autoretry
publishing: recoverable connection or channel errors, and
non-recoverable connection or channel errors.

autoretry will only retry if the error is recoverable. Non recoverable
errors are re-raised immediately regardless of the retry count.

In the case of a recoverable error it seems unlikely that retrying
either the connection or the channel yet again is going to get us
anywhere, so in this case we simply clean up the channel state, log an
error and fail the operation.

In the case of non-recoverable error we are out of luck (think
authentication failure) - further retrying will not help.  Best we can
do is clean up state and log the heck out of it.

Change-Id: I2f65d2ee19a8c3e9a323b30404abbf0cbb45a216
Closes-Bug: #1705351
Closes-Bug: #1707160
2017-08-21 09:36:39 -04:00
OpenStack Proposal Bot
38d8bdcd19 Updated from global requirements
Change-Id: Ida4133ebeb4cc0cbfbd0e8ee62a52236dc4a0256
2017-08-18 11:40:06 +00:00
liuyamin
80c6283361 Remove unnecessary setUp function in testcase
In testcase, setUp will be called automatically. This patch used
to remove setUp functions that do nothing. Besides, it will keep
code clean.

Change-Id: I2bf79884704974dc00196816f7de43580b474d3e
2017-08-18 01:22:26 +00:00
liuyamin
59c0c8baa5 Add licenses and remove unused import in doc/source/conf.py
Change-Id: I1bded5759442c3d6dc59729f79f8166b999c9c60
2017-08-18 01:15:07 +00:00
Jenkins
74a960a13d Merge "Fix a typo" 2017-08-17 05:41:20 +00:00
Kenneth Giusti
b7382d58d7 Ensure RPC endpoint target attribute is correct
An endpoint can have an optional 'target' attribute which is used to
filter the callable endpoint by the target.version or .namespace
attributes.  Therefore 'target' is reserved and attempting to use an
endpoint that overrides the target attribute (say with a function
call) should fail with a TypeError.

Change-Id: I0bbf9fca0ecbe71efa87c9613ffd32eb718f2c0e
Closes-Bug: #1709131
2017-08-16 12:00:46 -04:00
Jenkins
28e67f4434 Merge "Update links in README" 2017-08-15 13:59:31 +00:00
lidong
b3b1ae1926 Fix a typo
Change-Id: Ie5cb0366804163309f573ca5a2bf5b129c3a8e9b
2017-08-10 01:10:47 +00:00
lidong
cd589ff91b Update links in README
Change-Id: I4c7912efd80333fecb9e7341f2a2e80e8f7ad152
2017-08-04 05:27:43 +00:00
Jenkins
ad4401c475 Merge "fix 'configration' typo" 2017-08-04 05:20:02 +00:00
Jenkins
55ac773571 Merge "Update reno for stable/pike" 2017-08-04 05:18:30 +00:00
OpenStack Proposal Bot
0976185b69 Updated from global requirements
Change-Id: I8e7c47dc199798a3490ebfffa0581cf74566f45b
2017-08-03 12:47:07 +00:00
dparalen
d1dac1c11d Class-level _exchanges in FakeExchangeManager
The FakeExchangeManager uses an instance-level storage for FakeExchanges
mapping[1].  When a client--server pair is created, each keeps their own
instance of FakeDriver -> FakeExchangeManager -> FakeExchange, each of
which has their own (instance-level) copy of e.g _server_queues[2], making
it impossible for them to communicate.

This patch makes the _exchanges mapping a class-level attribute in order
to keep the registered exchanges shared between all Manager instances,
allowing client and server communication (within a single process).

The test_server unit-tests had to be refactored to explicitly pass an exchange
name when building a target. This is required for an exchange name change to
have any effect during a test case run time when compared to passing the
exchange name through the URL. This issue was revealed with this patch.

[1] https://github.com/openstack/oslo.messaging/blob/master/oslo_messaging/_drivers/impl_fake.py#L145,#L148
[2] https://github.com/openstack/oslo.messaging/blob/master/oslo_messaging/_drivers/impl_fake.py#L88,#L92

Change-Id: I8dff66f4cafeb1f4c57dbfbfaba5d49e50f55fee
Closes-Bug: #1714055
2017-08-02 08:23:34 +02:00
Adam Spiers
1038a1c038 fix 'configration' typo
Fix typos in the documentation and corresponding directory structure.

Change-Id: I90c40139f6c6af3d326f6f9251e6821d5c4b1a82
2017-07-31 11:28:28 +01:00
4aec303960 Update reno for stable/pike
Change-Id: Ia038290d7cc73acdf6d978203fa710366fda6643
2017-07-28 21:05:03 +00:00
Kenneth Giusti
263dce9ea8 Add support for virtual hosts
Adds the 'pseudo_vhost' option which when enabled will incorporate the
virtual host into the address semantics.  This creates a 'subnet' like
address space for each virtual host.  Use this when the messaging bus
does not provide virtual hosting support.  It is enabled by default as
to date none of the supported AMQP 1.0 message buses natively support
virtual hosting.

It also updates SSL support: SSL can either use the connection
hostname or the vhost name when validating a server's
certificate. This is controlled by the 'ssl_verify_vhost' option.
This option is disabled by default as it requires both vhost and SNI
support from the server.  By default SSL will use the DNS name from
the TransportURL.

Change-Id: I49bb99d1b19e8e7e6fded76198da92ca5f7d65ab
Closes-Bug: #1700835
Partial-Bug: #1706987
2017-07-28 16:37:26 -04:00
Kenneth Giusti
2c9ac202eb Remove the test that counts kombu connect calls
This test removes a check of the number of times kombu's
Connection.connect() method is being called for each mocked retry.
The number of calls kombu makes internally is irrelevant to proving
the API is correct.  The rest of the tests do ensure that the target
method is retried as expected, which is relevant to the API.

This change is necessary due to the kombu v4.1.0 release actually
calling Connection.connect() twice for each call to the target method
when compaired to earlier releases.

Change-Id: I3326b8e92efe3bef00b1f389d81944af9cc080f8
Closes-Bug: #1707263
2017-07-28 14:08:32 -04:00
OpenStack Proposal Bot
a931af6fd5 Updated from global requirements
Change-Id: I7b81c8def55f702b95204d727b95d879c441167e
2017-07-18 01:54:53 +00:00
Jenkins
78b698af28 Merge "Add monkey_patch to demo code." 2017-07-13 06:10:43 +00:00
ChangBo Guo(gcb)
60f9989920 Update URLs in documents according to document migration
Change-Id: I139d4d38e49590d50e51495b6e3b84836975c6ed
2017-07-12 22:54:02 +08:00
zhiCHang1990
1389893dd0 Add monkey_patch to demo code.
The RPC server code can not work if we
don't add eventlet.monkey_patch() at the
begining.

Change-Id: I65a162a427fb5615c95a70e6d1bbec899a78f231
2017-07-11 09:45:08 +08:00
Jenkins
cbf56b0afd Merge "switch from oslosphinx to openstackdocstheme" 2017-07-10 03:54:23 +00:00
Dong Ma
bff426f0eb switch from oslosphinx to openstackdocstheme
Change-Id: Ic3d9b9cbef0040512e37c8e99df7bb028e344bc9
2017-07-06 15:50:11 +00:00
Dong Ma
ee38414f21 update the docs url in the readme
Change-Id: I9e24fe1c1dd17246fd090e852b5895132952eb02
2017-07-06 13:54:27 +08:00
Jenkins
b36cfac525 Merge "rearrange content to fit the new standard layout" 2017-07-06 03:34:12 +00:00
Dong Ma
280cb368f7 rearrange content to fit the new standard layout
Change-Id: I4dd1c9c289d31077b71f3d96877b776d9d5e16f7
Depends-On: Ia750cb049c0f53a234ea70ce1f2bbbb7a2aa9454
2017-07-06 03:19:38 +08:00
Jenkins
e432fac63b Merge "Enable some off-by-default checks" 2017-07-05 12:52:59 +00:00
OpenStack Proposal Bot
58eb8ab4aa Updated from global requirements
Change-Id: I3c492ddd176882989a8a083fb560ab5c5df2452f
2017-06-27 12:20:15 +00:00
blue55
f87c349bc3 Enable some off-by-default checks
Some of the available checks are disabled by default, like:
[H106] Don’t put vim configuration in source files
[H203] Use assertIs(Not)None to check for None

Change-Id: I54b4b950dfcd2ce5a64f38b5d5b5cbe95846a8fa
2017-06-22 11:02:49 +08:00
OpenStack Proposal Bot
2fb4a216cc Updated from global requirements
Change-Id: Ib872e230f563ca2e1e3e67f9dabe13250735c9e7
2017-06-15 16:32:57 +00:00