Actually, i want to automate the vm provisioning through java sdk.
and
this urgent requirement. Is it possible to automate setting hostname,
root password n nic info by any means in 3.3? Also in windows
administration password as similar to linux.. kindly help as im new to
this..
Yes, setting the hostname, root password and NIC info is possible in
3.3, using cloud-init and the Java SDK. I tested this with 3.3 and it
works correctly.
As you are having problems I suggest to try it manually, from the GUI,
if it doesn't work then please report the details, so that we can
diagnose and fix it.
Once it works manually from the GUI, we can see why it doesn't work with
the SDK, but we will need the output generated when running in debug mode.
On 13 Feb 2014 20:32, "Juan Hernandez"
<jhernand(a)redhat.com
<mailto:jhernand@redhat.com>> wrote:
On 02/13/2014 03:59 PM, Shahar Havivi wrote:
> On 13.02.14 20:17, Tejesh M wrote:
>> 1. The Version is RHEV-M 3.3 & Cloud-init is
>> cloud-init-0.6.3-0.12.bzr532.el6.noarch
>>
>> 2. In Webadmin, i don't find any option to set Cloud-init data's.
I checked
>> under New VM->Initial Run.. Am i looking at the right place?
>> How to enable cloud-init support in engine?
> You will not found it since you are working in 3.3 and this
feature presented
> in 3.4.
> In 3.3 you can try to set the Cloud-Init via the Run-Once button.
>
In 3.3 you need first to create the VM. Once it is created select it,
click the "Run Once" button, then click on the plus sign next to
"Initial Run", check the "Cloud-Init" box, and populate the
fields
you want.
>>
>> I have installed cloud-init package in RHEV-M & also in Template.
>>
>> Please suggest.
>>
>>
>> On Thu, Feb 13, 2014 at 7:31 PM, Juan Hernandez
<jhernand(a)redhat.com <mailto:jhernand@redhat.com>> wrote:
>>
>>> On 02/13/2014 02:39 PM, Tejesh M wrote:
>>>> 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.
>>>>
>>>
>>> What version of the engine are you running? I may not have the
required
>>> cloud-init support.
>>>
>>> Try to run the application in debug mode:
>>>
>>> Api api = new Api(
>>> "https://whatever/api",
>>> "user@domain",
>>> "password",
>>> null,
>>> null,
>>> null,
>>> null,
>>> true,
>>> null,
>>> true // <- This is to enable debug mode
>>> );
>>>
>>> It will send to the log the actual XML documents sent to the
server. We
>>> can use it to see if the request is generated correctly.
>>>
>>> It may also happen that cloud-init support isn't working
correctly. To
>>> verify this try to use the cloud-init support manually from
webadmin.
>>> Does it work from there?
>>>
>>>> Also, there is no option to set *Hostname *for the VM.
>>>>
>>>
>>> To set the host name you need to add something like this:
>>>
>>> Host hostData = new Host();
>>> hostData.setAddress("the.host.name
<
http://the.host.name>");
>>> cloudData.setHost(hostData);
>>>
>>>>
>>>>
>>>> _*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 <mailto:jhernand@redhat.com>
>>>> <mailto:jhernand@redhat.com
<mailto:jhernand@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
<mailto:shaharh@redhat.com>
>>>> <mailto:shaharh@redhat.com
<mailto:shaharh@redhat.com>>>
>>>> >>> To: users(a)ovirt.org <mailto:users@ovirt.org>
<mailto:users@ovirt.org <mailto:users@ovirt.org>>
>>>> >>> Cc: "Juan Antonio Hernandez Fernandez"
<jhernand(a)redhat.com <mailto:jhernand@redhat.com>
>>>> <mailto:jhernand@redhat.com
<mailto:jhernand@redhat.com>>>,
rhevm-api(a)lists.fedorahosted.org
<mailto:rhevm-api@lists.fedorahosted.org>
>>>> <mailto:rhevm-api@lists.fedorahosted.org
<mailto:rhevm-api@lists.fedorahosted.org>>, "Tejesh M"
>>>> >>> <tejeshmk(a)gmail.com
<mailto:tejeshmk@gmail.com>
<mailto:tejeshmk@gmail.com <mailto:tejeshmk@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.
>>>
>>
>>
>>
>> --
>> Thanks & Regards
>> Tejesh
> _______________________________________________
> Users mailing list
> Users(a)ovirt.org <mailto:Users@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.
_______________________________________________
Users mailing list
Users(a)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.