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

Juan Hernandez jhernand at redhat.com
Fri Feb 14 05:22:02 EST 2014


On 02/14/2014 11:03 AM, Tejesh M wrote:
> 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?
> 

Ok, I thought you were using RHEV-M 3.3, but apparently you are using
3.2. Can you verify?

# rpm -qa 'rhevm*'

If you are using 3.2 then you will need to update to 3.3 in order to
have cloud-init support.

> 
> On Fri, Feb 14, 2014 at 3:06 PM, Juan Hernandez <jhernand at redhat.com
> <mailto: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>
>     > <mailto: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>>
>     >     > <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 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>>
>     >     <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 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> <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>>>
>     >     >     >>>> <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 <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>>>
>     >     >     >>>>     <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 <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>>>
>     >     >     <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 <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>>>
>     >     >     >>>>     <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 <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>>>
>     >     >     >>>>     <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
>     <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>>>
>     >     >     <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 <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
> 
> 
> _______________________________________________
> 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