CHANGES

  • 更新 TOX_CONSTRAINTS_FILE 以支持 stable/2025.2

  • 更新 .gitreview 以支持 stable/2025.2

4.3.0

  • 修复信号查找,仅包含信号

  • 添加全面的后端系统文档

4.2.2

  • 撤销“修复 keyword-arg-before-vararg 警告”

  • 不要弃用整个 oslo_service.wsgi 模块

  • 修复 ThreadGroup 接口不一致的问题

4.2.1

  • 通过使用公共 shutdown() 方法修复关机期间的崩溃

  • 接受 wait_interval 并支持多次 launch_service() 调用

  • 修复 keyword-arg-before-vararg 警告

  • 修复在使用线程后端时 ServiceBase 的映射

  • 添加 pyproject.toml 以支持 pip 23.1

4.2.0

  • 添加使用 cotyledon 和标准线程的线程后端实现

  • 替换 os.popen

  • 删除冗余的 VIRTUAL_ENV 注入

  • 更新 master 以支持 stable/2025.1

4.1.1

  • 修复已删除的公共 API

4.1.0

  • 将 Eventlet 组件迁移到新的后端系统

  • 在 oslo.service 中引入可配置的后端系统

4.0.0

  • reno: 更新 master 以支持 unmaintained/2023.1

3.6.0

  • 添加关于 requirements 下限的说明

  • 运行 pyupgrade 以清理 Python 2 语法

  • 移除对 Python 3.8 的支持

  • 修复过时的 tox minversion

  • 声明对 Python 3.12 的支持

  • 删除 eventlet < 0.27.0 的解决方法

  • 更新 master 以支持 stable/2024.2

3.5.0

  • reno: 更新 master 以支持 unmaintained/zed

  • 移除旧的排除项

  • 更新 sslutils.wrap 以适应较新的 Python

  • 删除已弃用的 ssl 选项

  • 使信号处理顺序可预测

  • 更新 master 以支持 stable/2024.1

  • reno: 更新 master 以支持 unmaintained/xena

  • reno: 更新 master 以支持 unmaintained/wallaby

  • reno: 更新 master 以支持 unmaintained/victoria

3.4.0

  • 切换到 coverage 命令

  • reno: 更新 master 以支持 unmaintained/yoga

  • pre-commit: 集成 doc8 和 bandit

  • pre-commit: 升级版本

  • Bump hacking

  • 更新 setup.cfg 中的 python 分类器

3.3.0

  • 更新 master 以支持 stable/2023.2

3.2.0

  • 从 Zanata 导入翻译

  • 升级 bandit

  • 撤销“将支持的 python 运行时从版本 3.8 更改为 3.10”

  • 将支持的 python 运行时从版本 3.8 更改为 3.10

  • 更新 master 以支持 stable/2023.1

3.1.1

  • 修复与 tox4 相关的问题

3.1.0

  • 修复 assertTrue 的错误使用

  • 从 Zanata 导入翻译

  • 添加 Python3 antelope 单元测试

  • 更新 master 以支持 stable/zed

  • 修复子进程中的原生线程

3.0.0

  • 从 Zanata 导入翻译

  • 在测试运行时移除对 python3.6/3.7 的支持

  • 添加 Python3 zed 单元测试

  • 更新 master 以支持 stable/yoga

2.8.0

  • 使 wsgi 服务器的 debug 选项可配置

2.7.0

  • 修复非类对象的 fo() 后门命令

  • 修复 BackOffLoopingCall 错误,使其不具有误导性

  • 添加 Python3 yoga 单元测试

  • 更新 master 以支持 stable/xena

2.6.0

  • setup.cfg: 将破折号替换为下划线

  • 删除对 ‘sys.version_info’ 的引用

  • 将 flake8 移动到 pre-commit 本地目标

  • 添加 Python3 xena 单元测试

  • 更新 master 以支持 stable/wallaby

  • 删除 lower-constraints 残留物

