[Users] [rhevm-api] Assign IP address to VM using Java SDK
Tejesh M
tejeshmk at gmail.com
Thu Feb 13 11:15:48 EST 2014
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..
On 13 Feb 2014 20:32, "Juan Hernandez" <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>
> 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");
> >>> 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>> 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>>
> >>>> >>> To: users at ovirt.org <mailto:users at ovirt.org>
> >>>> >>> Cc: "Juan Antonio Hernandez Fernandez" <jhernand at redhat.com
> >>>> <mailto:jhernand at redhat.com>>, rhevm-api at lists.fedorahosted.org
> >>>> <mailto:rhevm-api at lists.fedorahosted.org>, "Tejesh M"
> >>>> >>> <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.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/users/attachments/20140213/573a9ceb/attachment-0001.html>
More information about the Users
mailing list