【发布时间】:2016-11-05 14:34:34
【问题描述】:
我有一个问题。
所以基本上我有一个可以运行 2 个角色的剧本。 第一个角色将通过 pysphere 插件连接到 VMware vCenter 并创建一个虚拟机,然后通过“收集事实”来“学习”它的 MAC 地址。 (2 个任务,一个创建 VM,另一个收集事实)。
这样我就可以“调试”并实际看到新创建的 VM 的 MAC。
我的剧本的第二部分是运行另一个角色,该角色将连接到另一个服务器并通过 ansible 的“shell”模块输入一些 cobbler 命令来创建一个 cobbler 配置文件以进行安装。
我想要实现的是能够创建一个 vm 并创建一个 cobbler 安装配置文件..
这里缺少的部分当然是虚拟机的 MAC 地址..(因为 cobbler 需要它)。
而且我无法使第一个角色的 MAC 的“事实/变量”在第二个角色中可用..
有什么想法吗? :)
试图将 fact_caching 与 json 一起使用。没有帮助,或者我做错了什么...
非常感谢!!
【问题讨论】:
-
如果您可以在该新 VM 上运行安装程序,则 MAC 地址将位于:
ansible_<IFNAME>.macaddress(您可以通过运行ansible -vvi /path/to/inventory <yourhost> -m setup来测试Gathering facts的功能) -
我无法在这个新虚拟机上运行安装程序,因为它还不“存在”。它是由 ansible 在 vCenter 上创建的,但由于我需要它的 MAC 才能打开电源,所以还没有打开电源。。
标签: ansible ansible-playbook role