2.5.0

  • 从代码中删除 unicode

  • 使用 TOX_CONSTRAINTS_FILE

  • 移除较低约束的测试

  • 删除 EVENTLET_HUB 的自定义实现

  • 使用 TOX_CONSTRAINTS_FILE

  • 将 py3 作为 tox 的默认运行时

  • 使用 TOX_CONSTRAINTS_FILE

  • 添加 Python3 wallaby 单元测试

  • 更新 master 以支持 stable/victoria

  • 添加 pre-commit

2.4.0

  • [目标] 将测试迁移到 ubuntu focal

  • 升级 bandit 版本

2.3.2

  • 不要在主模块中导入 “oslo.log”

2.3.1

2.3.0

  • 修复 wsgi SSL 测试,适用于 python 3 下的 wsgi 模块

  • 重新激活 python 3 下 wsgi 模块中与 socket 选项相关的测试

  • 修复 python 3 下 wsgi 模块中 wsgi/SSL/ipv6 测试

  • 修复 python 3 下 wsgi 模块中的一些 SSL 测试

  • 将 eventlet 的最低版本提高到 0.25.2

  • 修复 pygments 样式

  • 停止使用 __future__ 模块

2.2.0

  • 删除 six 的使用

  • 修复 hacking min 版本到 3.0.1

  • 切换到更新的 openstackdocstheme 和 reno 版本

  • 删除未使用的编码风格模块

  • 移除 setup.cfg 中的翻译部分

  • 使测试与 monkey patch 原始 current_thread _active 对齐

  • 删除 monotonic 的使用

  • 使 contributing 文档与 oslo 的策略保持一致

  • Monkey patch 原始 current_thread _active

  • 将默认 tox env 从 py37 升级到 py38

  • 添加 py38 包元数据

  • 使用 unittest.mock 代替第三方 mock

  • 将发布说明链接添加到文档索引

  • 添加 Python3 victoria 单元测试

  • 更新 master 以支持 stable/ussuri

  • 清理 py27 支持

2.1.1

  • 更新 hacking 以支持 Python3

2.1.0

  • 更新 eventlet

  • 更新 minversion 参数

  • 移除过时的标题

  • 重述 py27 支持删除的发布说明

2.0.0

  • [ussuri][目标] 移除 python 2.7 的支持和测试

  • tox: 琐碎的清理

1.41.1

  • 添加 ‘is_available’ 函数

  • tox: 继续进行文档

  • 切换到官方 Ussuri 任务

  • 将测试证书的有效期延长至 2049 年

  • 更新约束 URL

1.41.0

  • 更新 master 以支持 stable/train

1.40.2

  • Reno 用于 SIGHUP 修复

1.40.1

  • 润色 usage.rst

  • restart: 在发生突变时,不要在收到 SIGHUP 时停止进程

  • 将与文档相关的模块移动到 doc/requirements.txt

  • 添加 Python 3 Train 单元测试

1.40.0

  • 停止使用 pbr 构建文档

  • 使 PID 在后门路径中可用作格式字符串

1.39.0

  • 将 Bandit 限制在 1.6.0 以下,并更新 Sphinx 要求

  • 添加在启动服务之前检查 worker 类型

  • 将 git.openstack.org URL 替换为 opendev.org URL

  • OpenDev 迁移补丁

  • 移除 py35 测试

  • 更新 master 以支持 stable/stein

1.38.0

  • 更新 oslo.service 以需要 yappi 1.0 或更高版本

  • 添加 python 3.7 单元测试任务

  • 更新 hacking 版本

1.37.0

  • 将 oslo.utils 的较低约束提升到 3.40.2

1.36.0

  • 分析 Oslo Service 进程

  • 使用 eventletutils Event 类

  • 避免 eventlet_backdoor 在同一端口上列出

1.35.0

  • 使用模板进行较低约束

  • 弃用 ThreadGroup.cancel() API

  • 记录 threadgroup 模块

  • 实际测试子 SIGHUP 信号

  • 在 Python3 中恢复正确的信号处理

  • 为 TG 定时器添加 stop_on_exception

  • 为 ThreadGroup 添加更好的定时器 API

  • 更新 mailinglist 从 dev 到 discuss

  • 在循环调用测试套件中使用 SleepFixture

1.33.0

  • 用于模拟 loopingcall wait() 的 fixture

  • 将 monotonic 限制在 py2

