2024.1 系列发布说明¶
3.2.0¶
错误修复¶
修复了当同时覆盖 uid 和 gid 为非 root 用户时,setgid 调用失败的问题
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,一些库将会被修补,例如threading或os。当根守护进程从客户端进程 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 来管理发布说明。