oslopolicy-convert-json-to-yaml

概要

oslopolicy-convert-json-to-yaml [-h] [--config-dir DIR] [--config-file PATH]
                                [--namespace NAMESPACE]
                                [--policy-file POLICY_FILE]
                                [--output-file OUTPUT_FILE]

描述

工具 oslopolicy-convert-json-to-yaml 可用于将 JSON 格式的策略文件转换为 YAML 格式。它将 JSON 格式的策略文件作为输入,并将其转换为类似于 oslopolicy-sample-generator 工具的 YAML 格式的策略文件,但保留被覆盖的规则为未注释状态。它执行以下操作:

  • 注释掉与 policy-in-code 中默认值匹配的任何规则。

  • 如果规则被覆盖,则保持规则未注释状态。

  • 除非文件尚未包含,否则不会自动将弃用的规则添加到文件中。

  • 保留任何额外的规则或已存在的弃用规则,并以未注释状态置于文件末尾,并附带警告文本。

何时使用:

Oslo policy 仍然支持 JSON 格式的策略文件,但这导致了 多个问题。其中一个关键问题是在 nova 切换到带有 keystone 新策略和 scope 特性的新策略时出现。有关详细信息,请参阅 此 bug

在未来的发布版本中,oslo policy 将移除对 JSON 格式策略文件的支持,为了平滑迁移到 YAML 格式的策略文件,您可以使用此工具将现有的 JSON 格式文件转换为 YAML 文件。

选项

-h, --help

显示帮助信息并退出。

--config-dir DIR

从目录中提取 *.conf 文件的路径。此文件集按排序方式排列,以便在单个选项被覆盖时提供可预测的解析顺序。该集合在通过之前的 --config-file 参数指定的文件之后进行解析,因此目录中的覆盖选项优先。

必须从命令行设置此选项。

--config-file PATH

要使用的配置文件路径。可以指定多个配置文件,后面的文件的值优先。默认值为 None。此选项必须从命令行设置。

--output-file OUTPUT_FILE

写入文件的路径。默认为 stdout。

--exclude-deprecated True

允许渲染的输出在不包含弃用策略信息的情况下生成。

--namespace NAMESPACE

在“oslo.policy.policies”下查询选项的命名空间。

--policy-file POLICY_FILE

需要转换为 yaml 格式的策略文件的路径。

示例

要转换名为 keystone 的命名空间的 JSON 策略文件

oslopolicy-convert-json-to-yaml --namespace keystone \
  --policy-file keystone-policy.json

要将 JSON 策略文件直接转换为 YAML 格式的文件

oslopolicy-convert-json-to-yaml --namespace keystone \
  --policy-file keystone-policy.json \
  --output-file keystone-policy.yaml

使用以下命令生成有关 oslopolicy-convert-json-to-yaml 支持的附加选项和参数的帮助文本

oslopolicy-convert-json-to-yaml --help

参见

oslopolicy-sample-generator, oslopolicy-policy-generator, oslopolicy-upgrade