1.32.1

  • 修复 loopingcall 的停止

  • 使用 eventlet Event 作为 loopingcall 事件

  • 清理 .gitignore 中指向个人工具的引用

  • 始终构建通用 wheel

1.32.0

  • 确保在优雅关机测试中连接处于活动状态

  • 停止断言 Eventlet 内部状态

  • 跳过 Windows 上的信号处理

  • 添加 lib-forward-testing-python3 测试任务

  • 添加 python 3.6 单元测试任务

  • 从 project-config 导入 zuul 任务设置

  • 更新 reno 以支持 stable/rocky

1.31.3

  • 删除不必要的 pyNN testenv

  • 将 oslo.service 转换为使用 stestr

  • 将发布说明链接添加到 README

  • 修复 oslo.service ProcessLauncher 无法调用 stop

  • 修复 tox python3 覆盖

  • 添加对 requests 的测试依赖

  • 删除 moxstubout

1.31.2

  • [ThreadGroup] 不要停止定时器时删除定时器

  • 使 lower-constraints 任务投票

  • tox.ini: 在 py35 环境中使用 python3.5

  • Python 3: 修复 eventlet 在信号后的唤醒

  • Python 3: 修复非确定性测试

  • 移除过时的 pip-missing-reqs tox 测试

  • 琐碎: 更新 pypi url 到新 url

  • 添加 lower-constraints 任务

  • 将 doc8 测试移动到 pep8 任务

  • 将默认 python 设置为 python3

1.31.1

  • 撤销“撤销“允许在睡眠时中止 loopingcall””

1.31.0

  • 删除 eventlet 限制

  • 修复证书并跳过失败的测试

1.30.0

  • 从 Zanata 导入翻译

  • 从 Zanata 导入翻译

  • 更新 README 中的链接

  • 从 Zanata 导入翻译

  • 从全局需求中更新

  • 更新 reno 以支持 stable/queens

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

1.29.0

  • 在 Python >=3.7 中保持 fork 后的共享内存

  • 从全局需求中更新

  • 撤销“允许在睡眠时中止 loopingcall”

1.28.1

1.28.0

  • 从 pip install 中删除 -U

  • 避免使用 tox_install.sh 以支持约束

  • 从全局需求中更新

  • 移除从 releasenotes 设置版本/发布

  • 从全局需求中更新

1.27.0

  • 从全局需求中更新

  • 将 periodic_task 更改为捕获所有异常,包括 BaseException

  • 修复 bandit 扫描并使其投票

  • 从 Zanata 导入翻译

1.26.0

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

  • 从 Zanata 导入翻译

  • 从全局需求中更新

  • 从全局需求中更新

  • 更新 reno 以支持 stable/pike

  • 从全局需求中更新

1.25.0

  • 根据文档迁移更新文档中的 URL

1.24.1

  • 重新排列现有文档以适应新的标准布局

  • 切换到 oslosphinx 到 openstackdocstheme

1.24.0

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

  • 允许在睡眠时中止 loopingcall

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

1.23.0

  • 为 BackOffLoopingCall 添加 min_interval

1.22.0

  • 从全局需求中更新

  • 从全局需求中更新

1.21.0

  • 移除日志翻译

  • 使用 Sphinx 1.5 warning-is-error

  • 修复 docstring 中的一些 reST 字段列表

  • 从全局需求中更新

1.20.0

  • 从全局需求中更新

  • [修复 gate] 更新测试要求

  • 从全局需求中更新

  • 从全局需求中更新

  • 修复快速线程中的竞争条件

  • pbr.version.VersionInfo 需要包名称(oslo.xyz 而不是 oslo_xyz)

  • 删除重复的 register_opts 调用

  • 更新 reno 以支持 stable/ocata

  • 删除对 Python 3.4 的引用

1.19.0

  • 添加 FixedIntervalWithTimeoutLoopingCall

  • 添加 Constraints 支持

  • 在 README 上显示团队和仓库徽章

1.18.0

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

  • 从 Zanata 导入翻译

  • 更新 .coveragerc 在删除相应目录后

  • 删除 python 字节码文件

