[Users] [rhevm-api] Assign IP address to VM using Java SDK

Juan Hernandez jhernand at redhat.com
Thu Feb 13 14:17:51 UTC 2014


On 02/13/2014 02:58 PM, Sven Kieske wrote:
> Hi,
> 
> what cloud-init version and which OS do you run inside the vm?
> 
> 
> background:
> the ovirt-payload function generates an iso file from your cloud-init
> data and attaches this to the vm. this feature is just working if you
> got cloud-init >= 0.7.2 inside the vm, which is not available e.g. in
> centos < 6.5 and ubuntu 12.04.
> 
> I don't know which data format the java sdk uses as default, so make
> sure you are passing XML, not JSON.
> 

The Java SDK always uses XML.

> HTH
> 
> Am 13.02.2014 14:39, schrieb Tejesh M:
>> Hi All,
>>
>> Thanks alot.
>>
>> I have created one VM with minimal installation & installed cloud-init
>> package. And, converted that VM into Template. Then executed the code given
>> in http://lists.ovirt.org/pipermail/users/2014-February/021302.html , but
>> no luck, the code is not setting root password.
>>
>> Also, there is no option to set *Hostname *for the VM.
>>
>>
>>
>> *Code:*
>>
>>         /*********************Begin Customize VM*********************/
>>         // Generate the random password, using whatever mechanism you
>>           // prefer:
>>           String password = "cJql3P9XLQG4drCYVG/6Q/";
>>
>>           // You need to know the name of the template, the cluster and
>>           // the VM you are going to create:
>>           String templateName = "rhel2_temp";
>>           String clusterName = "testCluster";
>>           String vmName = "myvm";
>>
>>           // Prepare the data to create the VM from the template:
>>           org.ovirt.engine.sdk.entities.Template templateData = new
>> Template();
>>           templateData.setName(templateName);
>>           org.ovirt.engine.sdk.entities.Cluster clusterData = new Cluster();
>>           clusterData.setName(clusterName);
>>           org.ovirt.engine.sdk.entities.VM vmDataForCreate = new VM();
>>           vmDataForCreate.setName(vmName);
>>           vmDataForCreate.setCluster(clusterData);
>>           vmDataForCreate.setTemplate(templateData);
>>
>>           // Send the request to create the VM to the server:
>>           api.getVMs().add(vmDataForCreate);
>>           String state;
>>           // White till the VM is down (it will be locked for a while):
>>           for (;;) {
>>              state = api.getVMs().get(vmName).getStatus().getState();
>>             if ("down".equals(state)) {
>>               break;
>>             }
>>             Thread.sleep(1000);
>>           }
>>           System.out.println("System Status:"+state);
>>           // Populate parameters for the action to start the VM with
>> cloud-init:
>>           org.ovirt.engine.sdk.entities.User userData = new User();
>>           userData.setUserName("root");
>>           userData.setPassword(password);
>>           Users usersData = new Users();
>>           usersData.getUsers().add(userData);
>>           CloudInit cloudData = new CloudInit();
>>           cloudData.setUsers(usersData);
>>
>>           Initialization initData = new Initialization();
>>           initData.setCloudInit(cloudData);
>>           VM vmDataForStart = new VM();
>>           vmDataForStart.setInitialization(initData);
>>           Action actionData = new Action();
>>           actionData.setVm(vmDataForStart);
>>
>>           // Send the request to start the VM to the server:
>>           api.getVMs().get(vmName).start(actionData);
>>           System.out.println("After :
>> "+api.getVMs().get(vmName).getStatus());
>>           /*********************End Customize VM*********************/
>>
>>
>>
>> Thanks & Regards,
>> Tejesh
>>
>>
>>
>> On Thu, Feb 13, 2014 at 2:26 PM, Juan Hernandez <jhernand at redhat.com> wrote:
>>
>>> On 02/13/2014 09:29 AM, Shahar Havivi wrote:
>>>> On 13.02.14 00:59, Oved Ourfalli wrote:
>>>>>
>>>>>
>>>>> ----- Original Message -----
>>>>>> From: "Shahar Havivi" <shaharh at redhat.com>
>>>>>> To: users at ovirt.org
>>>>>> Cc: "Juan Antonio Hernandez Fernandez" <jhernand at redhat.com>,
>>> rhevm-api at lists.fedorahosted.org, "Tejesh M"
>>>>>> <tejeshmk at gmail.com>
>>>>>> Sent: Wednesday, February 12, 2014 11:22:20 PM
>>>>>> Subject: Re: [Users] [rhevm-api] Assign IP address to VM using Java SDK
>>>>>>
>>>>>> On 12.02.14 22:55, Itamar Heim wrote:
>>>>>>> On 02/12/2014 03:14 PM, Tejesh M wrote:
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> Can anyone share sample code on how to assign IP address to guest os
>>> &
>>>>>>>> changing the root password while creating VM from Template using
>>> Java SDK?
>>>>>> Hi Tejesh,
>>>>>> You should start here:
>>>>>> http://www.ovirt.org/Api
>>>>>> This link will explain the basics for fetching VM via the API using
>>> HTTP via
>>>>>> curl command line.
>>>>>>
>>>>>> Every VM have a collection of networks and manipulating them can be
>>> seeing
>>>>>> here with the REST API examples:
>>>>>> http://www.ovirt.org/Features/Design/Network/SetupNetworks#REST
>>>>>> the section for you is "Attaching a network to a NIC" under the REST
>>>>>> category.
>>>>>>
>>>>>> Shahar Havivi.
>>>>>>
>>>>>
>>>>> Actually it looks like Tejesh is referring to the Guests and not the
>>> hosts, so you can use cloud-init in order to do that.
>>>>> See more in "http://www.ovirt.org/Features/Cloud-Init_Integration".
>>>>> If the VM's operating system is defined as some kind of Linux, then
>>> you'll be able to set some stuff using cloud-init, either via the Run-Once
>>> Dialog, or in the regular VM properties dialog.
>>>>>
>>>>> Omer - we have REST API support for cloud-init, right?
>>>> Yes, more on that can be found here:
>>>> http://www.ovirt.org/Features/vm-init-persistent
>>>>>
>>>
>>> Tajesh, you have a detailed example of how to set the password in the
>>> following message:
>>>
>>> http://lists.ovirt.org/pipermail/users/2014-February/021302.html
>>>
>>> Setting the IP address is similar.
>>>
>>> --
>>> Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta
>>> 3ºD, 28016 Madrid, Spain
>>> Inscrita en el Reg. Mercantil de Madrid - C.I.F. B82657941 - Red Hat S.L.
>>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at ovirt.org
>> http://lists.ovirt.org/mailman/listinfo/users
>>
> 


-- 
Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta
3ºD, 28016 Madrid, Spain
Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L.



More information about the Users mailing list