1. 18 Feb, 2021 2 commits
    • Hervé Beraud's avatar
      Correctly handle missing RabbitMQ queues · 391ce7fc
      Hervé Beraud authored
      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 4937949d)
      391ce7fc
    • Hervé Beraud's avatar
      Deprecate the mandatory flag · 06ad070c
      Hervé Beraud authored
      It will not be possible to deactivate this functionality anymore.
      
      Change-Id: I1cbafff03349f7da9224de46285707fbf2a81a68
      (cherry picked from commit 2b89d978)
      06ad070c
  2. 17 Feb, 2021 1 commit
    • Ben Nemec's avatar
      Fix type of direct_mandatory_flag opt · a0329a3f
      Ben Nemec authored
      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 b8f8b170)
      a0329a3f
  3. 12 Feb, 2021 1 commit
    • Hervé Beraud's avatar
      Dropping lower constraints testing · 1682ef69
      Hervé Beraud authored
      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 686a8b61)
      1682ef69
  4. 15 Oct, 2020 1 commit
    • Sean Mooney's avatar
      add min of 1 to rpc_conn_pool_size · 8f5847dc
      Sean Mooney authored
      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 00d15eae)
      8f5847dc
  5. 11 Sep, 2020 3 commits
  6. 10 Sep, 2020 1 commit
  7. 28 Aug, 2020 1 commit
  8. 18 Aug, 2020 1 commit
    • Arnaud Morin's avatar
      Add a ping endpoint to RPC dispatcher · 82492442
      Arnaud Morin authored
      
      
      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: default avatarArnaud Morin <arnaud.morin@corp.ovh.com>
      82492442
  9. 01 Aug, 2020 1 commit
  10. 30 Jul, 2020 1 commit
    • shenjiatong's avatar
      Cancel consumer if queue down · 196fa877
      shenjiatong authored
      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
      196fa877
  11. 28 Jul, 2020 2 commits
  12. 25 Jul, 2020 1 commit
  13. 20 Jul, 2020 1 commit
  14. 18 Jul, 2020 1 commit
    • shenjiatong's avatar
      Catch ConnectionForced Exception · 26e8bb4c
      shenjiatong authored
      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
      26e8bb4c
  15. 17 Jul, 2020 1 commit
  16. 02 Jul, 2020 1 commit
  17. 01 Jul, 2020 1 commit
    • Andreas Jaeger's avatar
      Simplify tools/test-setup.sh · 7e406c31
      Andreas Jaeger authored
      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
      7e406c31
  18. 30 Jun, 2020 1 commit
  19. 18 Jun, 2020 1 commit
  20. 04 Jun, 2020 1 commit
  21. 29 May, 2020 1 commit
  22. 26 May, 2020 2 commits
  23. 22 May, 2020 1 commit
  24. 18 May, 2020 1 commit
    • Andreas Jaeger's avatar
      Switch to newer openstackdocstheme and reno versions · 9cc3f52a
      Andreas Jaeger authored
      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
      9cc3f52a
  25. 15 May, 2020 1 commit
  26. 13 May, 2020 1 commit
    • shenjiatong's avatar
      Print warning message when connection running out · 96300a32
      shenjiatong authored
      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
      96300a32
  27. 11 May, 2020 1 commit
    • Andreas Jaeger's avatar
      Remove six usage · e44c9883
      Andreas Jaeger authored
      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
      e44c9883
  28. 04 May, 2020 2 commits
  29. 29 Apr, 2020 1 commit
  30. 24 Apr, 2020 2 commits
    • Sean McGinnis's avatar
      Bump default tox env from py37 to py38 · a7b9c70f
      Sean McGinnis authored
      
      
      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: default avatarSean McGinnis <sean.mcginnis@gmail.com>
      a7b9c70f
    • Sean McGinnis's avatar
      Add py38 package metadata · 243c6a7e
      Sean McGinnis authored
      
      
      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: default avatarSean McGinnis <sean.mcginnis@gmail.com>
      243c6a7e
  31. 23 Apr, 2020 1 commit
  32. 16 Apr, 2020 2 commits