summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Correctly handle missing RabbitMQ queuesvictoria-em12.5.2stable/victoriaHervé Beraud2021-02-184-21/+58
| | | | | | | | | | | | | | | | | | | | | | | | Currently, setting the '[oslo_messaging] direct_mandatory_flag' config option to 'True' (the default) will result in a 'MessageUndeliverable' exception being raised when sending a reply if a RabbitMQ queue is missing [1]. It was the responsibility of the application to handle this exception, however, many applications are not doing so. This has resulted in a number of bug reports. Start handling this error condition, using a retry loop to attempt to resend the message and work around any temporary glitches. Since attempting to send a reply will will no longer raise an exception, there is little benefit in retaining the '[oslo_messaging] direct_mandatory_flag' config option: users setting this to False will simply not benefit from the retry logic and improved logging added here. This option is already deprecated though and will be fully removed in a future release. [1] https://www.rabbitmq.com/channels.html Change-Id: Id5cddbefbe24ef100f1cc522f44430df77d217cb Closes-Bug: #1905965 (cherry picked from commit 4937949dffecdf8863a7876e5a6b0b18e811c3ac)
* Deprecate the mandatory flagHervé Beraud2021-02-182-3/+12
| | | | | | | It will not be possible to deactivate this functionality anymore. Change-Id: I1cbafff03349f7da9224de46285707fbf2a81a68 (cherry picked from commit 2b89d97888c9b6cd8b4f23e5ae7ce3103d5f9e5b)
* Fix type of direct_mandatory_flag optBen Nemec2021-02-171-6/+6
| | | | | | | | | | | | | An IntOpt with a default of True is invalid. I'm a little surprised this doesn't fail a defaults check somewhere, but it needs to be fixed regardless. Looking at where it is used, it appears the boolean type is correct. This just changes the opt type to BoolOpt to match. Change-Id: I01a38754a31c891f2b3b9c7f8135690693df5d13 Closes-Bug: 1909036 (cherry picked from commit b8f8b17030e93f6fe64e986ebae1de4011f007d5)
* Dropping lower constraints testingHervé Beraud2021-02-123-90/+0
| | | | | | | | | | | | | | | | | | | | | We facing errors related to the new pip resolver, this topic was discussed on the ML and QA team proposed to to test lower-constraints [1]. I propose to drop this test because the complexity and recurring pain needed to maintain that now exceeds the benefits provided by this mechanismes. Also removing lower constraints and related tox environment as they are no longer needed. [1] http://lists.openstack.org/pipermail/openstack-discuss/2020-December/019390.html NOTE(hberaud): This backport also includes change Iefa00bee6f67e9e82f0c703a7aff144c0dcbe1ec squashed to avoid to backport multiple patches Change-Id: Icf48ef72fbfff88dda2714b386dbbfe355dc1acb (cherry picked from commit 686a8b61826d9bed0a989e645a13c708c3e6343c)
* add min of 1 to rpc_conn_pool_size12.5.1Sean Mooney2020-10-153-1/+21
| | | | | | | | | | | | | | This change add a min value of 1 to [oslo_messaging_rabbit]/rpc_conn_pool_size such that there is always at least 1 connection avaiable. This change add a runtime check to ensure that [oslo_messaging_rabbit]/rpc_conn_pool_size is greater than or equal too [oslo_messaging_rabbit]/conn_pool_min_size Change-Id: I2ad4b9f1d012c9f0586a932ac27d96da1bcc4e4c Closes-Bug: #1899533 (cherry picked from commit 00d15eaeaba0ded0330cdcec7b19eee3adbfb1e1)
* Update TOX_CONSTRAINTS_FILE for stable/victoriaOpenStack Release Bot2020-09-111-1/+1
| | | | | | | | | | | | Update the URL to the upper-constraints file to point to the redirect rule on releases.openstack.org so that anyone working on this branch will switch to the correct upper-constraints list automatically when the requirements repository branches. Until the requirements repository has as stable/victoria branch, tests will continue to use the upper-constraints list on master. Change-Id: If33d1d063f651f208c9f2a9ce9545cb991a6249f
* Update .gitreview for stable/victoriaOpenStack Release Bot2020-09-111-0/+1
| | | | Change-Id: Ic8716ebb4ec7ca9706ca66d58aba2f69eb45ee41
* Merge "[goal] Migrate testing to ubuntu focal"12.5.0Zuul2020-09-114-13/+13
|\
| * [goal] Migrate testing to ubuntu focalGhanshyam Mann2020-09-104-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As per victoria cycle testing runtime and community goal[1] we need to migrate upstream CI/CD to Ubuntu Focal(20.04). Fixing: - bug#1886298 Bump the lower constraints for required deps which added python3.8 support in their later version. Story: #2007865 Task: #40207 Closes-Bug: #1886298 [1] https://governance.openstack.org/tc/goals/selected/victoria/migrate-ci-cd-jobs-to-ubuntu-focal.h> Change-Id: Id6b499239fa8b6480c5f67d460215ab458677c6d
* | Merge "Add a ping endpoint to RPC dispatcher"12.4.0Zuul2020-08-285-0/+81
|\ \ | |/ |/|
| * Add a ping endpoint to RPC dispatcherArnaud Morin2020-08-185-0/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The purpose of this patch is to add an endpoint directly in RPC dispatcher, so this endpoint will always be available, in a cross project manner, without the need for projects to manage it by themself. This endpoint stay disabled by default, so this change is harmless without a specific configuration option. To enable this ping endpoint, an operator will just have to add a new parameter in the [DEFAULT] section, alongside with rpc_response_timeout [DEFAULT] rpc_ping_enabled=true # default is false The purpose of this new endpoint is to help operators do a RPC call (a ping) toward a specific RPC callback (e.g. a nova-compute, or a neutron-agent). This is helping a lot for monitoring agents (for example, if agents are deployed in a kubernetes pod). The endpoint is named oslo_rpc_server_ping. Change-Id: I51cf67e060f240e6eb82260e70a057fe599f9063 Signed-off-by: Arnaud Morin <arnaud.morin@corp.ovh.com>
* | Merge "Cancel consumer if queue down"12.3.0Zuul2020-08-013-31/+65
|\ \
| * | Cancel consumer if queue downshenjiatong2020-07-313-31/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, we have switched to use default exchanges to avoid excessive amounts of exchange not found messages. But it does not actually solve the problem because reply_* queue is already gone and agent will not receive callbacks. after some debugging, I found under some circumstances seems rabbitmq consumer does not receive basic cancel signal when queue is already gone. This might due to rabbitmq try to restart consumer when queue is down (for example when split brain). In such cases, it might be better to fail early. by reading the code, seems like x-cancel-on-ha-failover is not dedicated to mirror queues only, https://github.com/rabbitmq/rabbitmq-server/blob/master/src/rabbit_channel.erl#L1894, https://github.com/rabbitmq/rabbitmq-server/blob/master/src/rabbit_channel.erl#L1926. By failing early, in my own test setup, I could solve a certain case of exchange not found problem. Change-Id: I2ae53340783e4044dab58035bc0992dc08145b53 Related-bug: #1789177
* | | Merge "Bump bandit version"Zuul2020-07-282-3/+8
|\ \ \
| * | | Bump bandit versionMoisés Guimarães de Medeiros2020-07-252-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch bumps bandit allowed version to >=1.6.0,<1.7.0 in order to avoid the errors detailed here https://github.com/PyCQA/bandit/pull/393 Change-Id: I9235560667f664643007b8ca0be1707eab4126ad Signed-off-by: Moisés Guimarães de Medeiros <moguimar@redhat.com>
* | | | Merge "Catch ConnectionForced Exception"Zuul2020-07-281-1/+3
|\ \ \ \ | |/ / / |/| | |
| * | | Catch ConnectionForced Exceptionshenjiatong2020-07-191-1/+3
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | Occasionally I saw large number of connectionforced exceptions. such exceptions cannot be healed automatically and requires a reboot. catch it and ensure connection established. Change-Id: I5c468d10230f05438df780e045f1e92662edf070 Closes-Bug: #1883038
* | | Move legacy grenade jobs to Zuul v312.2.2Kenneth Giusti2020-07-208-393/+6
| | | | | | | | | | | | | | | | | | | | | Also deletes obsolete playbook files for telemetry tests that have been removed. Change-Id: Ibbb811e988cc048e6c39a0c2336c716a1a0ddb30
* | | Merge "Drop a python 2 exception management"Zuul2020-07-171-8/+1
|\ \ \
| * | | Drop a python 2 exception managementHervé Beraud2020-06-181-8/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously (when python 2 was supported) we introduced some specific exception management to detect connections issues when a rabbitmq cluster node disappearing. The original issue was that a ConnectionRefusedError is thrown and not managed by oslo.messaging to detect heartbeat issue and call ensure_connection for switching the connection destination (cluster node). `ConnectionRefusedError` is only a python 3 exception [2]. Now that we only support python 3 we don't need to continue to wrap/emulate this kind of exceptions (ConnectionRefusedError) [2] and so we can drop the python 2 compatibility code to only support python 3 code. [1] https://github.com/openstack/oslo.messaging/commit/9d8b1430e5c081b081c0e3c0b5f12f744dc7809d [2] https://docs.python.org/3/library/exceptions.html#ConnectionRefusedError Change-Id: I4c459d8c947dac213a1866c0d37e8f3d547aa82e
* | | tests: Resolves issues with kombu > 4.6.812.2.1Stephen Finucane2020-07-021-6/+9
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | The 'kombu.connection.Connection.ensure_connection' method has changed from calling 'retry_over_time' on 'self.connect' to calling it on 'self._connection_factory' [1], meaning our mocks are outdated. Address this change. [1] https://github.com/celery/kombu/pull/1193/commits/398aa5b8cd1fe1fc Change-Id: Ibbcf21a57ab1e3f90c21901296e5c088b645127c Signed-off-by: Stephen Finucane <sfinucan@redhat.com> Closes-Bug: #1885923
* | Simplify tools/test-setup.shAndreas Jaeger2020-07-014-39/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | test-setup.sh is called after bindep is run in CI, and tox is not setup. Simplify the script so that it only does what's needed - install qdrouterd for Ubuntu from qpid/testing. Install the other packages using bindep, add test to amqp1 profile. Add amqp1 to bindep_profiles where needed for scenario tests, previously test-setup.sh added it everywhere. Some tests are skipped due to changes in recent versions of kombu. These will be unskipped when we come up with a proper fix. Change-Id: Ic3a9e2c873619670edfbf71022d593f3cb5f70f2 Related-Bug: #1885923
* | Merge "Align contributing doc with oslo's policy"Zuul2020-06-301-0/+5
|\ \ | |/ |/|
| * Align contributing doc with oslo's policyHervé Beraud2020-05-041-0/+5
| | | | | | | | | | | | | | | | Related to: - https://review.opendev.org/#/c/723044/ - https://governance.openstack.org/tc/goals/selected/ussuri/project-ptl-and-contrib-docs.html Change-Id: I006d5ca0f9ae492dcd53b1d8799ac3e375bf9127
* | Fix pygments stylemelissaml2020-06-041-1/+1
| | | | | | | | | | | | | | | | New theme of docs respects pygments_style. more info: http://lists.openstack.org/pipermail/openstack-discuss/2020-May/014971.html Change-Id: I287fd718f9283e5d7d6951b9e55d5a6b48e07e3c
* | Merge "Print warning message when connection running out"12.2.0Zuul2020-05-291-0/+4
|\ \
| * | Print warning message when connection running outshenjiatong2020-05-131-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I believe when connection pool running out of available resources, there will be all kinds of weird consequences following. So let's print warning logs when we are going to waiting indefinitely for the lock Change-Id: I5ca930cada523bc77c644703a0f02b9160816231 Related-bug: #1871813
* | | Merge "Fix hacking min version to 3.0.1"Zuul2020-05-261-1/+1
|\ \ \
| * | | Fix hacking min version to 3.0.1zhangboye2020-05-221-1/+1
| | | | | | | | | | | | | | | | Change-Id: I3282e4962e92bdd5a401c5b1c61fced68e8d0c8a
* | | | Merge "Remove the unused coding style modules"Zuul2020-05-261-5/+0
|\ \ \ \ | |/ / / |/| | |
| * | | Remove the unused coding style modulesjacky062020-05-151-5/+0
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | Python modules related to coding style checks (listed in blacklist.txt in openstack/requirements repo) are dropped from lower-constraints.txt as they are not actually used in tests (other than pep8). more info: https://github.com/openstack/requirements/blob/master/blacklist.txt Change-Id: Iac09dcd4c97950717c72f2f6a669b2f11e5f6ee6
* | | Switch to newer openstackdocstheme and reno versionsAndreas Jaeger2020-05-184-13/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Switch to openstackdocstheme 2.2.0 and reno 3.1.0 versions. Using these versions will allow especially: * Linking from HTML to PDF document * Allow parallel building of documents * Fix some rendering Update Sphinx version as well. Remove docs requirements from lower-constraints, they are not needed during install or test but only for docs building. openstackdocstheme renames some variables, so follow the renames before the next release removes them. A couple of variables are also not needed anymore, remove them. Depends-On: https://review.opendev.org/728938 Change-Id: I70c7edf8b95cde890e6263195be1de6bb826e700
* | | Remove six usageAndreas Jaeger2020-05-1142-161/+102
|/ / | | | | | | | | | | | | | | | | Remove six, the python 2/3 compatibility library. It's not needed anymore since the repo is python3 only. Remove a now unneeded hacking test. Change-Id: I40522c4accb4aaf8115d11fee8b081e2d991cb4d
* | Remove monotonic usageSean McGinnis2020-05-044-20/+8
|/ | | | | | | | | | The monotonic package was needed for monotonic time operations when running under Python runtimes older than 3.3. Since we now only support versions higher than this, this third party package requirement can now be removed. Change-Id: I598530b3f417964ff697b48e681b135bd119ae81 Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
* Merge "Bump default tox env from py37 to py38"Zuul2020-04-291-1/+1
|\
| * Bump default tox env from py37 to py38Sean McGinnis2020-04-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Python 3.8 is now our highest level supported python runtime. This updates the default tox target environments to swap out py37 for py38 to make sure local development testing is covering this version. This does not impact zuul jobs in any way, nor prevent local tests against py37. It just changes the default if none is explicitly provided. Change-Id: I1992bad2ee6bffade2f937cc0d8dc6ae800f4159 Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
* | Add py38 package metadataSean McGinnis2020-04-241-0/+1
|/ | | | | | | | | Now that we are running the Victoria tests that include a voting py38, we can now add the Python 3.8 metadata to the package information to reflect that support. Change-Id: Ibe733cb482501544644133fed494f672ef566b7a Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
* Merge "Add release notes links to doc index"Zuul2020-04-231-0/+8
|\
| * Add release notes links to doc indexHervé Beraud2020-04-161-0/+8
| | | | | | | | Change-Id: I93ae9330509b89629d8c360437065267db637f49
* | Imported Translations from ZanataOpenStack Proposal Bot2020-04-161-3/+290
|/ | | | | | | For more information about this automatic import see: https://docs.openstack.org/i18n/latest/reviewing-translation-import.html Change-Id: I792154ba794512046b265718c2f01db624413f30
* Merge "Fix some typos"Zuul2020-04-152-5/+5
|\
| * Fix some typosushen2020-04-052-5/+5
| | | | | | | | Change-Id: Ic0a311d290682a923ec4f8cbe36f875d560cd41a
* | Add Python3 victoria unit testsOpenStack Release Bot2020-04-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | This is an automatically generated patch to ensure unit testing is in place for all the of the tested runtimes for victoria. See also the PTI in governance [1]. [1]: https://governance.openstack.org/tc/reference/project-testing-interface.html Change-Id: I76094aecc710a44f43b6d4052851b87a0f596932
* | Update master for stable/ussuriOpenStack Release Bot2020-04-142-0/+7
|/ | | | | | | | | | | | Add file to the reno documentation build to show release notes for stable/ussuri. Use pbr instruction to increment the minor version number automatically so that master versions are higher than the versions on stable/ussuri. Change-Id: I74595d2712ed45ce5b9336e17152f50caab838a0 Sem-Ver: feature
* Update hacking for Python312.1.0Andreas Jaeger2020-03-3011-40/+50
| | | | | | | | | | | | | | | | | | | The repo is Python 3 now, so update hacking to version 3.0 which supports Python 3. Update local hacking check for new flake8 version. Blacklist: W504 line break after binary operator Fix: E741 ambiguous variable name E117 over-indented E305 expected 2 blank lines after class or function definition, found 1 F841 local variable 'e' is assigned to but never used W605 invalid escape sequence '\.' Change-Id: I99d574ca6569f1f177d2c5ce1011f269f4343619
* Merge "Setup backend scenarios for functional tests"12.0.0Zuul2020-02-218-163/+178
|\
| * Setup backend scenarios for functional testsAndy Smith2020-02-058-163/+178
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patchset introduces scenarios for the functional tests to unify the setup and configuration of alternate messaging backends for RPC and Notifications. The scenarios are defined to reduce redundancy in the testing of backends and to demonstrate functional correctness across driver combinations. Current driver support: rabbit - RPC, Notify amqp - RPC kafka - Notify RPC Notify --------- ---------- scenario01 rabbit rabbit scenario02 rabbit kafka scenario03 amqp rabbit scenario04 amqp kafka It is anticipated that additional scenarios will be defined as new drivers are introduced and/or new messaging intermediarites are supported. Note: The removal of python2 jobs are also included patch Change-Id: I0f86416623a0b718516147f0660b4df2b74cf867
* | Remove the deprecated blocking executorHervé Beraud2020-02-188-58/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | The blocking executor has been deprecated in Pike and marked for removal in Rocky, but some user like Mistral asked us to wait before. We decided to remove this executor for Train or next cycle, now we are in the Ussuri and after some researchs on usage I think we can go ahead. This patch drop the deprecation warnings, related unit tests and set the server with the threading executor is the default executor. Change-Id: If07bab61ee2b148658b88be98b12f8539f274efe Closes-Bug: #1715141
* | remove outdated headerHervé Beraud2020-02-101-1/+0
| | | | | | | | Change-Id: I1ac92354fea2a70e5fe72a0e3b48d4c435b5286d
* | reword releasenote for py27 support droppingHervé Beraud2020-02-061-1/+1
|/ | | | Change-Id: Ic65842371eac32cec3a7b66cb6aa0f3ef52b8637