使用 Keystone

最终,由于 bifrost 旨在用于相对短期的安装,以促进快速硬件部署,默认操作模式被称为 noauth 模式。为了利用 Keystone 身份验证来管理角色,Bifrost 会从 clouds.yaml 读取配置。如果 clouds.yaml 尚未通过 bifrost-keystone-client-config 角色生成,则需要执行以下步骤之一

  1. 更新您计划使用的每个角色的默认值。除非用户需要携带此类更改作为下游债务,否则这对于大多数用户来说可能没有太大意义。

  2. 使用变量调用 ansible-playbook 以覆盖默认行为。示例

    -e enable_keystone=true -e noauth_mode=false -e cloud_name=bifrost
    
  3. 设置目标(master/playbooks/inventory/group_vars/target)的全局默认值。

OpenStack 客户端用法

希望调用 OSC 命令来操作 bifrost 安装的用户,应设置 OS_CLOUD 环境变量。设置环境变量并执行 OSC 命令以列出所有裸机节点的示例

export OS_CLOUD=bifrost
openstack baremetal node list

对于管理操作,请使用 bifrost-admin

export OS_CLOUD=bifrost-admin
openstack endpoint list

Keystone 角色

Ironic 是 bifrost 帮助用户利用的基础 OpenStack 组件,它支持 Keystone 中的两种不同角色,这些角色有助于管理用户在 Keystone 中的权限。

这些角色是 baremetal_adminbaremetal_observer,用户可以从 ironic 安装指南 了解有关这些角色的更多信息。

单个 playbook 的使用

OpenStack Ansible 模块使用 clouds.yaml 文件来获取身份验证详细信息以连接并确定详细信息。Bifrost 角色与 Ironic 通信以执行节点注册和部署等操作,会自动尝试从 clouds.yaml 中收集身份验证数据。用户可以通过 cloud_name 参数显式选择要部署到的云。