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.
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(a)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(a)redhat.com>
>>>> To: users(a)ovirt.org
>>>> Cc: "Juan Antonio Hernandez Fernandez"
<jhernand(a)redhat.com>,
> rhevm-api(a)lists.fedorahosted.org, "Tejesh M"
>>>> <tejeshmk(a)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(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/users
--
Mit freundlichen Grüßen / Regards
Sven Kieske
Systemadministrator
Mittwald CM Service GmbH & Co. KG
Königsberger Straße 6
32339 Espelkamp
T: +49-5772-293-100
F: +49-5772-293-333
Geschäftsführer: Robert Meyer
St.Nr.: 331/5721/1033, USt-IdNr.: DE814773217, HRA 6640, AG Bad Oeynhausen
Komplementärin: Robert Meyer Verwaltungs GmbH, HRB 13260, AG Bad Oeynhausen