2838 Commits

Author SHA1 Message Date
Zuul
f68a516c27 Merge "Remove Python 3.8 support" 2024-10-23 15:48:46 +00:00
Zuul
39c43cd704 Merge "Add a note about quorum and stream queues" 2024-10-16 08:30:00 +00:00
Takashi Kajinami
fab94df630 Remove Python 3.8 support
Python 3.8 is no longer part of the tested runtimes for 2024.2[1]
because its EOL is coming soon.

[1] https://governance.openstack.org/tc/reference/runtimes/2024.2.html

Change-Id: If4e5bfdd746603463ab13e4decdb3a703ae34348
2024-10-16 10:21:07 +09:00
Vladimir Kozhukalov
930d97599c [rabbit] Ignore stream offset header when stream queue is not used
Consumer callback should look for x-stream-offset header only if
the stream mode is used. Otherwise the message headers attribute could
be None and the error appears when using get method.

Closes-Bug: #2084168
Change-Id: I7f9c742f8f557d9faae2cd749d34dcb15d8005c0
2024-10-14 15:43:22 +09:00
Zuul
b3d7270b3a Merge "Use more sensible "default" for [oslo_messaging_rabbit] processname" 2024-10-10 10:05:01 +00:00
Zuul
991686940f Merge "Use oslo.utils implementation to parse/escape server address" 2024-10-10 09:45:04 +00:00
Takashi Kajinami
34931863f5 Declare Python 3.12 support
Now Python 3.12 unit tests job is voting. So we can safely say this
is tested with Python 3.12 .

Change-Id: I4e4dd9e024334860eac4fb128fcc7d55af48d304
2024-10-09 22:42:38 +09:00
Takashi Kajinami
3ed01f4845 Use oslo.utils implementation to parse/escape server address
oslo.utils have provided a few useful utility methods to parse or
escape server addresses. Replace the own logic by these methods to
reduce amount of own logic.

Change-Id: I7807314e891e202e47254bf7f98aca4c99005079
2024-10-06 01:11:08 +09:00
Zuul
307922d9a0 Merge "[doc] Better document rabbit_transient_queues_ttl option" 2024-10-05 11:24:10 +00:00
Arnaud Morin
79cb700454 Add a note about quorum and stream queues
Change-Id: Idd1201e56ad9bbe2433ca13a0d8f96cfe5f3a557
Signed-off-by: Arnaud Morin <arnaud.morin@ovhcloud.com>
2024-10-01 01:01:18 +02:00
Zuul
5b707d8552 Merge "Fix queue_manager in a containerized environment" 2024-09-30 11:56:21 +00:00
Michal Arbet
6790f702fa Fix queue_manager in a containerized environment
This patch fixes the operation of queue_manager in a
containerized environment by adding an additional check
on the start_time in ticks since boot.
This way, we can detect a restart even when the PID remains
unchanged as it is ussual in containers, but the start_time is
different.

[1] https://www.man7.org/linux/man-pages//man5/proc_pid_stat.5.html

From man page above:

(22) starttime  %llu
    The time the process started after system boot.
    Before Linux 2.6, this value was expressed in
    jiffies.  Since Linux 2.6, the value is expressed
    in clock ticks (divide by sysconf(_SC_CLK_TCK)).

Closes-Bug: #2078935
Change-Id: I9e22433ec039ad6783593d9cb7fbe22c9090534e
2024-09-17 22:30:21 +09:00
Zuul
412ab4de92 Merge "doc: Fix rendering in the Notifier reference" 2024-09-14 01:12:41 +00:00
Zuul
bf136cdb27 Merge "Remove comment reference to removed function" 2024-09-13 18:28:18 +00:00
90d18bb75a Update master for stable/2024.2
Add file to the reno documentation build to show release notes for
stable/2024.2.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2024.2.

Sem-Ver: feature
Change-Id: Id930bb0fa6313f86eb49040dc3b520950f596eca
2024-09-05 16:01:24 +00:00
Dmitriy Rabotyagov
7dea32bc4c [doc] Better document rabbit_transient_queues_ttl option
With implementation of rabbit_stream_fanout option,
rabbit_transient_queues_ttl is now used to control the size of stream
as well.
While it made sense to re-use the option, it is behaving quite
differently from what is currently described as now it controls not the
queue TTL itself, but messages TTL inside the queue, which is good to
be explicit about.

Change-Id: I78c5066d5d62192f2206893c04823b83791ebdc3
2024-09-04 11:26:23 +02:00
Takashi Kajinami
402f661400 Use more sensible "default" for [oslo_messaging_rabbit] processname
Use more sensible sample default value instead of the program name to
generate the sample config file, so that users can more easily
understand the processname represents a name of the service processes.

Change-Id: Ia97b8d5b6aaa1d54d72945f3abcf4046e39c2bed
2024-09-03 21:47:36 +09:00
Takashi Natsume
131f91d030 doc: Fix rendering in the Notifier reference
Fix rendering in reference/notifier.html.

https://docs.openstack.org/oslo.messaging/latest/reference/notifier.html

