CinderTrain峰会和PTG总结
目录
- 1 简介
- 2 Train PTG 总结
- 2.1 5月2日(星期四)
- 2.1.1 Stein 回顾
- 2.1.2 Ceph iSCSI 支持
- 2.1.3 Cinder/Glance 使用 Ceph 从卷创建镜像
- 2.1.4 Glance 镜像属性和 Cinder 加密卷密钥管理
- 2.1.5 卷克隆时的加密密钥管理
- 2.1.6 继续讨论旧 CG API 的移除
- 2.1.7 备份测试通知泄漏
- 2.1.8 可选依赖项安装机制
- 2.1.9 Castellan 驱动程序中 cinder.conf/oslo.config 中的密码
- 2.1.10 秋季中期规划
- 2.1.11 从 SQL-Alchemy 迁移到 Alembic
- 2.1.12 在 HA 环境中同步调度器统计信息
- 2.1.13 预发布检查清单
- 2.1.14 Privsep 和 rootwrap
- 2.1.15 abc 移除
- 2.1.16 从数据库中删除卷
- 2.1.17 静默快照
- 2.1.18 讨论合并 RSD 驱动程序
- 2.1.19 第三方 CI
- 2.1.20 通用备份驱动程序讨论
- 2.1.21 驱动程序文件夹清理/重构
- 2.1.22 优化的备份驱动程序
- 2.2 5月3日(星期五)
- 2.2.1 Cinderclient 设计讨论
- 2.2.2 列出 (volume|group} 类型的默认行为=
- 2.2.3 避免更新未类型的卷
- 2.2.4 利用 Cinder 中的硬件加速
- 2.2.5 与 Nova 的跨项目时间
- 2.2.6 multiattach 的状态
- 2.2.7 Cinder 可变选项
- 2.2.8 Cinder 对 Glance 多存储功能的支持
- 2.2.9 支持快速复制卷到镜像
- 2.2.10 Cinder 处理与镜像关联的元数据
- 2.2.11 功能报告更新
- 2.2.12 python-cinderclient 主要版本发布
- 2.2.13 cinderclient 与 OpenStack 的集成
- 2.2.14 继续 Storyboard 讨论?
- 2.2.15 py37 失败
- 2.2.16 Placement 讨论
- 2.1 5月2日(星期四)
- 3 OpenInfra 峰会论坛会议
简介
此页面包含在 2019 年 4 月 28 日至 5 月 4 日在美国科罗拉多州丹佛举行的 Train 峰会和 PTG 期间讨论的主题的摘要。
完整的 etherpad 和所有相关说明可以在 此处 找到。
Train PTG 总结
5月2日(星期四)
Stein 回顾
- 摘要:发布过程相对顺利,尽管我们在发布方面遇到了一些问题。我们遵守了截止日期,这很好,并添加了优先级仪表板,这也很有益。
- 行动 (jungleboyj):清理 Cinder Wiki 页面。
- 行动 (团队):查看仪表板,看看是否需要更新任何内容。
- 行动 (smcginnis):为 cinderclient 回溯添加发布说明,以说明升级将带来的变化。
Ceph iSCSI 支持
- 摘要:多个消费者对获得此支持表现出浓厚的兴趣。我们应该继续努力争取实现这一目标。
- 行动 (jungleboyj):更新 Lenovo 启动的规范并将其上传以供审核。
- 行动 (eharney):与 Red Hat 内部团队核实,确保没有其他人已经在从事这项工作。
- 行动 (hemna):联系 Ceph 社区,看看他们对客户端更改以支持 iSCSI 用例的接受程度如何。
Cinder/Glance 使用 Ceph 从卷创建镜像
- 摘要:确定该问题实际上需要在 Glance 端处理,因此 Cinder 不需要采取任何行动。
Glance 镜像属性和 Cinder 加密卷密钥管理
- 摘要:密钥未像应该的那样从 HSM 中删除。Glance 应该在完成使用密钥后删除密钥。如果明确说明密钥可能会被删除,则可以接受。
- 行动 (rosmaita):起草一份提出此功能的规范。
- 行动 (eharney):将编写 Cinder 规范来处理从旧方法到新方法密钥管理的过渡。
卷克隆时的加密密钥管理
- 摘要:现在,当我们克隆卷时,我们只是复制加密密钥。似乎这应该是一个新密钥。
- 行动 (eharney):了解这如何与快照一起工作——快照保留旧密钥,卷获得新密钥
- 行动 (eharney):根据调查结果编写规范。
继续讨论旧 CG API 的移除
- 摘要:看起来仍然使用旧函数的所有驱动程序实际上都路由到适当的通用代码。因此,删除旧 API 应该是安全的。
- 行动 (smcginnis):清理卷管理器中的旧代码。
- 行动 (smcginnis):清理 CG(一致性组和 CGSnapshot)的数据库表
- 行动 (smcginnis):鼓励仍然使用旧代码的驱动程序删除代码。
备份测试通知泄漏
- 摘要:备份.createprogress 通知泄漏已经导致一段时间的门控失败。可以通过忽略通知来解决问题,但我们真的应该修复它。
- 行动 (eharney):继续与 Rajat 合作以找到问题的根源。
可选依赖项安装机制
- 摘要:需要外部可用软件包的驱动程序在容器中无法正常工作。鉴于通常向容器使用的趋势,这不太好。
- 行动 (团队):关注新的驱动程序是否有此类依赖项。如果有,请确保他们尝试导入软件包并进行良好的 try/except。还要确保许可是适当的。
- 行动 (hemna):致力于验证依赖软件包并确定解决容器问题的途径。
Castellan 驱动程序中 cinder.conf/oslo.config 中的密码
- 摘要:消费者不希望将明文密码放在配置文件中。有一种更好的方法,我们应该转向支持它。
- 行动 (eharney):调查我们如何为 Cinder 实现这一点。
秋季中期规划
- 摘要:没有人反对再次在 Lenovo 进行中期会议。因此,我们将计划在北卡罗来纳州莫里斯维尔的 Lenovo 校园于 2019 年 8 月 21 日至 23 日进行规划
- 行动 (eharney):让更多的东海岸 Cinder 人参与进来。
- 行动 (jungleboyj):与 Lenovo 确认并确保 Tom Barron 参与其中。
从 SQL-Alchemy 迁移到 Alembic
- 摘要:我们最终需要这样做,因为 SQL-Alchemy 即将消失。Glance 已经完成了这项工作,我们可以向他们学习。
- 行动 (smcginnis):将研究再次压缩我们的数据库升级。目前回到了 Ocata 级别。
- 行动 (smcginnis):尝试从 zzzeek 处获得有关如何进行操作的指导。
在 HA 环境中同步调度器统计信息
- 摘要:随着越来越多的人运行主动/主动 HA 环境,我们需要更多地考虑这一点,以确保调度器实例保持同步。
- 行动 (e0ne):更新他编写的旧规范以解决评论:https://review.opendev.org/#/c/556529/2
- 行动 (geguileo):帮助 Ivan 重新修改规范时。
预发布检查清单
- 摘要:在过去的几个发布版本中,我们犯了一些错误,例如在发布之前创建库等。我们需要做得更好。希望创建检查清单会有所帮助。https://docs.openstack.org/cinder/latest/contributor/releasecycle.html
- 行动 (jungleboyj):进行后续补丁以添加有关检查清单的更多详细信息。
- 行动 (eharney):对内容有其他评论以进行合并。
Privsep 和 rootwrap
- 摘要:我们尚未真正改进 privsep,因为我们仍然使用 rootwrap 样式的命令,而不是将其分解为使用 python 函数以提高安全性。我们应该改进这一点。
- 行动 (eharney):查看他的 LIO privsep 补丁,看看是否可以将其上传。
- 行动 (eharney):尝试获得更细粒度的权限
abc 移除
- 摘要:ABC 从未像我们预期的那样工作。此时,最好将其删除。我们应该计划在 U 版本中进行此操作,因为我们正在迁移到 Py3。
从数据库中删除卷
- 摘要:支持组织希望有一种删除卷的方法,该方法不通过驱动程序代码,但人们担心直接访问数据库。我们需要找到一个中间立场。
- 行动 (eharney):将查看提出的补丁并建议在 unmanage 中添加一个 --ignore-state 选项。
静默快照
- 摘要:人们仍然对我们无法做到这一点感到惊讶。我们应该与 Nova 合作看看是否可以实现。
讨论合并 RSD 驱动程序
- 摘要:第三方 CI 看起来不错,团队对评论的回应也很积极。即将准备好合并。
- 行动 (团队):审查驱动程序并尝试将其到位。
- 行动 (e0ne):鉴于他对 NVMe 驱动程序的 PoC 经验,确保对其进行审查。
第三方 CI
- 摘要:我们需要确保所有第三方 CI 在里程碑 2 之前都运行 py3,并且他们已经解决了有关仓库名称更改的所有问题。
- 行动 (jungleboyj):确保所有 CI 在 Train 的里程碑 2 中运行 py3 测试。
- 行动 (jungleboyj):为未能满足要求的那些提出不受支持的补丁。
- 行动 (jungleboyj):还需要确保所有第三方 CI 都在运行 Cinder Tempest 插件。
通用备份驱动程序讨论
- 摘要:团队仍然希望实现这一点,Ivan 已经继续致力于此。我们需要审查现有的补丁以帮助实现这一目标。
- 行动 (团队):审查现有的补丁:https://review.opendev.org/#/q/status:open+project:openstack/cinder+branch:master+topic:bp/backup-host-selection-algorigthm 和 https://review.opendev.org/#/c/500094/
- 行动 (e0ne):继续推动团队审查补丁。
驱动程序文件夹清理/重构
- 摘要:卷驱动程序文件夹有点不一致,清理起来很好。代码中也有一些混乱需要处理。
- 行动 (smcginnis):将致力于创建一个补丁,以使 volume/drivers 中的子文件夹保持一致。
- 行动 (hemna):将个人驱动程序的异常从 cinder/exceptions.py 移动到各个驱动程序。
- 行动 (jungleboyj):os-brick 中有先前删除的驱动程序的旧代码。审查 os-brick 并删除适当的内容。
优化的备份驱动程序
- 摘要:NetApp 表示有兴趣为其存储后端创建一个优化的备份驱动程序。团队对此想法没有异议。
- 行动 (erlon):提出一个审查以实施团队审查的此功能。
5月3日(星期五)
Cinderclient 设计讨论
- 摘要:在 cinderclient 中存在过滤问题。存在错误和意外行为,应予以修复。
- 行动 (whoami-rajat):更新补丁以允许指定多个“--filters”。https://review.opendev.org/#/c/587610/
- 行动 (whoami-rajat):修复 Eric 在 etherpad 中记录的错误。
列出 (volume|group} 类型的默认行为
- 摘要:客户端和 API 之间的默认行为不一致。我们应该理解并修复它。
- 行动 (whoami-rajat):修复服务器隐藏对具有访问权限的用户私有类型的错误。
- 行动 (团队):审查现有的补丁并决定是否要合并它:https://review.opendev.org/#/c/641698/
避免更新未类型的卷
- 摘要:尽管经过了额外的设计讨论,但我们最终回到最初的设计建议,即创建一个不太可能与管理员先前创建的任何内容冲突的新默认类型。
- 行动 (eharney):编写一个错误来评估我们的默认卷类型是否应为公共类型。
- 行动 (e0ne):编写一个错误来处理 cinder.conf 中可以设置 default_volume_type 的事实,但该类型不存在。可以创建没有类型,但应该失败。
利用 Cinder 中的硬件加速
- 摘要:英特尔有兴趣使用加速器加速图像压缩/解压缩。Cinder 团队对此没问题,但认为应该通过 oslo-util 或类似方式以通用方式实现它。
- 行动 (lixiaoy1):向 Oslo 提出新功能。
- 行动 (lixiaoy1):与 Cinder 合作以实现对新库函数的使用。同样需要与 Glance 完成。
- 行动 (lixiaoy1):最后与 Nova 合作以支持新的图像压缩方式和新格式。
与 Nova 的跨项目时间
- 摘要:讨论了许多不同的主题,但对于 Cinder 而言,没有产生任何重要的工作项目。详细信息请参见此处:https://etherpad.openstack.org/p/ptg-train-xproj-nova-cinder
multiattach 的状态
- 概要: Red Hat 已经在他们的环境中开始测试,并发现了一些竞争条件等问题。他们正在根据发现的问题进行处理。
Cinder 可变选项
- 概要: 这是一项社区目标,我们需要适当地实现它。目前尚不清楚我们的实现进展如何,我们希望解决这个问题。
- 行动 (erlon): 更新此规范 https://review.opendev.org/656011 以保持最新,并包含我们讨论的结果。
- 行动 (erlon): 确保我们拥有正确的基础设施来支持此功能。听起来我们可能已经有了。
- 行动 (erlon): 提出一种方法,将添加到我们的示例配置输出中,以指示哪些选项可以重新加载,哪些不可以。
Cinder 对 Glance 多存储功能的支持
- 概要: Glance 支持多个存储,在 Cinder 与 Glance 交互时,应该能够决定使用哪个存储。
- 行动 (rosmaita): 与 abhishek 合作更新现有的规范,最初通过 volume_type 实现此支持。如果该方法不受欢迎,可以考虑其他解决方案。
支持快速复制卷到镜像
- 概要: 诸如 Datera 和 Ceph 之类的存储后端可以使用后端支持更快地复制镜像,但目前没有代码路径来实现这一点。我们应该纠正这一点。
- 行动 (_alastor_): 将他在 Glance 本地完成的工作提交到上游。
- 行动 (_alastor_): 与 rosmaita 合作,确定实现此功能的其他细节。
Cinder 处理与镜像关联的元数据
- 概要: 我们需要提出一个更好的框架,用于 Cinder 处理 Glance 的镜像元数据。有一些字段,例如镜像签名的字段,我们不想保存它们。
- 行动 (rosmaita): 将撰写一份规范,提出不应保存在 Cinder 中的字段。
Capabilities 报告更新
- 概要: HP 实际上早在 Liberty 版本中就开始实施这项工作的大部分内容。我们只需要弄清楚这项工作留在了哪里,并继续推进。
- 行动 (_alastor_): 帮助团队记录供应商驱动程序应如何利用此功能。
- 行动 (eharney): 了解 Liberty 版本中合并的 capabilities 支持。
- 行动 (eharney): 编写一个新的规范,引用旧的规范,然后对功能进行适当的更新。
- 行动 (team): 需要更新参考架构,以正确报告 capabilities。
- 行动 (team): 如果参考架构进展顺利,我们可能应该将其作为驱动程序的强制要求添加。
- 行动 (jungleboyj): 设置一个双周会议来讨论这个问题。
python-cinderclient 主要版本发布
- 概要: 在进行 Cinderclient 版本的主要版本更改之前,我们希望获得许多更改。我们同意希望更改处理 MV 的方式,默认情况下选择可用版本最高,然后降级到服务器支持的最高版本。
- 行动 (eharney): 更新 https://review.opendev.org/#/c/647871/ 以实现上述协议的支持。
- 行动 (rosmaita): 将等待进行 cinderclient 发布,直到所有需要主要版本更新的更改都到位为止。
cinderclient 与 OpenStack 的集成
- 概要: 我们当前的客户端开发方法不太好,因为内容进入 python-cinderclient,然后最终被 openstackclient 拾取,而没有经过 Cinder 核心的审查。希望研究将“openstack volume”命令作为通过插件提供的 Cinder 命令的别名。
- 行动 (abishop): 将联系 Dean Troyer,了解他们是否支持这种方法。
- 行动 (abishop): 调查我们在讨论中提出的问题和疑虑,以获得答案并将其带回团队。
继续 Storyboard 讨论?
- 概要: 团队目前不急于进行此更改。Manila 在 Train 期间不计划迁移。不知道其他人是否也是如此,因此我们目前不会进一步推进此问题。
py37 失败
- 概要: 团队无法就是否向我们的测试中添加 py37 作业达成一致,因为目前它总是失败的。Sean 认为我们应该添加它,因为我们知道 OpenStack 将会迁移,我们需要到位测试覆盖率。
- 行动 (jungleboyj): 联系 Helen Walsh,要求她的团队调查他们的驱动程序为何失败,并请他们解决。
Placement 讨论
- 概要: Placement 对进入服务的任何内容都无关紧要。如果我们有对他们有用的信息,他们会使用它。然而,目前没有人要求这样做,因此我们认为我们的努力可以更好地利用于其他地方。因此,目前不需要采取任何行动。
OpenInfra Summit Forum 会议
Cinder Capability 报告
我们举行了一个论坛会议,讨论如何改进 Cinder 报告驱动程序 capabilities 的方式。目标是让管理员更好地了解其存储后端可用的 capabilities。如果这些信息更容易访问,那么创建更完整地利用其存储后端的卷类型应该会更容易。
- Etherpad: https://etherpad.openstack.org/p/denver-forum-cinder-improving-drvr-cap-rep
- YouTube 录制: https://www.youtube.com/watch?v=avZgbk8hh2s
本次会议的结果是发现 HP 已经在 Liberty 版本中完成了这项工作的大部分内容,我们真正需要做的就是达成一致,完成这项工作。我们将进一步讨论添加到我们的 PTG 议程中,您可以在上面看到讨论结果。
Cinder 用户反馈会议
本次论坛会议是第二次尝试,让 Cinder 的用户有机会分享他们对 Cinder 的担忧并提出问题。
- Etherpad: https://etherpad.openstack.org/p/denver-forum-cinder-direct-user-feedback
- YouTube 录制: https://www.youtube.com/watch?v=UVN42jsUq-U
与我们过去尝试的几次一样,本次会议的参与人数不多。房间里的管理员都表示 Cinder 通常运行良好。有一些请求已经进入最近发布的某些功能。还有一些关于可以附加的卷数量的问题。这个问题似乎是 virtio 的限制。
Cinder 项目更新
https://www.slideshare.net/JayBryant2/cinder-project-update-denver-summit-2019
Cinder 入职教育
https://www.slideshare.net/JayBryant2/cinder-project-onboarding-openinfra-summit-denver-2019