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

Tejesh M tejeshmk at gmail.com
Fri Feb 14 05:03:42 EST 2014


In the two screenshots which i shared earlier, in that "No Cloud-Init
2.png" is "Run Once" screenshot, it has only 4 options,

i. Boot Options
ii. Host
iii. Display Protocol
iv. Custom Properties

After selecting VM, when i click Run Once, that screen is getting appears
as in screenshot, no option for cloud-init.

Do i need to update the RHEV-M?


On Fri, Feb 14, 2014 at 3:06 PM, Juan Hernandez <jhernand at redhat.com> wrote:

> On 02/14/2014 10:30 AM, Tejesh M wrote:
> > Hi,
> >
> > There is no option in "Initial Run" to set root password & other stuff.
> > Have attached screenshots & debug output. Is there any configuration
> > needs to be done? or any cloud-init service needs to be started? How do
> > integrate cloud-init with RHEV-M?
> >
> > Thanks & Regards,
> > Tejesh
> >
>
> You are using the "Run" and "New" options, but you have to use the "Run
> Once" option. There, in "Run Once" is where we have cloud-init support
> in 3.3.
>
> >
> > On Thu, Feb 13, 2014 at 9:50 PM, Juan Hernandez <jhernand at redhat.com
> > <mailto:jhernand at redhat.com>> wrote:
> >
> >     On 02/13/2014 05:15 PM, Tejesh M wrote:
> >     > 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 at redhat.com
> >     <mailto:jhernand at redhat.com>
> >     > <mailto:jhernand at redhat.com <mailto:jhernand at 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 at redhat.com <mailto:jhernand at redhat.com>
> >     <mailto:jhernand at redhat.com <mailto:jhernand at 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 at 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> <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 at redhat.com <mailto:jhernand at redhat.com>
> >     <mailto:jhernand at redhat.com <mailto:jhernand at redhat.com>>
> >     >     >>>> <mailto:jhernand at redhat.com <mailto:jhernand at redhat.com>
> >     <mailto:jhernand at redhat.com <mailto: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
> >     <mailto:shaharh at redhat.com>
> >     >     <mailto:shaharh at redhat.com <mailto:shaharh at redhat.com>>
> >     >     >>>>     <mailto:shaharh at redhat.com
> >     <mailto:shaharh at redhat.com> <mailto:shaharh at redhat.com
> >     <mailto:shaharh at redhat.com>>>>
> >     >     >>>>     >>> To: users at ovirt.org <mailto:users at ovirt.org>
> >     <mailto:users at ovirt.org <mailto:users at ovirt.org>>
> >     >     <mailto:users at ovirt.org <mailto:users at ovirt.org>
> >     <mailto:users at ovirt.org <mailto:users at ovirt.org>>>
> >     >     >>>>     >>> Cc: "Juan Antonio Hernandez Fernandez"
> >     >     <jhernand at redhat.com <mailto:jhernand at redhat.com>
> >     <mailto:jhernand at redhat.com <mailto:jhernand at redhat.com>>
> >     >     >>>>     <mailto:jhernand at redhat.com
> >     <mailto:jhernand at redhat.com> <mailto:jhernand at redhat.com
> >     <mailto:jhernand at redhat.com>>>>,
> >     >     rhevm-api at lists.fedorahosted.org
> >     <mailto:rhevm-api at lists.fedorahosted.org>
> >     >     <mailto:rhevm-api at lists.fedorahosted.org
> >     <mailto:rhevm-api at lists.fedorahosted.org>>
> >     >     >>>>     <mailto:rhevm-api at lists.fedorahosted.org
> >     <mailto:rhevm-api at lists.fedorahosted.org>
> >     >     <mailto:rhevm-api at lists.fedorahosted.org
> >     <mailto:rhevm-api at lists.fedorahosted.org>>>, "Tejesh M"
> >     >     >>>>     >>> <tejeshmk at gmail.com <mailto:tejeshmk at gmail.com>
> >     <mailto:tejeshmk at gmail.com <mailto:tejeshmk at gmail.com>>
> >     >     <mailto:tejeshmk at gmail.com <mailto:tejeshmk at gmail.com>
> >     <mailto:tejeshmk at gmail.com <mailto: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.
>



-- 
Thanks & Regards
Tejesh
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/users/attachments/20140214/dd674a6b/attachment-0001.html>


More information about the Users mailing list