1.17.0

  • 更改主页链接

  • 从全局需求中更新

  • 将 ‘MagicMock’ 替换为 ‘Mock’

  • 启用发布说明翻译

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

1.16.0

  • 从全局需求中更新

  • 在收到双 SIGHUP 时保持存活

1.15.0

  • 从全局需求中更新

1.14.0

  • 从全局需求中更新

  • 修复 assertEqual 参数的位置错误

1.13.0

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

  • 添加 reno 以进行发布说明管理

  • 从全局需求中更新

1.12.0

  • 从 Zanata 导入翻译

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

1.11.0

  • 琐碎的:忽略 openstack/common 在 flake8 exclude 列表中

1.10.0

  • [琐碎] 删除 doc/source/conf.py 的可执行权限

1.9.0

  • 从全局需求中更新

  • 提供 mutate_config_files

  • 使 _spawn_service 更加灵活

  • 移除对 babel 的直接依赖

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

  • 修复 python3 上 _sd_notify() 的参数类型

  • 为取消计时使用 timeutils.StopWatch

  • 添加取消线程和 ThreadGroups 的能力

  • 异常:message 需要 ‘_’ 函数

  • 修复 Heartbeats 在更改时间时停止

  • 从全局需求中更新

1.7.0

  • 从全局需求中更新

  • 更正一些帮助文本

  • 修复帮助文本中的拼写错误

  • wsgi: 减少池中 greenthreads 的默认数量

  • 从全局需求中更新

1.6.0

  • 从全局需求中更新

  • 允许后门从本地 unix 域套接字提供服务

  • 从全局需求中更新

1.5.0

  • 在 TestWSGIServerWithSSL 中使用 requests 而不是原始套接字客户端

1.4.0

  • 从全局需求中更新

  • 从全局需求中更新

  • 修复拼写错误并重写句子

  • 添加一个更有用/更详细的帧转储函数

  • 从全局需求中更新

  • 更新翻译设置

  • 修复处理信号中的竞争条件

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

  • 修复人工 service.wait()

1.3.0

  • 为 ServiceLauncher 添加优雅关机

  • 修复 CentOS 7 上的测试执行

  • 从全局需求中更新

  • 修复 docstrings 中的一些不一致之处

  • 重构 tests/eventlet_service.py

  • 从全局需求中更新

  • 删除 ServiceLauncher.wait() 方法的参数

  • 修复一些 assert 问题

  • 为 python3 运行 sslutils 和 wsgi 测试

  • 从全局需求中更新

1.2.0

  • 从全局需求中更新

  • 修复信号处理程序中的竞争条件

  • 启用 py3 mock.patch of RuntimeError

  • 在每次测试运行之前删除 python 字节码

  • 琐碎: 移除 ‘MANIFEST.in’

1.1.0

  • 避免在花费的时间接近零时发出警告

  • 更新 _i18n.py 文件并修复 domain 值

  • 为安全静态分析添加 Bandit 到 tox

  • ThreadGroup::stop_timers() 的代码重构

1.0.0

  • 从全局需求中更新

  • 从全局需求中更新

  • 添加创建 Unix 域 WSGI 服务器的功能

  • 使用 oslo.utils 中的 reflection.get_class_name()

  • 删除 Python 2.6 分类器

  • 删除 openstack-common.conf

  • 清理 tox.ini

  • 将“started child”消息更改为 DEBUG

  • 支持 SSL 协议和密码控制

0.13.0

  • graceful_shutdown_timeout 的默认值设置为 60 秒

  • 从全局需求中更新

  • 将 Logger 名称参数添加到 wsgi.Server 构造函数

  • 避免双重命名混淆

  • 禁止使用 0 或负数 worker 数量启动服务

0.12.0

  • 记录 graceful_shutdown_timeout 配置选项

  • 从测试列表中删除 py26 env

  • 添加 graceful_shutdown_timeout 配置选项

  • 从全局需求中更新

  • 为 LoopingCallBase._start() 添加文档字符串

  • 从全局需求中更新

0.11.0

  • 从全局需求中更新

  • 将 doc8 添加到 py27 tox env 并修复引发的问题

  • 记录在收到 SIGHUP 时终止子进程

  • 从全局需求中更新

  • 从全局需求中更新

