使用 Ansible 和 Packstack 进行 Openstack 部署期间的源更改

Source change during Openstack deployment using Ansible and Packstack

我正在使用角色结构来部署 Openstack 基础设施,在任务文件夹的 main.yml 中,我会有一些任务适用于一个租户,而一些任务适用于不同的租户。

我想运行一次完成所有任务,即使来自不同的租户。为此,我需要以某种方式指定某些任务针对租户 1,某些任务针对租户 2。

举个简单的例子。我目前正在 运行 执行 Ansible 任务时采购租户 1,但我希望将以下 Ansible 任务发送给租户 2 上的 运行:

- name: Create the security group
  os_security_group:
     state: present
     name: sg_default
     description: Security group
  tags: security_group

作为第一步,我在两个租户上都添加了管理员角色。

是否有任何选项可以帮助我 运行 在主任务文件中同时处理所有内容,即使租户不同?或者这是否可以改变我在其中指定角色的主要 yml?

找到方法:

从您所在的地方创建一个 clouds.yml 文件 运行 剧本。类似于:

clouds:
  testing:
    auth:
      auth_url: http://openstack.local:5000/v2.0
      username: admin
      password: secret
      project_name: admin

在函数中插入云,如下所示:

- name: Create the security group
  os_security_group:
     state: present 
     cloud: testing
     name: sg_default
     description: SG group
  tags: security_group