Ussuri 系列发布说明

10.4.0-24

新特性

  • 添加了 Cyrus SASL 包,这些包对于 DIGEST-MD5 和 SCRAM-SHA-256 机制是必需的。这些可用于 libvirt SASL 身份验证。 LP#1964013

  • 现在可以使用 `--quiet` 参数启用静默模式,并将其与 `--logs-dir` 选项结合使用。控制台输出将保持静默,而构建输出将存储在单独的日志文件中。

升级说明

  • Debian 和 Ubuntu 镜像现在使用来自 cloudsmith 的 rabbitmq 和 erlang。 运营商可能需要镜像/代理此新源,因为它提供了正确的软件包集,与之前的组合不同。

关键问题

  • 由于 CentOS 镜像库已从 CentOS 镜像站点移除,因此已停止支持 CentOS Linux 8(非 Stream) - 请参阅 公告

安全问题

  • 为 Apache Storm 添加了针对 Apache Log4j 2 远程代码执行 (RCE) 漏洞 CVE-2021-44228 和 CVE-2021-45046 的缓解措施。

错误修复

  • 修复了当使用的 Python OpenvSwitch 绑定包版本低于正在运行的 OpenvSwitch 代码版本时的问题。 LP#1961874

  • 修复了在使用 docker-py >=6 时出现的问题。 LP#1988121

  • 修复了 swift-recon 工具在尝试访问默认 recon_lock_path 时出现的“权限被拒绝”问题

  • 修复了禁用在 `healthcheck_curl` 中使用 `curlrc` 配置文件的问题。 LP#1967272

  • 修复了在使用 Jinja2 3.1.0 时出现的问题。

  • 确保 `nvme-cli` 包存在于 `nova-compute` 镜像中,因为 `os-brick` 期望它。

  • 修复了 Debian 和 Ubuntu 镜像以使用来自 cloudsmith 的 rabbitmq 和 erlang,以便镜像仍然可以构建并使用正确的版本。

其他说明

  • CentOS 镜像(仅源代码,非二进制)现在可以使用 CentOS Stream 8 作为基础进行构建。

10.4.0

新特性

  • 改进了对离线场景的支持方式
    • 将 dumb-init 安装切换为发行版提供的软件包。

升级说明

  • Debian 现在使用上游 MariaDB 仓库(因此遵循 Ubuntu 镜像)。 这是为了避免类似的问题,并在需要时轻松地将版本固定到所选的 MariaDB 版本。 运营商可能需要在他们的仓库镜像和代理中反映这一点。 LP#1944410

错误修复

  • 为 monasca-thresh 容器添加了一个选项,用于检查拓扑是否当前已提交(KOLLA_BOOTSTRAP),并可以选择将其杀死(TOPOLOGY_REPLACE)。 拓扑名称和各种超时时间可以自定义。 LP#1808805

  • 修复了 glance_store 缺少的 boto3 库。 LP#1884259

  • 修复了 cinder-volume 缺少 `lsscsi` 和 `nvme` 命令在 Debian 和 Ubuntu 上出现的问题。 LP#1942038

10.3.0

升级说明

  • RabbitMQ 和 Erlang 包现在从 `packagecloud.io`(以及 Debian/Ubuntu 的 PPA)安装,因为 `bintray.com` 将于 2021 年 5 月 1 日关闭。

  • 在 Ussuri 周期中已弃用的 `sensu` 镜像已被删除。

错误修复

  • 修复了 Ubuntu 二进制镜像中 Swift 容器启动失败的问题。 LP#1905279

  • 修复了当比较的文件是非 Unicode 时,`kolla_set_configs --check` 命令出现的问题。 LP#1913952

  • 修复了 Horizon 中 monitoring_policy 的位置,以便正确执行访问策略。 请注意,默认情况下,管理员没有监控访问权限。 LP#1928408

  • 修复了在 ~/.local 中安装 kolla 的支持。 LP#1930544

  • 修复了由于未启用 Debian 更新仓库而导致的问题。 LP#1931544

  • 修复 Mistral 镜像以尊重 upper-constraints。

其他说明

  • Debian 镜像现在启用了 Debian 更新仓库。这与基础 Debian 镜像保持一致。

10.2.0

新特性

  • 为 Monasca 的 Grafana 分支添加了一个 Monasca 应用程序插件。 插件提供用于查看或配置的屏幕:警报定义、警报和通知

升级说明

  • Kolla 现在不再支持 CentOS 8.2 及更早版本。这是为了支持 CentOS 8.3,而无需额外的解决方法(有关更多详细信息,请参阅修复部分)。承诺支持最新的 CentOS 8 版本,现在是 8.3。

  • 基于源代码的构建现在将从稳定的 tarball 安装 OpenStack 项目代码,与以前的版本化(发布的点版本)不同。

