在本地主机上运行一个ansible playbook任务,然后在远程服务器上运行另一个任务

在本地主机上运行一个ansible playbook任务,然后在远程服务器上运行另一个任务,ansible,Ansible,我正在尝试自动化我们的VMware部署和配置,遇到了一个在google上找不到答案的问题 首先,我在本地主机上运行一个playbook任务,该任务将连接到vsphere以配置我的服务器。在这之后,在同一个剧本中,我希望接触到配置的服务器,并进行一些配置更改以完成。我该怎么做?现在我的剧本看起来像: - hosts: - localhost tasks: - name: Clone a virtual machine from Linux template and customi

我正在尝试自动化我们的VMware部署和配置,遇到了一个在google上找不到答案的问题

首先,我在本地主机上运行一个playbook任务,该任务将连接到vsphere以配置我的服务器。在这之后,在同一个剧本中,我希望接触到配置的服务器,并进行一些配置更改以完成。我该怎么做?现在我的剧本看起来像:

- 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
      ...