0.10.0

  • RetryDecorator 不应为预期异常记录警告/错误

  • 添加在收到 SIGHUP 时终止子进程

  • 修复覆盖率配置和执行

  • 为 sslutils 添加 register_opts 函数

  • 将公共线程操作例程移动到共享例程

  • 更新日志字符串,以正确指示它正在等待什么

  • 避免删除未停止的定时器条目

  • 在线程完成回调时清理线程

  • 将“历史” -> 移动到发行说明部分

  • 为 sslutils 添加单元测试

  • 扩展 README 并清理 sphinx 文档的介绍

  • 将 shields.io 版本/下载链接/徽章添加到 README.rst

  • 添加配置选项的自动生成文档

  • 将回退循环调用从 IPA 移动到 oslo.service

  • 将 ignore-errors 更改为 ignore_errors

  • 修复 setup.cfg 中的主页值

  • WSGI 模块已更正

  • 从全局需求中更新

  • ThreadGroup 的停止未能正确识别当前线程

  • 为 unittest 进行 monkey_patch

0.9.0

  • 处理动态循环调用中的边界情况

  • 将循环调用中的 DEBUG 日志更改为 TRACE 级别日志

  • 从全局需求中更新

0.8.0

  • 添加了 wsgi 功能

0.7.0

  • 从全局需求中更新

  • 更新使用文档的“信号处理”部分

  • 使用 oslo_utils 反射获取 ‘f’ 可调用名称

  • 从全局需求中更新

  • 将 ‘safe_wrapper’ 函数前缀更改为 ‘_safe_wrapper’

  • 设置翻译

  • 在访问 signal.SIGHUP 之前检查是否支持 sighup

  • 使用 contextlib.closing 代替 try … finally: sock.close

  • 避免使用全局 lockutils 信号量集合

  • 从全局需求中更新

0.6.0

  • 在文件末尾添加了换行符

  • 添加了 SignalHandler 类

  • 从全局需求中更新

  • 激活 pep8 检查,以确保导入了 _

  • 说明在未传递异常时会发生什么

  • 允许 LoopingCall 在 callee 中出现异常时继续

0.5.0

  • 从全局需求中更新

  • 从全局需求中更新

  • 从全局需求中更新

  • 将 oslo_debug_helper 添加到 tox.ini

  • 为 oslo_service.service 模块添加使用文档

0.4.0

  • 从全局需求中更新

  • 使用 six.wraps 保存 docstring、名称等

  • 将与后门相关的测试从 test_service 移动

  • 将 mock 添加到 test_requirements

  • 删除 test_eventlet_backdoor 中 mox 的使用

0.3.0

  • 从 oslo.vmware 复制 RetryDecorator

  • 增加 systemd 的测试覆盖率

  • 确保我们在测试中设置事件并在定时器上等待

  • 使在本地使用 eventlet 后门更容易

  • 跟踪创建的线程并禁止激活多个启动

0.2.0

  • 关于使用 oslo-config-generator 的文档

  • 将 greenlet 添加到 requirements

  • 添加 tox 目标以查找缺少的依赖项

  • 强制执行 H405 检查

  • 强制执行 H301 检查

  • 在将其添加到内部列表后返回定时器

  • 从全局需求中更新

  • 让所有循环调用共享一个公共运行循环

  • 将服务抽象基类检查移动到 launch_service 方法

  • 修复注释中的拼写错误

  • 从全局需求中更新

  • 使用信号名称 -> sigval 和 sigval -> 信号名称映射

