[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