[Users] Cloud-init for Windows

Itamar Heim iheim at redhat.com
Mon Apr 7 10:54:53 EDT 2014


On 04/07/2014 04:59 PM, Tejesh M wrote:
> Hi,
>
> I tried as you suggested, but floppy is not getting attached it seems.
> below is the code
>
>
>
> *_Steps followed:_*
>
> I. Create windows VM
> II. installed host agent
> III. *To seal a Windows virtual machine with sysprep*

i assume this is a windows 7? make sure to start it with a floppy (say, 
virtio-win.vfd) prior to sealing it, so it will have the floppy driver 
(its not enabled by default in windows 7).
there may also have been some registy needed in windows 7 to enable 
sysprep via floppy.

>
>  1. In the Windows virtual machine to be used as a template, open a
>     command line terminal and type *regedit*.
>  2. The *Registry Editor* window displays. On the left pane, expand
>     *HKEY_LOCAL_MACHINE* → *SYSTEM* → *SETUP*.
>  3. On the main window, right click to add a new string value using
>     *New* → *String Value*. Right click on the string value file and
>     select *Modify*. When the *Edit String* dialog box displays, fill in
>     the provided text boxes:
>       * Value name: UnattendFile
>       * Value data: a:\sysprep.xml
>  4. Launch sysprep from C:\Windows\System32\sysprep\sysprep.exe
>       * Under *System Cleanup Action*, select *Enter System
>         Out-of-Box-Experience (OOBE)*.
>       * Tick the *Generalize* checkbox if you need to change the
>         computer's system identification number (SID).
>       * Under *Shutdown Options*, select *Shutdown*.
>
> Click *OK*. The virtual machine will now go through the sealing process
> and shut down automatically.
>
>
>
> IV.
>
>
>    org.ovirt.engine.sdk.decorators.VM vm1 =  api.getVMs().get(vmName);
>    Payloads payloads = new Payloads();
>    Payload payload = new Payload();
>    payload.setType("floppy");
>    Files payloadFiles = new Files();
>    File payloadFile = new File();
>    payloadFile.setName("sysprep.xml");
>    payloadFile.setContent("<?xml version=\"1.0\" encoding=\"utf-8\"?>
> <unattend xmlns=\"urn:schemas-microsoft-com:unattend\"> *FILE CONTENT
> *"</unattend>");
>    payloadFiles.getFiles().add(payloadFile);
>    payload.setFiles(payloadFiles);
>    vm1.setPayloads(payloads);
>    Action action = new Action();
>    vm1.start(action);
>
>
>
> On Thu, Mar 27, 2014 at 3:52 PM, Itamar Heim <iheim at redhat.com
> <mailto:iheim at redhat.com>> wrote:
>
>     On 03/27/2014 06:18 AM, Tejesh M wrote:
>
>         Can you guide me on sysprep with sample code & sysprep file?
>
>
>     just launch a windows VM, look at the generated sysprep file we pass
>     to the VM via the floppy disk.
>     then pass it as a payload as-is.
>     then try to change what you want.
>
>
>         On Thu, Mar 27, 2014 at 3:16 PM, Itamar Heim <iheim at redhat.com
>         <mailto:iheim at redhat.com>
>         <mailto:iheim at redhat.com <mailto:iheim at redhat.com>>> wrote:
>
>              On 03/27/2014 05:33 AM, Tejesh M wrote:
>
>                  Hi All,
>
>                  I was doing google to see if i can set
>         Hostname,Password & IP
>                  details
>                  for Windows server from RHEV-M. I got to know that we
>         can create VM
>                  Payload & send that to Windows VM (installed with
>         Cloud-init)
>
>                  Refer this link
>         http://www.cloudbase.it/cloud-____init-for-windows-instances/#____comment-9411
>         <http://www.cloudbase.it/cloud-__init-for-windows-instances/#__comment-9411>
>
>         <http://www.cloudbase.it/__cloud-init-for-windows-__instances/#comment-9411
>         <http://www.cloudbase.it/cloud-init-for-windows-instances/#comment-9411>>
>
>                  Cloud-init expects Meta-data & User-Data file to be
>         sent either via
>                  Config Drive or via HTTP. I'm trying to achive this via
>         ConfigDrive
>                  (created using VM Payload).
>
>
>              note you can also just pass the full sysprep file as a payload
>              yourself via the API, and set all these items in it.
>
>
>                  But i'm wondering what should be the format of this two
>         files
>                  (Meta-data
>                  & User-data). Have any1  tried this? If yes, would
>         request to share
>                  sample for both the files with setting Hostname,
>         Password & IP
>                  details.
>
>
>              just launch a linux VM and check the file we create?
>
>
>                  Java code:
>
>                      org.ovirt.engine.sdk.____decorators.VM vm1 =
>                    api.getVMs().get(vmName);
>                                  Payloads payloads = new Payloads();
>                                  Payload payload = new Payload();
>                                  payload.setType("cdrom");
>
>                                  Files payloadFiles = new Files();
>                                  File payloadFile = new File();
>                                  payloadFile.setName("meta-____data.txt");
>
>         payloadFile.setContent("____hostname:"+vmName);
>
>         payloadFiles.getFiles().add(____payloadFile);
>                                  payload.setFiles(payloadFiles)____;
>                                  vm1.setPayloads(payloads);
>                                  Action action = new Action();
>                                  vm1.start(action);
>
>                  --
>                  Thanks & Regards
>                  Tejesh
>
>
>
>
>
>         --
>         Thanks & Regards
>         Tejesh
>
>
>
>
>
> --
> Thanks & Regards
> Tejesh



More information about the Users mailing list