Zed 系列发布说明

2.6.0

新特性

  • PrivContext 添加 timeout 参数,并添加 entrypoint_with_timeout 装饰器,以解决命令完成时间随机的问题。如果达到超时时间,将引发 PrivsepTimeout

    警告:当达到超时时间时,守护进程(根进程)任务不会停止。这意味着如果相关线程永远无法完成,我们将拥有更少的可用线程。

  • PrivContext 接受一个新的字符串参数,名为 logger_name,用于定义我们希望在此上下文的守护进程日志中使用记录器。

    默认情况下,所有上下文都使用 oslo_privsep.daemon,但在某些情况下,我们可能需要更细粒度的日志级别,例如 nova 在调试模式下运行,可以将其自身的 privsep 调用记录在 INFO 级别,而将所有库的 privsep 调用(例如 os-brick 的调用)记录在正常的 DEBUG 级别。

    请参阅 bug 1922052

2.3.0

其他说明

  • 可以使用 eventlet 从程序中调用 oslo.privsep 客户端。如果调用 eventlet.monkey_patch,一些库将会被修补,例如 threadingos。当根守护进程从客户端进程 fork 出来时,这些库仍然会被修补。现在,当守护进程从客户端进程 fork 出来时,这些库和方法将会被恢复到原始值。目标是防止在使用 eventlet 线程(用户线程)时出现一些超时;系统线程是抢占式的,代码不需要关心执行器令牌。

2.0.0

升级说明

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

1.33.3

错误修复

  • 当 privsep helper 进程死亡时,客户端 PrivContext 现在会重启客户端通道和 helper 进程,以便可以继续处理特权命令。有关详细信息,请参阅 bug 1715374。结合 oslo.service 中 bug 1794708 的修复,nova-compute 服务现在在接收到 SIGHUP 时表现正确。

    注意

    这仅适用于使用 ROOTWRAP 方法启动守护进程。对于 FORK 方法,我们已经降低了权限,不再有能力以特权模式重启守护进程。

1.31.0

新特性

  • Privsep 现在使用多线程来允许并发执行特权命令。并发线程的数量默认为可用的 CPU 核心数,但可以通过新的 thread_pool_size 配置选项进行调整。

1.13.0

其他说明

  • 切换到 reno 来管理发布说明。