Scripting Ansible playbook在vSphere中创建虚拟机

Scripting Ansible playbook在vSphere中创建虚拟机,scripting,ansible,virtual-machine,vmware,vsphere,Scripting,Ansible,Virtual Machine,Vmware,Vsphere,我需要一个Ansible剧本来在我的vSphere中创建虚拟机,有可能吗 很抱歉延迟了很长时间才回复。 这是我用来在vSphere上创建新VM的代码。我能够成功地创建一个新的虚拟机,但当我尝试“打开”虚拟机并尝试连接到它时,它会显示一个空白屏幕,显示“找不到操作系统” 我只是想检查一下我是否需要向它提供ISO文件? 从现有VM克隆VM可以正常工作,甚至从模板克隆也可以正常工作。 即使我提供了guest\u id,我也只是在检查,因为某些版本的操作系统不足以让vm启动并运行? 如果我必须使用下面的

我需要一个Ansible剧本来在我的vSphere中创建虚拟机,有可能吗

很抱歉延迟了很长时间才回复。 这是我用来在vSphere上创建新VM的代码。我能够成功地创建一个新的虚拟机,但当我尝试“打开”虚拟机并尝试连接到它时,它会显示一个空白屏幕,显示“找不到操作系统”

我只是想检查一下我是否需要向它提供ISO文件? 从现有VM克隆VM可以正常工作,甚至从模板克隆也可以正常工作。 即使我提供了
guest\u id
,我也只是在检查,因为某些版本的操作系统不足以让vm启动并运行? 如果我必须使用下面的
ansibleplaybook.yml
文件向提供ISO文件,那么我如何传递它?

您已经创建了一个新的VM(没有操作系统),您收到错误是正常的:没有找到操作系统

试试这个:

---
- name : To test VM creation on vSphere
  hosts  : localhost
  gather_facts : False
  tasks  :
   - name : Including Secrets
     include_vars:
             file: ../secrets.yml
             name: secret

   - name : Create a new vm from template
     vmware_guest :
        hostname: "{{secret.hostname}}"        
        user: "{{secret.username}}"
        password: "{{secret.password}}"
        validate_certs: no
        datacenter: "{{ datacenter }}"
        folder: /vm
        name: an-new-vm
        state: poweredon
        guest_id: centos64Guest
        esxi_hostname: "{{ hostname }}"
        cdrom:
        - iso_path: "{{ [datastore1]path/to/file.iso }}"
          type: iso 
        customization:
             autologon: True
             existing_vm: True
        hardware: 
            num_cpus: 2
            memory_mb: 8192
        disk:
           - size_gb: 40
             datastore: datastore-2
        networks:
        - name: VM Network
          type: dhcp
          device_type: vmxnet3
          hostname: ansible-testing.domain.da
          allow_guest_control: True
          wait_for_ip_address: yes
     register : new_vm

   - debug:
       var: new_vm
有关更多信息,请参阅此链接:

是的,这是可能的。现在,您是否有一个真正的问题与您在尝试实现此功能时所面临的特定问题的编程有关?更具体地说,请查看网站的帮助部分
---
- name : To test VM creation on vSphere
  hosts  : localhost
  gather_facts : False
  tasks  :
   - name : Including Secrets
     include_vars:
             file: ../secrets.yml
             name: secret

   - name : Create a new vm from template
     vmware_guest :
        hostname: "{{secret.hostname}}"        
        user: "{{secret.username}}"
        password: "{{secret.password}}"
        validate_certs: no
        datacenter: "{{ datacenter }}"
        folder: /vm
        name: an-new-vm
        state: poweredon
        guest_id: centos64Guest
        esxi_hostname: "{{ hostname }}"
        cdrom:
        - iso_path: "{{ [datastore1]path/to/file.iso }}"
          type: iso 
        customization:
             autologon: True
             existing_vm: True
        hardware: 
            num_cpus: 2
            memory_mb: 8192
        disk:
           - size_gb: 40
             datastore: datastore-2
        networks:
        - name: VM Network
          type: dhcp
          device_type: vmxnet3
          hostname: ansible-testing.domain.da
          allow_guest_control: True
          wait_for_ip_address: yes
     register : new_vm

   - debug:
       var: new_vm