Change-Id: I09c45df4ed913b2a52b4447ad1fa337424473e61
Signed-off-by: Takashi Natsume <takanattie@gmail.com>
2024-09-01 18:14:37 +09:00
Tobias Urdin
e1440d5606 Remove comment reference to removed function
This comment references the wrap_socket()
function in the ssl module that is removed
in Python 3.12

Change-Id: I915d5396b0ac62b73246e2e5271109e979f0aab8
2024-08-30 10:36:49 +02:00
Tobias Urdin
d601f7aae0 Reduce log level to DEBUG for new messages
The change [1] introduced new logging that
uses INFO loglevel instead of DEBUG with
messages that doesn't help and instead
when there is a lot of messages fills
up the log file.

[1] https://review.opendev.org/c/openstack/oslo.messaging/+/889425

Change-Id: Ide5eb73164632c4e7be8582ba7bc2acde8287c78
14.9.0
2024-08-21 10:21:06 +00:00
damani42
133ca65fa4 Deprecate the option heartbeat_in_pthread.
The option is strongly related to Eventlet. Eventlet will be removed
and the option have never worked as excepted.

Change-Id: Ide8b22e2c66eae6639266950a39c4042d9a656fd
2024-08-15 19:03:16 +09:00
LIU Yulong
104a63b9aa Add RPC incoming and reply log
Typically a simple log will not narrow down the performance, but give
us more information about the service status.

The commit 859e0d4eaa45d75eb822f4a6be46c547187c6358 directly revert
the log due to the msg_id is not accessable for non-rabbit drivers.
It's not the right way to make things better.

So add the log back with the attribute msg_id for base IncomingMessage
class.

Closes-Bug: #2072156

Related-Bug: #1847747
Related-Bug: #1855775

Change-Id: Ib35c8fbb24d5c51d3b54e8ca63e663428318eca5
2024-07-12 18:40:11 +09:00
viktor-krivak
0d3338fd1d Handle NotFound exception when declaring a queue
Catch and handle the NotFound exception when declaring a queue.
This exception occurs when attempting to declare a queue that already
exists and is non-durable, non-HA, and hosted on a node that has
recently gone down.

Closes-Bug: #2068630
Change-Id: I637d931242c64465701266149d5e301f9b5ec4de
14.8.1
2024-06-17 15:06:53 +02:00
Takashi Kajinami
82d6287065 rabbit: Make PreconditionFailed warning log more informative
... instead of just logging the exception message.

Change-Id: I9a1fae54106f845d864f747120b2064cabb836a8
2024-06-10 18:26:43 +09:00
d0952415a5 reno: Update master for unmaintained/zed
Update the zed release notes configuration to build from
unmaintained/zed.

Change-Id: Ibddcca46b2fb5c445d44f0de525b9597332d5842
14.8.0
2024-05-06 05:56:21 +00:00
Zuul
2361b58487 Merge "Remove old excludes" 2024-05-01 08:26:28 +00:00
Takashi Kajinami
5dbbcf3239 Remove old excludes
These are detected as errors since the clean up was done[1] in
the requirements repository.

[1] 314734e938f107cbd5ebcc7af4d9167c11347406

Change-Id: I323f2d387268950bb00dd25fc762f1f09d012c5e
2024-05-01 11:35:50 +09:00
Zuul
e978eb920f Merge "Make oslo.messaging, magnum, and zaqar reproducible." 2024-04-12 13:24:34 +00:00
Zuul
41fc2a2d35 Merge "Use StopWatch timer when waiting for message" 2024-04-09 13:47:33 +00:00
Thomas Goirand
dc55d64df9 Make oslo.messaging, magnum, and zaqar reproducible.
Whilst working on the Reproducible Builds effort [0], we noticed that
python-oslo.messaging could not be built reproducibly.

This is because the documentation captures the hostname of the build
system.

[0] https://reproducible-builds.org/

This patch uses sample_default from oslo.config to fix this.

Please accept this patch to fix oslo.messaging, magnum, and zaqar
(at least, probably others).

Change-Id: Ie8717e182f709cbddd645a356789e262b47646d3
2024-04-09 11:49:38 +02:00
Zuul
986cd4ab24 Merge "Fix incorrect desc of rabbit_stream_fanout option" 2024-03-27 20:08:09 +00:00
Zuul
63f95e92c3 Merge "kafka: Fix invalid hostaddr format for IPv6 address" 2024-03-27 12:02:40 +00:00
frankming
ede60d7a83 Fix incorrect desc of rabbit_stream_fanout option
Description of rabbit_stream_fanout option is incorrect. Actually it
reuses the description of quorum queues. So we need to fix it with a
correct stream queue description.

Closes-Bug: #2058616
Change-Id: I614280c656f7d5fe9043abee93218a9907c395ff
Signed-off-by: frankming <chen27508959@outlook.com>
2024-03-21 15:53:56 +08:00
Zuul
9b39870819 Merge "Restore read stream queues from last known offset" 2024-03-19 19:38:41 +00:00
Zuul
88db1068f7 Merge "reno: Update master for unmaintained/xena" 2024-03-12 14:24:06 +00:00
Zuul
3cc149716c Merge "reno: Update master for unmaintained/wallaby" 2024-03-12 14:10:57 +00:00
Zuul
a1d91f854b Merge "reno: Update master for unmaintained/victoria" 2024-03-12 13:11:23 +00:00
3642a1b368 Update master for stable/2024.1
Add file to the reno documentation build to show release notes for
stable/2024.1.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2024.1.

