在本地主机上运行一个ansible playbook任务,然后在远程服务器上运行另一个任务
我正在尝试自动化我们的VMware部署和配置,遇到了一个在google上找不到答案的问题 首先,我在本地主机上运行一个playbook任务,该任务将连接到vsphere以配置我的服务器。在这之后,在同一个剧本中,我希望接触到配置的服务器,并进行一些配置更改以完成。我该怎么做?现在我的剧本看起来像:在本地主机上运行一个ansible playbook任务,然后在远程服务器上运行另一个任务,ansible,Ansible,我正在尝试自动化我们的VMware部署和配置,遇到了一个在google上找不到答案的问题 首先,我在本地主机上运行一个playbook任务,该任务将连接到vsphere以配置我的服务器。在这之后,在同一个剧本中,我希望接触到配置的服务器,并进行一些配置更改以完成。我该怎么做?现在我的剧本看起来像: - hosts: - localhost tasks: - name: Clone a virtual machine from Linux template and customi
- hosts:
- localhost
tasks:
- name: Clone a virtual machine from Linux template and customize
vmware_guest:
hostname: "VSphere"
username: "Username"
password: "Password"
validate_certs: no
datacenter: "DC"
state: present
folder: /Servers
template: "MyTemplate"
name: "{{ServerName}}"
cluster: "Prod Cluster"
networks:
- name: VM Network
ip: "{{IP}}"
netmask: 255.255.255.0
gateway: "{{Gateway}}"
wait_for_ip_address: True
customization:
domain: "mydomain.com"
dns_servers:
- 192.168.1.1
- 192.168.1.2
dns_suffix:
- mydomain.com
delegate_to: localhost
- name: Register VM to Satellite
#here is where I need to know how to specify running commands on my specific IP(which I pass in on command line as var)
使用“添加主机”模块将新主机添加到您的资源清册中,然后在另一个重头戏中锁定该主机(您在任务中不需要将该
委托给:localhost
,因为您已经在重头戏中锁定了localhost
):
你也可以通过使用;vmware有一个可用的主机。使用添加主机模块将新主机添加到您的资源清册中,然后在另一个重头戏中瞄准该主机(您不需要在任务中将该
委派给:localhost
,因为您已经在重头戏中瞄准了localhost
):
你也可以通过使用;vmware有一个可用的IP地址。因为您已经知道您的IP地址是什么,只需将它放在您的清单中即可。事实上,你想要多少就有多少。您将拥有
主机:all
(而不是localhost)。如果虚拟机已经存在,则在vmware\u guest
调用中将不会发生任何事情。(并且您已经将vCenter调用委托给localhost
)
您需要输入一个
等待
,以便在尝试注册虚拟机之前给虚拟机留出时间。既然您已经知道您的IP地址是什么,只需将其放入您的清单中即可。事实上,你想要多少就有多少。您将拥有主机:all
(而不是localhost)。如果虚拟机已经存在,则在vmware\u guest
调用中将不会发生任何事情。(并且您已经将vCenter调用委托给localhost
)
您需要输入一个
等待
,以便在您尝试注册虚拟机之前给虚拟机留出时间。非常感谢,这正是我想要的。非常感谢,这正是我想要的。
---
- hosts: localhost
tasks:
- name: Clone a virtual machine from Linux template and customize
vmware_guest:
hostname: "VSphere"
username: "Username"
password: "Password"
validate_certs: no
datacenter: "DC"
state: present
folder: /Servers
template: "MyTemplate"
name: "{{ServerName}}"
cluster: "Prod Cluster"
networks:
- name: VM Network
ip: "{{IP}}"
netmask: 255.255.255.0
gateway: "{{Gateway}}"
wait_for_ip_address: True
customization:
domain: "mydomain.com"
dns_servers:
- 192.168.1.1
- 192.168.1.2
dns_suffix:
- mydomain.com
- name: add host to inventory
add_host:
name: new_host
ansible_host: "{{ IP }}"
groups: vms
- hosts: vms
tasks:
- name: register vm to satellite
...