Xena 系列发布说明

12.9.4-4

升级说明

  • 如果 kombu_reconnect_delay 在 [oslo_messaging_rabbit] 部分中指定,请确保它小于 5.0,即 ACK_REQUEUE_EVERY_SECONDS_MAX 的值。

错误修复

  • 将 ACK_REQUEUE_EVERY_SECONDS_MAX 增加到解决 rabbitmq HA 故障转移问题。

12.9.3

错误修复

  • 为了修复 bug 1917645,rabbit 后端已更改为在驱动程序尝试连接到消息总线进行通知发送时使用 [oslo_messaging_notifications]retry 参数。在此修复之前,rabbit 后端会永久重试连接,从而阻塞调用线程。

12.9.0

新特性

  • 引入支持将 rpc 客户端指标发送到 oslo.metrics。
    可以通过设置配置参数来启用此功能

    [oslo_messaging_metrics] metrics_enabled = True # 默认值为 false

12.7.1

新特性

  • 添加基于 mandatory 标志的重试策略。 缺失的交换机和队列现在被单独识别用于日志记录目的。

12.7.0

升级说明

  • 弃用 direct_mandatory_flag。将不再能够禁用此功能。

12.6.0

升级说明

  • 配置选项 [oslo_messaging_rabbit] heartbeat_in_pthread 现在默认值为 True。应用程序默认将在 Python 线程中运行 RabbitMQ 心跳。

弃用说明

  • heartbeat_in_pthread 已弃用,将在未来的版本中删除。如果已配置,应取消设置此选项。

12.4.0

新特性

  • RPC 调度器可以有一个名为 ping 的额外端点。可以通过特定的配置参数启用此端点:[DEFAULT] rpc_ping_enabled=true # 默认值为 false

    这个新端点的目的是帮助操作员对特定的 RPC 回调(例如 nova-compute 或 neutron-agent)进行 RPC 调用(ping)。这对于监控代理(例如,如果代理部署在 kubernetes pod 中)非常有帮助。

12.3.0

错误修复

  • 为 rabbitmq 驱动程序添加了一个新的选项 enable_cancel_on_failover,启用后,当队列似乎宕机时,将取消消费者。

12.0.0

升级说明

  • 阻塞执行器已弃用,将在 Rocky 中删除,并且 Ussuri 中已不再支持。 它的使用从未推荐给应用程序,并且没有测试覆盖。 应用程序应选择适合其用例的适当线程模型。

11.0.0

新特性

  • oslo_messaging 的 kafka 驱动程序支持 SSL
    添加了以下配置参数
    • ssl_client_cert_file (默认=’’)

    • ssl_client_key_file (默认=’’)

    • ssl_client_key_password (默认=’’)

升级说明

  • 已停止对 Python 2.7 的支持。 现在支持的 Python 的最低版本是 Python 3.6。

其他说明

  • 对于名称以 ‘_ignore_errors’ 结尾的特殊不存在的方法,将不再记录 NoSuchMethod 异常。 这些方法可能用作 OpenStack 服务的健康探测。

9.5.0

关键问题

  • 结合 amqp<=2.4.0,当配置 TLS 时(通常建议这样做),oslo.messaging 变得不可靠。用户会频繁看到如下错误

    MessagingTimeout: Timed out waiting for a reply to message ID ae039d1695984addbfaaef032ce4fda3
    

    此类问题通常会导致下游服务超时,除了完全禁用 TLS 之外,没有其他补救措施(请参阅 bug 1800957)。

    该根本问题已在 amqp 2.4.1 版本中修复,现在 oslo.messaging 所需的最低版本就是 2.4.1。

9.3.0

升级说明

  • 由于使用的客户端库发生了变化,使用 Kafka 驱动的项目应使用 extras oslo.messaging[kafka] 来引入驱动程序的依赖项。

错误修复

  • 发现了 kafka-python 消费者客户端的线程问题并进行了记录。驱动程序已更新为集成 confluent-kafka python 库。confluent-kafka 客户端利用高性能的 librdkafka C 客户端,并且可以安全地在多线程中使用。

9.0.0

序言

已移除基于 ZMQ 的 RPC 通信驱动程序

