Custom ISO, that's generic. Think something like iPXE. Boots, kickstart 
talks to a web service, web service provides tailored Kickstart file.

On Thursday, 21 April 2016 16:01:44 UTC+1, Dibyendu Paul wrote:
>
> I have a question on this.
> In the above example I see only one node that was used for deployment 
> through custom boot iso but in case there are multiple nodes? the same 
> kickstart iso cannot be used right. because the IP address for each node 
> would be different. how to dynamically build VMs by reading IPs dynamically?
>
> On Monday, 29 February 2016 06:55:20 UTC+5:30, Jason Hiatt wrote:
>>
>> The kickstart path should be set in your ISO
>>
>> It should look something like ks=http://example.com/ks.php kssendmac
>>
>> The kssendmac parameter sends the VMs MAC address to the kickstart file. 
>>
>> Here is an example play and and scripts I use. 
>>
>>
>> https://github.com/OneMainF/vmware-rhel-server-builder/blob/master/example_build.yaml
>>
>> Hope this helps. 
>>
>> On Feb 28, 2016, at 11:39, afroz. khan <[email protected]> wrote:
>>
>> Hi Jason,
>>
>> Thanks for your quick response....
>> Now i have made custom iso of linux. and upload it esxi datastore. do i 
>> need to add any parameter in ansible playbook for kickstart or just need to 
>> run same play book after define the customer iso path ? 
>>
>>  vm_cdrom:
>>             type: "iso"
>>             iso_path: "*datastore1/boot.iso"*
>>
>> *boot.iso* is a RHEL 7 iso file which i have customized..
>>
>>
>> Regards,
>> Afroz Khan
>>
>>
>> On Sat, Feb 27, 2016 at 6:06 AM, Jason Hiatt <[email protected]> wrote:
>>
>>> 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
>>>>>>>>>>  
>>>>>>>>>> <https://groups.google.com/d/msgid/ansible-project/da56aeef-01f0-41f6-8dc9-3cd1bdd138d5%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>>>> .
>>>>>>>>>> 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
>>>>>>>>>  
>>>>>>>>> <https://groups.google.com/d/msgid/ansible-project/CABGf5APRF_HeN%3Dgyvh0UGdBP%2BV8AeLsaXZZR1SYX833C17wrkQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>>>> .
>>>>>>>>>
>>>>>>>>> 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
>>>  
>>> <https://groups.google.com/d/msgid/ansible-project/6fe8e245-4544-4310-a31a-e4ff2eed8f18%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> 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/4E8116A2-4337-4ED7-ADD5-5E7ABA9742CF%40gmail.com
>>>  
>>> <https://groups.google.com/d/msgid/ansible-project/4E8116A2-4337-4ED7-ADD5-5E7ABA9742CF%40gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> 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/CABrh7Bo6eNfb-o1yVMmd%2B5BeRUba9XXsC7YsU7o6_PNVVob3Kw%40mail.gmail.com
>>  
>> <https://groups.google.com/d/msgid/ansible-project/CABrh7Bo6eNfb-o1yVMmd%2B5BeRUba9XXsC7YsU7o6_PNVVob3Kw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>> 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/6ec59c3a-135f-4677-b807-f53933fb145c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to