Zuul CI Roles¶
- apache-logs-conf¶
准备 Apache 配置和日志以进行分阶段处理
确保 Apache 配置文件和日志文件在与 Linux 发行版无关的位置可用。请注意,这依赖于硬链接,分阶段目录必须位于与日志和配置文件相同的分区中。
角色变量
-
stage_dir¶
默认值:{{ ansible_user_dir }} 基础分阶段目录。
-
stage_dir¶
- capture-performance-data¶
生成用于分阶段处理的性能日志
从 mysql、systemd、Apache 日志和其他系统部分捕获使用信息,并在分阶段目录中生成 performance.json 文件。
角色变量
-
stage_dir¶
默认值:{{ ansible_user_dir }} 基础分阶段目录
-
devstack_conf_dir¶
默认值:/opt/stack 基础 DevStack 目标目录
-
debian_suse_apache_deref_logs¶
在 Debian/Suse 位置找到的 Apache 日志
-
redhat_apache_deref_logs¶
在 Red Hat 位置找到的 Apache 日志
-
stage_dir¶
- capture-system-logs¶
分阶段处理多种系统类型日志
分阶段处理多种不同的日志/报告:- iptables 的快照 - 可用磁盘空间 - pip[2|3] freeze - 已安装的软件包 (dpkg/rpm) - ceph、openswitch、gluster - 核心转储 - dns 解析器 - listen53 - 服务 - unbound.log - 弃用消息
角色变量
-
stage_dir¶
默认值:{{ ansible_user_dir }} 基础分阶段目录。
-
stage_dir¶
- devstack-ipv6-only-deployments-verification¶
验证 IPv6-only 部署中的所有地址
此角色需要在运行测试的 playbook 中调用。此角色验证 DevStack 侧的 IPv6 设置,并验证 DevStack 是否使用所有 IPv6 地址进行部署。此角色在运行测试之前调用,以便如果缺少任何 IPv6 设置,部署可以尽早失败。
角色变量
-
devstack_base_dir¶
默认值:/opt/stack DevStack 基础目录。
-
devstack_base_dir¶
- devstack-project-conf¶
准备 OpenStack 项目配置以进行分阶段处理
准备所有相关的配置文件以进行分阶段处理。这有助于避免分阶段处理整个 /etc。
角色变量
-
stage_dir¶
默认值:{{ ansible_user_dir }} 基础分阶段目录。
-
stage_dir¶
- export-devstack-journal¶
导出 DevStack 服务的日志文件
这执行许多日志收集服务
以本机格式导出 systemd 日志
对于每个 DevStack 服务,将日志导出到文本文件中,文件名为
screen-*,以保持与旧版本的兼容性,因为 DevStack 服务过去在屏幕会话中运行并单独记录。导出包含内核和 sudo 消息的 syslog 风格的文件,以保持与旧版本的兼容性。
将输出写入
stage_dir的logs/子目录。角色变量
-
devstack_base_dir¶
默认值:/opt/stack DevStack 基础目录。它用于获取
log-start-timestamp.txt,用于过滤 systemd 日志。
-
stage_dir¶
默认值:{{ ansible_user_dir }} 基础分阶段目录。
- fetch-devstack-log-dir¶
从 DevStack 日志目录获取内容
将日志从每台主机复制回 Zuul 执行器。
角色变量
-
devstack_base_dir¶
默认值:/opt/stack DevStack 基础目录。
-
devstack_base_dir¶
- get-devstack-os-environment¶
读取 DevStack 通过 openrc 为指定用户和项目设置的 OS_* 变量,并将它们导出为 os_env_vars 事实。
警告:此角色旨在用作非统一的 python-<service>client 作业的移植帮助,因为这些客户端不使用 clouds.yaml,就像 openstackclient 一样。当这些客户端及其作业被弃用和删除时,或者当新代码能够直接从 clouds.yaml 读取时,此角色也应被删除。
角色变量
-
devstack_base_dir¶
默认值:/opt/stack DevStack 基础目录。
-
openrc_file¶
默认值:{{ devstack_base_dir }}/devstack/openrc 生成的 openrc 文件的位置。
-
openrc_user¶
默认值:admin 应检索其凭据的用户。
-
openrc_project¶
默认值:admin 项目(openrc_user 是其一部分),应检索其访问数据。
-
openrc_enable_export¶
默认值:false 设置为 true 以导出 os_env_vars。
-
devstack_base_dir¶
- orchestrate-devstack¶
编排 DevStack
在多节点场景中运行 DevStack,一个控制器节点和一组子节点。
此角色的原因是,其他存储库中的作业可以在其 playbook 中运行 DevStack,而无需重新实现编排逻辑。
“run-devstack” 角色可用于在没有编排的情况下运行 DevStack。
此角色首先设置控制器和 CA,然后将 CA 数据推送到子节点并在那里运行 DevStack。此角色的唯一要求是控制器 inventory_hostname 为“controller”,并且所有子节点都定义在一个名为“subnode”的组中。
此角色需要从使用“线性”策略的 playbook 调用。
角色变量
-
devstack_base_dir¶
默认值:/opt/stack DevStack 基础目录。
-
devstack_base_dir¶
- process-stackviz¶
生成 stackviz 报告。
使用 subunit 和 dstat 数据生成 stackviz 报告,使用嵌入在测试镜像中的 stackviz 存档。
角色变量
-
devstack_base_dir¶
默认值:/opt/stack DevStack 基础目录。
-
stage_dir¶
默认值:"{{ ansible_user_dir }}" 可以找到输入数据并生成输出的分阶段目录。
-
zuul_work_dir¶
默认值:{{ devstack_base_dir }}/tempest 要使用的目录。它必须是完全限定的路径。
-
devstack_base_dir¶
- setup-devstack-cache¶
设置 DevStack 缓存目录
如果节点具有 DevStack 镜像文件的缓存,则将其复制到位。
角色变量
-
devstack_base_dir¶
默认值:/opt/stack DevStack 基础目录。
-
devstack_cache_dir¶
默认值:/opt/cache 包含缓存文件的目录。
-
devstack_base_dir¶
- setup-devstack-log-dir¶
设置 DevStack 日志目录
在临时磁盘分区上创建一个日志目录,以节省根设备上的空间。
角色变量
-
devstack_base_dir¶
默认值:/opt/stack DevStack 基础目录。
-
devstack_base_dir¶
- setup-devstack-source-dirs¶
设置 DevStack 源代码目录
确保基础目录存在,然后将源代码仓库移动到其中。
角色变量
-
devstack_base_dir¶
默认值:/opt/stack DevStack 基础目录。
-
devstack_sources_branch¶
默认值:None 要设置的目标分支(如果可用)。
-
devstack_base_dir¶
- setup-stack-user¶
设置 stack 用户
创建 stack 用户,设置其主目录,并允许其使用 sudo。
角色变量
-
devstack_base_dir¶
默认值:/opt/stack DevStack 基础目录。
-
devstack_stack_home_dir¶
默认值:{{ devstack_base_dir }} stack 用户的家目录。
-
devstack_base_dir¶
- setup-tempest-user¶
设置 tempest 用户
创建 tempest 用户并允许其使用 sudo。
角色变量
-
devstack_base_dir¶
默认值:/opt/stack DevStack 基础目录。
-
devstack_base_dir¶
- start-fresh-logging¶
在所有主机上重新启动日志记录
重新启动 syslog,以便系统日志仅包含作业的输出。
角色变量
-
devstack_base_dir¶
默认值:/opt/stack DevStack 基础目录。
-
devstack_base_dir¶
- sync-controller-ceph-conf-and-keys¶
同步控制器和子节点之间的 ceph 配置和密钥
只需将 /etc/ceph 的内容从控制器复制到子节点。
- sync-devstack-data¶
同步多节点配置的 DevStack 数据
同步任何数据文件,包括用于启用 TLS 时使用的证书。此角色必须在控制器上执行,并且会将数据推送到所有子节点。
角色变量
-
devstack_base_dir¶
默认值:/opt/stack DevStack 基础目录。
-
devstack_data_base_dir¶
默认值:{{ devstack_base_dir }} 数据的基础 DevStack 目录/。例如,当多个 DevStack 执行(即 grenade)共享相同的数据目录时,这很有用。
-
devstack_base_dir¶
- write-devstack-local-conf¶
写入 DevStack 用于的 local.conf 文件
角色变量
-
devstack_base_dir¶
默认值:/opt/stack DevStack 基础目录。
-
devstack_local_conf_path¶
默认值:{{ devstack_base_dir }}/devstack/local.conf local.conf 文件的路径。
-
devstack_localrc¶
类型: dict 一个字典,包含要写入 local.conf 文件的 localrc 部分的变量。这些值(字符串)可能包含 bash shell 变量,并且会按顺序排列,以便后续条目使用的变量先出现。
作为特例,变量
LIBS_FROM_GIT将根据作业中出现的required-projects列表以及正在测试的变更的项目自动构建。要指示 devstack 从源代码而不是 pypi 安装库,只需将该库添加到作业的required-projects列表中。要覆盖自动生成的值,请在devstack_localrc中将LIBS_FROM_GIT设置为所需的值。
-
devstack_local_conf¶
类型: dict 一个复杂的参数,由嵌套字典组成,这些字典组合起来形成 local_conf 文件的元部分。顶层是阶段的字典,然后是文件名的字典,再然后是节的字典,最后包含这些节中 INI 文件条目的键值对。
此字典中的键是 devstack 阶段。
-
devstack_base_services¶
默认值:{{ base_services | default(omit) }}
类型: list 一个启用的基本服务列表。可以通过
devstack_services变量添加或删除此列表中的服务。如果base在devstack_services中设置为False,则忽略此设置。
-
devstack_services¶
类型: dict 一个字典,将服务名称映射到布尔值。如果布尔值为
false,则将为服务名称发出disable_service行。如果为true,则将发出enable_service。其他所有值都将被忽略。特殊键
base可用于启用或禁用默认启用的基本服务集。如果找到base,它将在所有其他键之前处理。如果其值为False,将发出disable_all_services;如果其值为True,则将通过ENABLED_SERVICES发出devstack_base_services中的服务。
-
devstack_plugins¶
类型: dict 一个字典,将插件名称映射到 git 仓库位置。如果位置是非空字符串,则将为插件名称发出
enable_plugin行。如果插件声明对另一个插件的依赖关系(通过插件设置文件中的
plugin_requires),此角色将自动以正确的顺序发出enable_plugin行。
-
tempest_plugins¶
类型: list 与 tempest 一起安装的 tempest 插件列表。
将此值列表与基本 devstack 目录结合使用,以填充
TEMPEST_PLUGINS变量。如果变量已经存在,则其值不会更改。
-
devstack_base_dir¶