升级说明

  • 从多个驱动程序中移除已弃用的配置选项。

    • 已移除 [DEFAULT] 部分中的 rpc_backend 选项。

    • AMQP 驱动程序已移除 [oslo_messaging_amqp] 部分中的 allow_insecure_clients、username 和 password 配置选项。

    • Kafa 驱动程序已移除 [oslo_messaging_kafka] 部分中的 kafka_default_host 和 kafka_default_port 配置选项。

    • Rabbit 驱动程序已移除 [oslo_messaging_rabbit] 部分中的 rabbit_host、rabbit_port、rabbit_hosts、rabbit_userid、rabbit_password、rabbit_virtual_host rabbit_max_retries 和 rabbit_durable_queues 配置选项。

    操作员必须切换到在 [DEFAULT] 部分中设置 transport_url 指令。

弃用说明

  • 移除了对 ZeroMQ 消息传递库的驱动程序支持。oslo.messaging RPC 服务的使用者必须使用受支持的 rabbit (“rabbit://…”) 或 amqp1 (“amqp://…” )驱动程序。

8.0.0

序言

RPCClient 现在支持 RPC 调用监控,用于检测 RPC 调用期间服务器丢失的情况。

新特性

  • RPC 调用监控是 RPCClient 的一项新功能。调用监控导致 RPC 服务器在处理 RPC 调用时定期向 RPCClient 发送保活消息。这可用于在不必等待完整的调用超时过期的情况下,提前检测到服务器故障。

7.0.0

弃用说明

  • ZeroMQ 支持已被弃用。ZeroMQ 驱动 zmq:// 已经超过一年未维护,并且不再正常工作。建议使用维护的后端之一,例如 RabbitMQ 或 AMQP 1.0。

6.2.0

序言

使用任何可选驱动程序的项目可以使用 extras 来提取该驱动程序的依赖项。

升级说明

  • 使用 AMQP 1.0 驱动程序的项目现在可以依赖 oslo.messaging[amqp1]。使用 Kafka 驱动程序的项目现在可以依赖 oslo.messaging[kafka]

6.0.0

序言

基于 Pika 的 RabbitMQ 驱动程序已被删除。

升级说明

  • Pika 驱动程序的用户必须将所有 transport_url 配置选项的前缀从“pika://…”更改为“rabbit://…”才能使用默认的基于 kombu 的 RabbitMQ 驱动程序。

5.34.1

其他说明

  • 在 rabbitmq 上,过去消息的确认是在应用程序回调线程/greenlet 中完成的。该线程会阻塞,直到消息被确认。在 newton 中,我们重写了消息确认,以确保我们不会有两个线程同时写入套接字。现在所有待处理的确认都由主线程完成。不再有理由阻塞应用程序回调线程,直到消息被确认。其他驱动程序已经在消息确认之前释放了应用程序回调线程。现在 rabbitmq 也是如此。

5.33.0

升级说明

  • 将 RPC 调度器的 access_policy 默认值更改为 DefaultRPCAccessPolicy。

5.27.0

弃用说明

  • 阻塞执行器已弃用,将在 Rocky 中删除。其使用从未推荐给应用程序,并且没有测试覆盖范围。应用程序应选择适当的线程模型来映射其用法。

5.26.0

弃用说明

  • pika 驱动程序已弃用,将在 Rocky 中删除。该驱动程序被开发为默认 rabbit 驱动程序的替代品。但是,测试表明它在性能和稳定性方面没有比默认 rabbit 驱动程序有任何明显的改进。

5.24.2

新特性

  • 添加 get_rpc_transport 调用,以使 API 清晰地分离 RPC 和通知消息后端。

弃用说明

  • 弃用 get_transport,并使用 get_rpc_transport 或 get_notification_transport 以使 API 用法清晰地分离 RPC 和通知消息后端。

5.24.0

新特性

  • 为 oslo_messaging_notifications 驱动程序添加重试支持
    添加了配置参数“retry”。默认值为 -1,表示无限次重试
    • retry (默认=-1)

5.20.0

升级说明

  • RequestContextSerializer 自 4.6 起已被弃用,并且任何其他项目都没有使用它,因此我们可以安全地将其删除。

5.6.0

新特性

  • 池中的空闲连接将被过期并关闭。
    默认 ttl 为 1200s。添加了以下配置参数
    • conn_pool_ttl (默认 1200)

    • conn_pool_min_size (默认 2)

弃用说明

  • rabbitmq 驱动程序选项 DEFAULT/max_retries 已被弃用(在未来的某个时间点删除),因为它对通知和 RPC 没有逻辑意义。