17.2. tripleo-container-manage molecule 场景


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

hosts:
  all:
    hosts:
      instance:
        ansible_host: localhost
        ansible_connection: local
        ansible_distribution: centos8

使用方法

Red Hat OpenStack 17.0 仅支持此角色中的 Podman。Docker 支持是参与的。

Molecule Ansible 角色执行以下任务:

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

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

    • 如果容器是一个 exec,则运行用于 execs 的专用 playbook,使用 async 来同时运行多个 execs
    • 否则,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"
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.