You will need to open up the ISO and add a few parameters to boot config. 

I added the location of my dynamic kickstart web service 
(ks=http://example.com/ks.php) and the kssendmac parameter. 

Once you modify that file recreate your ISO. 
This link should help. 

http://www.softpanorama.org/Commercial_linuxes/RHEL/Installation/Kickstart/modifing_iso_image_to_include_kickstart_file.shtml

Copy the new iso to your data store and reference it you Ansible play. 

> On Feb 26, 2016, at 14:31, [email protected] wrote:
> 
> Hi Mark, 
> 
> bit confusion, need your suggestion...
> 
> i made a play book to create vm machine and  attached iso_path. when i run 
> the playbook it creates a vm automatically boot from rhel6 iso. 
> if it is booting from iso automatically then why i need to use pxe ? can i 
> install rhel6 OS by kickstart ? if yes then what more syntax i need to define 
> in my script.
> please find the below mentioned my playbook and suggest me the right way.
> 
> ---
> - name: create some vms
>   hosts: localhost
>   connection: local
>   vars_prompt:
>     - name: "vcenter_host"
>       prompt: "Enter vcenter host"
>       private: no
>       default: "vcsa"
>     - name: "vcenter_user"
>       prompt: "Enter vcenter username"
>       private: no
>     - name: "vcenter_pass"
>       prompt: "Enter vcenter password"
>       private: yes
>     - name: "vcenter_datacenter"
>       prompt: "Enter datacenter name"
>       private: no
>     - name: "vcenter_datastore"
>       prompt: "Enter datastore name"
>       private: no
>     - name: "esxi_host"
>       prompt: "Enter vsphere host"
>       private: no
>   vars:
> #    - vcenter_folder: 'beta'
>     - vms:
>         - guest: 'test04'
>           state: 'powered_on'
>           vcpu_hotadd: 'yes'
>           mem_hotadd: 'yes'
>           notes: 'Ansible Created'
>           num_disks: '1'
>           disks:
>             disk1:
>               size: '10'
>               type: 'thin'
>           network: 'VM Network'
>           memory: '1024'
>           cpus: '1'
>           osid: 'rhel6_64Guest'
>   tasks:
>     - name: create vms (Single Disk)
>       vsphere_guest:
>         vcenter_hostname: "{{ vcenter_host }}"
>         username: "{{ vcenter_user }}"
>         password: "{{ vcenter_pass }}"
>         guest: "{{ item.guest }}"
>         state: "{{ item.state }}"
>         vm_extra_config:
>           vcpu.hotadd: "{{ item.vcpu_hotadd|default(omit) }}"
>           mem.hotadd: "{{ item.mem_hotadd|default(omit) }}"
>           notes: "{{ item.notes|default(omit) }}"
>  #         folder: "{{ vcenter_folder }}"
>         vm_disk:
>           disk1:
>             size_gb: "{{ item.disks.disk1.size }}"
>             type: "{{ item.disks.disk1.type }}"
>             datastore: "{{ vcenter_datastore }}"
>  #          folder: "{{ vcenter_folder }}"
>         vm_nic:
>           nic1:
>             type: "vmxnet3"
>             network: "{{ item.network }}"
>             network_type: "standard"
>         vm_hardware:
>           memory_mb: "{{ item.memory }}"
>           num_cpus: "{{ item.cpus }}"
>           osid: "{{ item.osid }}"
>           scsi: "paravirtual"
>           vm_cdrom:
>             type: "iso"
>             iso_path: "datastore1/rhel-server-6.6-x86_64-dvd.iso"
>         esxi:
>           datacenter: "{{ vcenter_datacenter }}"
>           hostname: "{{ esxi_host }}"
>       with_items: vms
>       when: item.num_disks == '1'
> 
> 
>> On Wednesday, November 11, 2015 at 10:48:29 PM UTC+5:30, Mark Phillips wrote:
>> Hello Mihai,
>> 
>> Well, it's two other products there that are in effect needing control of. 
>> You need vSphere to interact with the Linux boot disc menu - so not easy, 
>> really.
>> 
>> See my earlier post in this thread - set up a network boot (PXE) and have 
>> two menu items. Or, alternatively, use something like iPXE (http://ipxe.org) 
>> to make a specific boot disc image which you 'insert' into the VMware VM 
>> CDROM to boot.
>> 
>> Cheers
>> 
>>> On Wednesday, 11 November 2015 16:58:00 UTC, Mihai Cristian Satmarean  
>>> wrote:
>>> Thanks Mark,
>>> We are already doing both, I thought that there is a module or an Ansible 
>>> trick that you can specify the boot parameter in the vsphere boot :) that 
>>> would be helpful.
>>> 
>>> 
>>> vineri, 6 noiembrie 2015, 18:33:56 UTC+1, Mark Phillips a scris:
>>>> 
>>>> If it's from a CD boot Mihai just hit 'tab' then put ks= as Michael 
>>>> suggested.
>>>> 
>>>> Otherwise, with PXE boot you can specify the option on the kernel line, 
>>>> like:
>>>> 
>>>> kernel -n img http://ks.internal/centos/7/os/x86_64/images/pxeboot/vmlinuz 
>>>> ks=http://ks.internal/bootstrap/ks/7.ks
>>>> 
>>>> 
>>>>> On Friday, 6 November 2015 16:19:23 UTC, Mihai Cristian Satmarean wrote:
>>>>> @Michael, thanks! This might be exactly what I am looking for in this 
>>>>> stage, but I cannot find an example of how to insert the arguments at 
>>>>> boot to point to the remote kickstart.
>>>>> 
>>>>> Mihai Satmarean
>>>>> 
>>>>> 
>>>>> miercuri, 7 ianuarie 2015, 18:10:38 UTC+1, Michael DeHaan a scris:
>>>>>> 
>>>>>> If you don't want to bake in the ks.cfg (for instance, if you have 
>>>>>> different install profiles coming off the same OS), supplying the kernel 
>>>>>> argument ks=http://server.example.com/foo.ks also works.
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>>> On Wed, Jan 7, 2015 at 11:28 AM, Earl Robinson <[email protected]> 
>>>>>>> wrote:
>>>>>>> Parimal,
>>>>>>> 
>>>>>>> To use kickstart you first need to present a boot media which is 
>>>>>>> configured to pull the kickstart file
>>>>>>> See: 
>>>>>>> http://www.centos.org/docs/5/html/5.2/Installation_Guide/s1-kickstart2-howuse.html
>>>>>>> 
>>>>>>> You can use ansible to present the VM with such bootable media by 
>>>>>>> launching it in a VLAN with a PXE boot server which will present the 
>>>>>>> media, or by presenting the VM with a CD image with the kickstart file 
>>>>>>> built in.
>>>>>>> 
>>>>>>> I've gone the CD image route with ansible, you can specify a cd image 
>>>>>>> to boot like this:
>>>>>>> 
>>>>>>> vsphere_guest:
>>>>>>>   vm_hardware:
>>>>>>>     vm_cdrom:
>>>>>>>       type: "iso"
>>>>>>>       iso_path: "DatastoreName/cd-image.iso"
>>>>>>> 
>>>>>>> Of course you need to give the vsphere_guest module all other required 
>>>>>>> arguments, but this is the simplest way I've found to kiskstart a vm 
>>>>>>> using ansible.
>>>>>>> 
>>>>>>> -earl
>>>>>>> 
>>>>>>> 
>>>>>>>> On Tue, Jan 6, 2015 at 4:07 AM, Patel Parimal <[email protected]> 
>>>>>>>> wrote:
>>>>>>>> Hi,
>>>>>>>> I am newbie to Ansible. 
>>>>>>>> 
>>>>>>>> I have gone through the online documentation and examples for creating 
>>>>>>>> new VM on Ansible Docs - vsphere_guest 
>>>>>>>> (http://docs.ansible.com/vsphere_guest_module.html).
>>>>>>>> 
>>>>>>>> I want to automate VM creation and OS installation process using 
>>>>>>>> Ansible.
>>>>>>>> 
>>>>>>>> Currently I have VMWare ESXi available which doesn't support VM 
>>>>>>>> cloning, so I need to create a new VM every time from scratch and 
>>>>>>>> install OS(RHEL 6) into it.
>>>>>>>> 
>>>>>>>> Is there any way to provide kickstart file URL in Ansible Playbook 
>>>>>>>> (for example, static HTTP URL like http://192.168.0.1/ks/ks.cfg) so 
>>>>>>>> after newly built VM is powered on, OS will be installed into it ?
>>>>>>>> 
>>>>>>>> Thanks and regards,
>>>>>>>> Parimal
>>>>>>>> -- 
>>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>>> Groups "Ansible Project" group.
>>>>>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>>>>>> an email to [email protected].
>>>>>>>> To post to this group, send email to [email protected].
>>>>>>>> To view this discussion on the web visit 
>>>>>>>> https://groups.google.com/d/msgid/ansible-project/da56aeef-01f0-41f6-8dc9-3cd1bdd138d5%40googlegroups.com.
>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>> 
>>>>>>> -- 
>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>> Groups "Ansible Project" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>>>>> an email to [email protected].
>>>>>>> To post to this group, send email to [email protected].
>>>>>>> To view this discussion on the web visit 
>>>>>>> https://groups.google.com/d/msgid/ansible-project/CABGf5APRF_HeN%3Dgyvh0UGdBP%2BV8AeLsaXZZR1SYX833C17wrkQ%40mail.gmail.com.
>>>>>>> 
>>>>>>> For more options, visit https://groups.google.com/d/optout.
> 
> -- 
> You received this message because you are subscribed to a topic in the Google 
> Groups "Ansible Project" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/ansible-project/Holm0CFBbLo/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to 
> [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/ansible-project/6fe8e245-4544-4310-a31a-e4ff2eed8f18%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/4E8116A2-4337-4ED7-ADD5-5E7ABA9742CF%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to