Ansible - Create virtual machine


file name : create_vm.yml

  gather_facts: true
  connection: local
  user: remote
  sudo: true
  vars_prompt:
    - name: "vcenter_hostname"
      prompt: "Enter vcenter hostname"
      private: no
      default: "10.10.1.100"
    - name: "vcenter_user"
      prompt: "Enter vcenter username : administrator@vsphere.local"
      private: no
    - name: "vcenter_pass"
      prompt: "Enter vcenter password : secretpassword "
      private: yes
- hosts: all

  vars:
    datacenter: 'poc-Datacenter'
    esxi_host: 'pocvxrailesx1.example.com'
    notes: 'Created by Syed Sadat Ali'
  tasks:
    - vsphere_guest:
        vcenter_hostname: "{{ vcenter_hostname }}"
        username: "{{ vcenter_user }}"
        password: "{{ vcenter_pass }}"
        guest: "{{ inventory_hostname }}"
        state: present
        vm_extra_config:
          notes: "{{ notes }}"
        vm_disk:
          disk1:
            size_gb: "{{ os_disk }}"
            type: thin
            datastore: "{{ datastore }}"
          disk2:
            size_gb: "{{ disk1 }}"
            type: thin
            datastore: "{{ datastore }}"
          disk3:
            size_gb: "{{ disk2 }}"
            type: thin
            datastore: "{{ datastore }}"
            
        vm_nic:
          nic1:
            type: e1000
            network: "{{ network1 }}"
            network_type: dvs
          nic2:
            type: e1000
            network: "{{ network2 }}"
            network_type: dvs
          nic3:
            type: e1000
            network: "{{ network3 }}"
            network_type: dvs
          nic4:
            type: e1000
            network: "{{ network4 }}"
            network_type: dvs
          nic5:
            type: vmxnet
            network: "{{ network5 }}"
            network_type: dvs
          nic6:
            type: vmxnet
            network: "{{ network6 }}"
            network_type: dvs
          nic7:
            type: vmxnet
            network: "{{ network7 }}"
            network_type: dvs
          nic8:
            type: vmxnet
            network: "{{ network8 }}"
            network_type: dvs
          vm_hardware:
          memory_mb: "{{ memory }}"
          num_cpus: "{{ cpucount }}"
          osid: "{{ osid }}"
          scsi: LSI
        esxi:
          datacenter: "{{ datacenter }}"
          hostname: "{{ esxi_host }}"


Comments

Popular Posts