0.1.0

  • 修复了即时关闭的测试

  • 优雅地关闭 WSGI/RPC 服务器

  • 使用 monotonic.monotonic 和秒表代替 time.time

  • 从全局需求中更新

  • Eventlet 服务已修复

  • 添加服务模块的文档

  • 提高 loopingcall 模块的测试覆盖率

  • 添加 oslo.service 文档

  • 删除对全局 CONF 的使用

  • 使日志选项值可配置

  • 引入服务抽象基类

  • 添加用于选项发现的入口点

  • 从全局需求中更新

  • 将选项定义移动到私有文件

  • 修复单元测试

  • 修复 pep8

  • 从 oslo-incubator 由 graduate.sh 导出

  • 清理日志以符合指南

  • 将服务移植到 Python 3

  • 测试在信号上关闭 eventlet 服务器

  • 服务子进程正常 SIGTERM 退出

  • 撤销“撤销“撤销 ProcessLauncher 中等待子进程的优化””

  • 撤销“撤销 ProcessLauncher 中等待子进程的优化”

  • 撤销“ProcessLauncher 中等待子进程的优化”

  • ProcessLauncher:在 SIGHUP 上在父进程中重新加载配置文件

  • 添加对 test__signal_handlers_set 的检查

  • 将 ProcessLauncher 信号处理程序存储在类级别

  • 删除未使用的 validate_ssl_version

  • 更新测试以支持可选的 sslv3

  • 修复了 Python 2.7.9 不支持 ssl.PROTOCOL_SSLv3 的问题

  • ProcessLauncher 中等待子进程的优化

  • 从 oslo.config 切换到 oslo_config

  • 将 oslo.config 更改为 oslo_config

  • 删除 oslo.log 代码并清理 versionutils API

  • 将 mox 替换为 mox3

  • 允许覆盖周期性任务的名称

  • 将 add_periodic_task 与 metaclass __init__ 分开

  • 升级到 hacking 0.10

  • 删除不必要的 eventlet 导入

  • 在 Service.stop 方法上添加了 graceful 参数

  • 删除日志消息中的额外空格

  • 优先使用延迟的 %r 格式化而不是显式 repr 使用

  • ServiceRestartTest:使其更具弹性

  • threadgroup:不要记录 GreenletExit

  • 将 list_opts 添加到所有具有配置选项的模块

  • 删除移至 oslo.i18n 的代码

  • 删除已毕业的测试和 fixtures 库

  • rpc、notifier:删除已弃用的模块

  • 让 oslotest 管理 mox 的 six.move 设置

  • 删除 readlines() 的使用

  • 允许 test_service 在隔离状态下运行

  • 更改变量延迟的计算

  • 在 loopingcall 中使用时间戳

  • 删除不必要的 setUp 函数

  • 记录循环调用的函数名称

  • pep8:修复了多个违规行为

  • 使周期性任务以规则间隔运行

  • 使用 oslotest 中的 moxstubout 和 mockpatch

  • 实现 ProcessLauncher 中的 stop 方法

  • 修复 periodic_task 中的括号拼写错误

  • 修复 systemd 中的 docstring 缩进

  • 删除配置选项的冗余 default=None

  • 使未指定的周期性间隔任务以默认间隔运行

  • 使 stop_timers() 方法公开

  • 删除已弃用的 LoopingCall

  • 修复了几个拼写错误

  • 将 graceful 停止函数添加到 ThreadGroup.stop

  • 使用 oslotest 代替 common test 模块

  • 删除重复的“捕获”消息

  • 将通知点移动到更好的位置

  • 删除 cfg 帮助字符串的冗余括号

  • 在 test_periodic 中添加了测试条件

  • 修复了拼写错误 - occured to occurred

  • 在 service 模块中添加了缺失的 _LI 以进行 LOG.info

  • 通知调用进程我们已准备好提供服务

  • 如果 greenlet 线程被杀死,则优雅地回收子进程

  • 改进 sslutils 模块的帮助字符串

  • 删除不必要的 noqa 使用

  • 删除 timeutils.set_time_override 的使用

  • 使用翻译域更新 oslo 日志消息

  • 重构 periodic_task 中不必要的算术运算

  • 重构 periodic_task 中的 if 逻辑

  • 在周期性任务中使用时间戳

  • 添加基本的 Python 3 测试

  • 清除 test_periodic 中的时间覆盖

  • 不要在类属性中共享 periodic_task 实例数据

  • 撤销“服务:将 eventlet 事件替换为线程”

  • 简化启动方法

  • 简单的拼写错误更正

  • 清理未使用的日志相关代码

  • 使用 assertIsNone 和 assertIsNotNone

  • 修复 python 3 兼容性导致的 filter() 使用问题

  • 使用 hacking import_exceptions 获取 gettextutils._

  • threadgroup:使用线程而不是 greenthread

  • 禁用前台的 SIGHUP 重启行为

  • 服务:将 eventlet 事件替换为线程

  • 允许配置 ProcessLauncher 生存能力检查

  • 使 wait 和 stop 方法适用于所有线程

  • 修复 db 和 periodic_task 模块中的拼写错误

  • 删除 vim 标头

  • os._exit 在 _start_child 中可能会导致意外异常

  • 调整导入顺序以符合 PEP8 导入规则

  • 为 Thread 添加一个链接方法

  • 使用 multiprocessing.Event 确保服务已启动

  • 为 metaclass 应用 six

  • 删除了对 locals() 的调用

  • 将 service.py 中的注释移动到正确的位置

  • 修复了 Windows 上服务中 SUGHUP 的问题

  • 替换使用 tests.utils part2

  • 将 hacking 升级到 0.7.0

  • 将 tests.utils 的使用替换为 openstack.common.test

  • 重构布尔返回值

  • 在 oslo-incubator 中添加服务重启功能

  • 修复帮助文本的风格问题

  • 启用 hacking H302 检查

  • 将 kombu SSL 版本字符串转换为整数

  • 允许启动器被多次停止

  • 忽略 rpc.cleanup() 中的任何异常

  • 为 Launcher 添加优雅的服务关闭支持

  • 改进当 backdoor_port 为非零时可用性

  • 启用 hacking H404 测试

  • 启用 hacking H402 测试

  • 启用 hacking H401 测试

  • 修复导入顺序问题

  • 将 DynamicLoopCall 定时器添加到 ThreadGroups

  • 将 backdoor_port 传递给正在启动的服务

  • 改进 python3 兼容性

  • 使用 print_function __future__ 导入

  • 改进 Python 3.x 兼容性

  • 导入 nova 的循环调用

  • 从 nova 复制最近的周期性任务更改

  • 修复 IBM 版权字符串

  • 删除测试模块中未使用的导入

  • 将 OpenStack, LLC 更新为 OpenStack Foundation

  • 为 eventlet 后端添加一个列出本机线程的功能

  • 使用 oslo-config-2013.1b3

  • 支持 wsgi.Service 中的 SSL

  • 替换对 testtools BaseTestCase 的直接使用

  • 使用 testtools 作为测试基类

  • ThreadGroup 删除未使用的名称参数

  • 实现 importutils.try_import

  • 修复 tests.unit.test_service 中的测试用例

  • 不要依赖 os.wait() 阻塞

  • 为 WSGI 请求处理使用 Service 线程组

  • 使项目 pyflakes 清洁

  • 替换 try: import with extras.try_import

  • 不应将 raise_on_error 参数传递给任务函数

  • 考虑任务持续时间在 LoopingCall 延迟中

  • 更新 sphinx 文档

  • 启用 eventlet_backdoor 以返回端口

  • 为 Launcher 使用 ThreadGroup

  • 更改 RPC 清理顺序

  • threadgroup:greethread.cancel() 应该为 kill()

  • 在不捕获返回值时使用 spawn_n

  • 使 ThreadGroup 派生自 object 以便进行模拟

  • 不要记录 GreenletExit 和 thread_done 的异常

  • 像 ServiceLauncher 一样记录 ProcessLauncher.wait 中的 CONF

  • 清理导入顺序

  • 在 service.py 中添加了缺失的 `cfg` 导入

  • 记录启动时的配置

  • 集成 eventlet 后端

  • 添加 rpc 服务并删除管理器

  • 使用 pep8 v1.3.3

  • 添加 threadgroup 以管理定时器和 greenthreads

  • 添加基本的周期性任务基础设施

  • 添加多进程服务启动器

  • 为服务启动器添加信号处理

  • 基本服务启动基础设施

  • 将 manager.py 和 service.py 移动到 common

  • 将 eventlet_backdoor 从 nova 复制到 common

  • 从 nova 复制 LoopingCall 用于 service.py

  • 初始提交

  • 初始骨架项目