17.2. tripleo-container-manage molecule 场景


molecule 用于测试 tripleo_container_manage 角色。下面显示了一个 molecule 默认清单:

hosts:
  all:
    hosts:
      instance:
        ansible_host: localhost
        ansible_connection: local
        ansible_distribution: centos8
Copy to Clipboard Toggle word wrap

使用方法

Red Hat OpenStack 17.0 仅支持此角色中的 Podman。Docker 支持是路线图。

Molecule Ansible 角色执行以下任务:

  • 收集由 TripleO Heat 模板生成的容器配置数据。此数据用作数据源。如果容器已经由 Molecule 管理,无论其 present 状态如何,配置数据将根据需要重新配置容器。
  • 管理 systemd 关闭文件。它创建 TripleO 容器 systemd 服务,在关闭或启动节点时需要服务排序。它还管理 netns-placeholder 服务。
  • 删除需要或需要重新配置的容器。它使用名为 needs_delete () 的自定义过滤器,它有一组规则来确定是否需要删除容器。

    • 如果容器不由 tripleo_ansible 管理,则容器不会被删除,或者容器 config_id 与输入 ID 不匹配。
    • 如果容器没有 config_data,或者容器具有与输入中不匹配数据的 config_data,则容器将被删除。请注意,当容器被删除时,角色还会禁用并删除 systemd 服务和 healtchecks。
  • 按照 start_order 容器配置定义的特定顺序创建容器,默认值为 0。

    • 如果容器是 exec,则运行一个专用的 execs playbook,使用 async 以便可以同时运行多个 exec。
    • 否则,在 async 中使用 podman_container 来创建容器。如果容器有一个 重启策略,则会配置systemd 服务。如果容器有健康检查脚本,则会配置 systemd healthcheck 服务。
注意

tripleo_container_manage_concurrency 参数默认设置为 1,而值高于 2 的值可能会公开 Podman 锁定的问题。

playbook 示例:

- name: Manage step_1 containers using tripleo-ansible
  block:
    - name: "Manage containers for step 1 with tripleo-ansible"
      include_role:
        name: tripleo_container_manage
      vars:
        tripleo_container_manage_config: "/var/lib/tripleo-config/container-startup-config/step_1"
        tripleo_container_manage_config_id: "tripleo_step1"
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat