11.8. 防止 overcloud 被移除

为 heat 设置自定义策略,以防止 overcloud 被删除。

步骤

  1. 创建名为 prevent-stack-delete.yaml 的环境文件。
  2. 设置 HeatApiPolicies 参数:

    parameter_defaults:
      HeatApiPolicies:
        heat-deny-action:
          key: 'actions:action'
          value: 'rule:deny_everybody'
        heat-protect-overcloud:
          key: 'stacks:delete'
          value: 'rule:deny_everybody'
    重要

    heat-deny-action 是您必须在 undercloud 安装中包含的默认策略。

  3. prevent-stack-delete.yaml 环境文件添加到 undercloud.conf 文件中的 custom_env_files 参数:

    custom_env_files = prevent-stack-delete.yaml
  4. 运行 undercloud 安装命令以刷新配置:

    $ openstack undercloud install

此环境文件会防止您删除 overcloud 中的任何堆栈,这意味着您无法执行以下功能:

  • 删除 overcloud
  • 移除单独的 Compute 或 Ceph Storage 节点
  • 替换 Controller 节点

要启用堆栈删除,请从 custom_env_files 参数中移除 prevent-stack-delete.yaml 文件,再运行 openstack undercloud install 命令。