错误修复

  • 修复 Nova 中 FC Cinder 后端的使用。 LP#1884484

  • Logstash 6 引入于 CentOS 8 的 Train 版本中,具有不删除旧压缩日志的 log4j2 配置,在轮换后。 https://github.com/elastic/logstash/issues/11883 日志轮换配置从 Logstash 7 移植而来 - 基于大小和时间的策略的组合。 删除发生在 30 天或 3000 MB 日志文件大小之后,以先到者为准。

  • 修复了在未在同一天创建完整备份时 MariaDB 增量备份失败的问题。 LP#1897948

  • 修复了由于仓库名称更改导致 CentOS 8.3 上的构建失败的问题。请注意,Kolla 现在不再支持 CentOS 8.2 及更早版本。 LP#1907213

  • 修复当源是一个目录时,kolla_set_configs --check 命令出现的问题。 LP#1890567

  • 修复了 Masakari 仪表板中策略未正确加载的问题。

  • nova-compute 使用 daxio 清理实例删除时的 vpmem 后端设备。如果 nova-compute 容器实例中缺少 daxio 二进制文件,则实例删除将失败。daxio 在 centos 中通过 daxio 提供,在 ubuntu 中通过 pmdk-tools 包提供。

  • 将 rally-openstack 添加为 rally 源代码镜像的插件

  • 修复可能阻止 Monasca Fluentd 输出插件的问题。 LP#1889065

10.1.0

新功能

  • Prometheus 插件现在默认安装到 Fluentd 容器中。

升级说明

  • Logstash 镜像已从 Logstash 2 升级到 Logstash 6。

错误修复

  • 修复了由于应用于 `ceilometer-upgrade` 命令的参数传递方式错误而导致 Ceilometer 部署和升级失败的问题。 LP#1884919

  • 从基于 RHEL 的发行版中删除 nsswitch.conf 中的 systemd 支持。 这避免了容器内部不必要的 systemd nss 查找,并避免了容器绑定挂载 /run 并使 dbus socket 在容器内部可用时,主机上可能出现的 selinux 拒绝。

  • 修复了在使用 Centos8 容器时加载 Storm 和 Monasca Thresh 的问题。

  • 修复了 Monasca Agent Statsd 在 Python 3 下失败的一个错误。

10.0.0

序言

Kolla `10.0.0` 版本是 Ussuri 周期中的第一个版本。 值得注意的变化包括

  • 所有镜像和脚本现在使用 Python 3,并且已放弃对 Python 2 的支持

  • CentOS 8 现在支持作为基础容器镜像,并且已放弃对 CentOS 7 的支持

  • Ceph 镜像已被删除

新功能

  • 使用 `labels` 块可以调整构建镜像使用的标签。

  • 添加了 Elasticsearch Curator 用于管理聚合的日志数据。

  • 将 `networking-mlnx` 包添加到 `neutron-base` 镜像中。 该软件包是 InfiniBand 部署所必需的,并由 `neutron-server`、`neutron-dhcp-agent` 和 `neutron-l3-agent` 容器使用。

  • 添加了一个 `neutron-mlnx-agent` 镜像,用于 Neutron Mellanox 代理。

  • 添加了 `--quiet` 开关以禁用图像构建日志的打印。

  • 添加了对构建 `zun-cni-daemon` 的支持。 这是用于实现 Zun 的 CNI 插件的新守护程序。

  • 将 `collectd-dpdk_telemetry` 和 `collectd-logparser` 包添加到基于 RHEL 的 `collectd` 镜像中。 `dpdk_telemetry` 插件通过 `dpdk_telemetry` 库收集 DPDK 以太网设备指标。 `logparser` 是用于过滤和解析日志消息的插件。

  • 允许运营商使用自定义参数与 `ceilometer-upgrade` 命令一起使用。 当使用动态 pollster 子系统时,这非常有用;该子系统提供了创建和编辑 pollster 配置的灵活性,这会影响 Gnocchi 资源类型配置。 但是,Ceilometer 使用默认的和硬编码的资源类型配置;如果自定义了其中一些默认资源类型,则在升级期间可能会遇到问题。 因此,解决它的唯一方法是使用 `--skip-gnocchi-resource-types` 标志。

  • 添加了对 CentOS 8 作为基础容器镜像的支持。 这是 Ussuri 版本支持的 CentOS 的唯一主要版本。 Train 版本支持 CentOS 7 和 8 镜像,并提供迁移路径。

  • 将 `collectd-pcie-errors` 包添加到基于 RHEL 的 `collectd` 镜像中。 这允许 collectd 从 Capability 结构中的设备状态以及可用时从高级错误报告扩展 Capability 中收集 PCI Express 错误数据。

  • 将 `collectd-pmu` 包添加到基于 RHEL 的 `collectd` 镜像中。 这允许通过 `collectd` 收集 Intel PMU(性能计数器)数据。

  • 添加了一个 `netcontrold` 镜像,用于 Open vSwitch。

  • 添加了一个 `--enable-unbuildable` 选项,以忽略内部不可构建镜像列表。 它在两种情况下很有用:为新的发行版/架构构建或生成模板(使用 `--templates-only` 选项)时,需要所有模板,无论是否可构建。

  • 将 `ndctl` 包添加到 `nova-compute` 镜像中,以将 NVDIMM 命名空间暴露给客户。 该软件包需要管理 PMEM 命名空间。