Sem-Ver: feature
Change-Id: I6052756356771e89333f17b644fc93dd9326d529
2024-03-08 14:22:43 +00:00
672b208626 reno: Update master for unmaintained/xena
Update the xena release notes configuration to build from
unmaintained/xena.

Change-Id: Id791caea9242f54b455874cc4bef69b4fd87e3dc
2024-03-07 14:25:57 +00:00
b9797f3385 reno: Update master for unmaintained/wallaby
Update the wallaby release notes configuration to build from
unmaintained/wallaby.

Change-Id: I77d6152203fda5c8acc4dff534562b39b5d7d23b
2024-03-07 14:21:38 +00:00
6ce63a0442 reno: Update master for unmaintained/victoria
Update the victoria release notes configuration to build from
unmaintained/victoria.

Change-Id: Id7136e880a93b0f9de1698bcacddc6b99afbc533
2024-03-07 14:16:27 +00:00
Takashi Kajinami
b0e28a1603 kafka: Fix invalid hostaddr format for IPv6 address
When IPv6 address is used for host, the hostaddr should be formatted
in [<address>]:<port> format instead of <address>:<port> format. This
ensures the correct format is used.

Closes-Bug: 1907702
Change-Id: I6f4a453a69e942d5b2d66ffeca6960b85c8bc721
2024-02-20 19:09:56 +09:00
Arnaud Morin
b62208a54c Use StopWatch timer when waiting for message
When waiting for a message in a queue, the queue.get(block=True) prevent
the heartbeats to be sent at correct interval.

So instead of blocking the thread, doing a loop using a StopWatch timer
until the timeout is reached.

Closes-Bug: #2035113

Signed-off-by: Arnaud Morin <arnaud.morin@ovhcloud.com>
Change-Id: Ie5cf5d2bd281508bcd2db1409f18ad96b0822639
2024-02-16 14:50:49 +01:00
Guillaume Espanel
5988c7bf14 Restore read stream queues from last known offset
When an agent reconnected to a rabbitmq server, it would start
consumming messages from the last offset available in the stream.

This could cause important messages to be lost.

With this patch, oslo_messaging will keep track of the last consummed
offset and restore reading from that point.

Related-bug: #2031497

Change-Id: I449008829b0c0a1a759c211b83f7a99d9c7f2c0d
2024-02-12 17:55:45 +01:00
Zuul
ebdc7db19e Merge "Display the reply queue's name in timeout logs" 14.7.0 2024-02-09 14:39:10 +00:00
Zuul
a0f3a7ddaf Merge "Display coverage report" 2024-02-07 16:59:44 +00:00
Takashi Kajinami
795185d43c Display coverage report
... for easy reference. Also make sure old data is purged.

Change-Id: Ic017107ae15fa33cdfd4866f812af9a583a32f14
2024-02-07 12:17:40 +09:00
94a3ebcb4d reno: Update master for unmaintained/yoga
Update the yoga release notes configuration to build from
unmaintained/yoga.

Change-Id: I90b84b3d4995c54e70db680fde83c83034f478f6
2024-02-06 14:28:20 +00:00
Hervé Beraud
97d457f0af
Display the reply queue's name in timeout logs
It would be helpful if "Timed out waiting for <service>" log messages at least
specified on which `reply_q` it was waited for.

Example without the reply_q:

```
12228 2020-09-14 14:56:37.187 7 WARNING nova.conductor.api
[req-1e081db6-808b-4af1-afc1-b87db7839394 - - - - -] Timed out waiting for
nova-conductor.  Is it running? Or did this service start before
nova-conductor?  Reattempting establishment of nova-conductor connection...:
oslo_messaging.exceptions.MessagingTimeout: Timed out waiting for a reply to
message ID 1640e7ef6f314451ba9a75d9ff6136ad
```

Example after adding the reply_q:

```
12228 2020-09-14 14:56:37.187 7 WARNING nova.conductor.api
[req-1e081db6-808b-4af1-afc1-b87db7839394 - - - - -] Timed out waiting for
nova-conductor.  Is it running? Or did this service start before
nova-conductor?  Reattempting establishment of nova-conductor connection...:
oslo_messaging.exceptions.MessagingTimeout: Timed out waiting for a reply
(reply_2882766a63b540dabaf7d019cf0c0cda)
to message ID 1640e7ef6f314451ba9a75d9ff6136ad
```

It could help us to more merely debug and observe if something went
wrong with a reply queue.

Change-Id: Ied2c881c71930dc631919113adc00112648f9d72
Closes-Bug: #1896925
2024-02-06 15:17:46 +01:00
Zuul
b5244bd05a Merge "Bump hacking (again)" 2024-01-27 11:46:42 +00:00