已知问题

  • 使用 CentOS 作为基础系统的 AArch64 镜像在 Ussuri 中不受支持。 这可能在 CentOS 8.2 发布时得到修复。

升级说明

  • Cyborg Agent 不再包含 OPAE SDK。 该版本已过时,并且当前受支持的平台没有现成的二进制文件。 此更改是使 Cyborg 可构建所必需的。

  • CentOS 7 不再支持作为基础容器镜像。 CentOS 用户应迁移到 CentOS 8。 Train 版本支持 CentOS 7 和 8 镜像,并提供迁移路径。

  • 以下镜像由 CentOS 7 支持,但在 CentOS 8 中缺少合适的软件包,因此不再支持 CentOS:`hacluster-pcs` 和 `nova-spicehtml5proxy`。

  • Debian 镜像使用 Ceph 14 ‘nautilus’,与其他发行版一样。

  • 已删除对 SCSI 目标守护程序(`tgtd`)的支持,适用于 CentOS/RHEL 8。 在 CentOS/RHEL 7 及更高版本中,可以使用 LIO 内核子系统代替 `tgtd` 守护程序。 `tgtd` 镜像不再适用于 CentOS/RHEL 8。

  • 已放弃 Python 2.7 支持。 Kolla 对 Python 2.7 的支持的最后一个版本是 OpenStack Train。 Kolla 现在支持的 Python 的最低版本是 Python 3.6。

  • 处理外部仓库的方式已更改。 所有此类仓库默认情况下均已禁用。 使用 `enable_extra_repos` 宏按名称启用它们。 仓库名称在 `kolla/templates/repos.yaml` 文件中定义。

  • 更改了 `--skip-existing` 和 `--skip-parents` 标志的行为。 以前,如果未向 `kolla-build` 提供正则表达式或配置文件参数,则不会应用这些标志,但现在会应用。

  • `trickle` 包不再适用于 CentOS 8,并且已从 CentOS 8 Freezer 镜像中删除。

  • 生成模板的方式(使用 `--templates-only` 选项)已更改。 默认情况下,仅生成可构建的模板。 如果需要所有模板,则必须使用 `--enable-unbuildable` 选项。

  • 更改了 `[DEFAULT] tarballs_base` 配置选项的默认值,从 `https://tarballs.openstack.org` 更改为 `https://tarballs.opendev.org`。 由于 OpenDev 站点具有命名空间,因此默认源镜像 tarball 位置已更新为包含 `/openstack`(或在少数情况下 `/x`)URL 路径。

  • 将 RabbitMQ 升级到 3.8。 请参阅 蓝图 以获取详细信息。

  • Kolla Ceph 容器镜像已被删除。 请使用另一个 Ceph 容器镜像源,例如 ceph-container

  • 在 Train 周期中已弃用的镜像已被删除。 这些包括 almanach、dind、dragonflow、helm 和 kubernetes 镜像。

  • Ansible 模块 `kolla_keystone_user` 和 `kolla_keystone_service` 已从 `kolla-toolbox` 镜像中删除。 这些以前由 Kolla Ansible 使用,而 Kolla Ansible 在 Train 版本中切换到上游 Ansible 模块。

  • Monasca Log API 已合并到 Train 版本中的 Monasca API 代码库中,因此已删除 `monasca-log-api` 镜像。

  • 作为使用统一的 Monasca API 处理日志的一部分,Fluentd Monasca 输出插件已升级。 任何将日志转发到 Monasca 的自定义 Fluentd 配置都需要更新。

  • 已放弃对 aarch64 和 ppc64le 的 Skydive 镜像的支持。 上游构建为广泛的架构提供自己的镜像。 二进制文件仅提供用于 x86-64。

  • 基于 Ubuntu 的镜像现在使用 APT 镜像。 这可能会影响通过 HTTP 代理构建。

  • 将 Elasticsearch 和 Kibana 升级到 6.x。 请参阅 蓝图 以获取详细信息。

  • 将 Kafka 从 1.0.2 升级到 2.0.1。 请参阅 升级说明 以获取更多详细信息。

  • 切换为使用所有受支持架构上 `dumb-init` 的上游二进制文件。 放弃了对 `base_compiler_packages` 覆盖列表的支持,因为它不再需要。

弃用说明

  • 弃用了 `centos_binary_packages` 和 `centos_source_packages` 覆盖,以支持 `centos_packages`。

  • `congress` 项目不再维护。 它已在 Victoria 中 正式退役

  • 弃用对 MongoDB 镜像的支持。 在 Victoria 中,Kolla 将删除对 MongoDB 镜像的支持。 请注意,CentOS 8 已经由于上游的决定而失去了对 MongoDB 的支持。

    唯一已知的下游 Kolla Ansible 正在弃用和删除对部署 MongoDB 的支持。

    MongoDB 在 OpenStack 环境中失去了地位,原因是其在自己的 SSPL(服务器端公共许可证)下进行了有争议的重新许可,该许可证未通过 OSI(开源倡议)的验证。

  • neutron-fwaas 项目已在 Neutron 环境中弃用,并将于 Wallaby 周期中从环境中移除。 Neutron 容器中的 neutron-fwaas 扩展自 Ussuri 版本起已弃用,并将于 Wallaby 周期中移除。 Horizon 容器中的 neutron-fwaas-dashboard 扩展自 Ussuri 版本起已弃用,并将于 Wallaby 周期中移除。

  • neutron-server-ovnneutron-metadata-agent-ovn 镜像已弃用,并将于 Victoria 版本中移除。 OVN 驱动程序和 networking-ovn-metadata-agent 已移动到 neutron-base 镜像,并且可在 neutron-serverneutron-metadata-agent 中使用。

  • OpenDaylight (opendaylight) 镜像已弃用并将被移除。 它不被任何 Kolla 下游项目使用。

  • 弃用对 Sensu 镜像的支持。 在 Victoria 中,Kolla 将移除对 Sensu 镜像的支持。 请注意,由于上游的决策,CentOS 8 已经失去了对 Sensu 的支持。

错误修复

  • 通过安装 python3-etcd3gw,修复 Ubuntu 二进制镜像中 etcd3 兼容的 tooz 协调驱动程序不可用的问题。 详情请参阅 bug 1852086

  • 将 openssh-clients 添加到 ironic conductor 容器构建中,以使 ansible 部署接口正常工作。

  • 将 python3-systemd 包添加到基于 ironic-conductor 源的容器中,以使 Ansible 部署接口正常工作。 修复 bug #1861427

  • 通过在不基于 nova-base 的 nova-libvirt 镜像中也安装 UEFI 包,修复无法运行基于 UEFI 的镜像/实例的问题。 LP#1814552

  • 通过调整 fetch-fernet-keys.py 脚本以在 Python 3 上工作,修复 Keystone Fernet 密钥分发在 Python 3 系统上失败的问题。 LP#1859047

  • Keystone bootstrap 可能会生成无效的 json。 LP#1866017

  • 修复 cinder 数据库在线迁移时 MAX_NUMBER 变量的使用。

  • 修复了在 ThunderX CPU 上运行的 AArch64 (ARM64) 服务器上 nova-libvirt 网络失败的问题。 LP#1867365

  • 通过在 Glance API 镜像中包含 NFS 客户端组件,修复 Glance 无法使用 Cinder NFS 后端来存储镜像的问题。 LP#1868574

  • 添加缺失的 vitrage-persistor 镜像,Vitrage 部署需要该镜像来存储数据。 LP#1869319

  • 通过移除对 OPAE SDK 的依赖,使 Cyborg 能够在所有平台上构建。 LP#1873744

  • 修复 keystone bootstrap 中一个问题,keystone-manage bootstrap 命令发出的错误消息被隐藏。 详情请参阅 bug 1855701

  • 修复 kolla_toolbox_pip_virtualenv_packages 自定义。 LP#1865119

  • 修复了 Debian 和 Ubuntu 源代码类型镜像中 Cyborg 和 Monasca API 的问题。 LP#1873421

  • 修复了 --skip-existing--skip-parents 标志导致镜像无法构建的问题。 LP#1867614

  • 将过时的命令 rally-manage db 转换为 rally dbLP#1856693

  • 修复 Debian 和 Ubuntu 二进制镜像中的 swift-object-expirer。 LP#1859607