<div dir="ltr"><div><div>1. The Version is RHEV-M 3.3 &amp; Cloud-init is cloud-init-0.6.3-0.12.bzr532.el6.noarch <br><br></div>2. In Webadmin, i don&#39;t find any option to set Cloud-init data&#39;s. I checked under New VM-&gt;Initial Run.. Am i looking at the right place?<br>
</div><div>How to enable cloud-init support in engine?<br><br></div><div>I have installed cloud-init package in RHEV-M &amp; also in Template.<br><br></div><div>Please suggest.<br></div></div><div class="gmail_extra"><br>
<br><div class="gmail_quote">On Thu, Feb 13, 2014 at 7:31 PM, Juan Hernandez <span dir="ltr">&lt;<a href="mailto:jhernand@redhat.com" target="_blank">jhernand@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 02/13/2014 02:39 PM, Tejesh M wrote:<br>
&gt; Hi All,<br>
&gt;<br>
&gt; Thanks alot.<br>
&gt;<br>
&gt; I have created one VM with minimal installation &amp; installed cloud-init<br>
&gt; package. And, converted that VM into Template. Then executed the code<br>
&gt; given in<br>
&gt; <a href="http://lists.ovirt.org/pipermail/users/2014-February/021302.html" target="_blank">http://lists.ovirt.org/pipermail/users/2014-February/021302.html</a> , but<br>
&gt; no luck, the code is not setting root password.<br>
&gt;<br>
<br>
What version of the engine are you running? I may not have the required<br>
cloud-init support.<br>
<br>
Try to run the application in debug mode:<br>
<br>
&nbsp; Api api = new Api(<br>
&nbsp; &nbsp; &quot;<a href="https://whatever/api" target="_blank">https://whatever/api</a>&quot;,<br>
&nbsp; &nbsp; &quot;user@domain&quot;,<br>
&nbsp; &nbsp; &quot;password&quot;,<br>
&nbsp; &nbsp; null,<br>
&nbsp; &nbsp; null,<br>
&nbsp; &nbsp; null,<br>
&nbsp; &nbsp; null,<br>
&nbsp; &nbsp; true,<br>
&nbsp; &nbsp; null,<br>
&nbsp; &nbsp; true &nbsp;// &lt;- This is to enable debug mode<br>
&nbsp; );<br>
<br>
It will send to the log the actual XML documents sent to the server. We<br>
can use it to see if the request is generated correctly.<br>
<br>
It may also happen that cloud-init support isn&#39;t working correctly. To<br>
verify this try to use the cloud-init support manually from webadmin.<br>
Does it work from there?<br>
<br>
&gt; Also, there is no option to set *Hostname *for the VM.<br>
&gt;<br>
<br>
To set the host name you need to add something like this:<br>
<br>
&nbsp; Host hostData = new Host();<br>
&nbsp; hostData.setAddress(&quot;<a href="http://the.host.name" target="_blank">the.host.name</a>&quot;);<br>
&nbsp; cloudData.setHost(hostData);<br>
<br>
&gt;<br>
&gt;<br>
&gt; _*Code:*_<br>
&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; /*********************Begin Customize VM*********************/<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; // Generate the random password, using whatever mechanism you<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // prefer:<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String password = &quot;cJql3P9XLQG4drCYVG/6Q/&quot;;<br>
&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // You need to know the name of the template, the cluster and<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // the VM you are going to create:<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String templateName = &quot;rhel2_temp&quot;;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String clusterName = &quot;testCluster&quot;;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String vmName = &quot;myvm&quot;;<br>
&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Prepare the data to create the VM from the template:<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; org.ovirt.engine.sdk.entities.Template templateData = new<br>
&gt; Template();<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; templateData.setName(templateName);<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; org.ovirt.engine.sdk.entities.Cluster clusterData = new Cluster();<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; clusterData.setName(clusterName);<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; org.ovirt.engine.sdk.entities.VM vmDataForCreate = new VM();<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; vmDataForCreate.setName(vmName);<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; vmDataForCreate.setCluster(clusterData);<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; vmDataForCreate.setTemplate(templateData);<br>
&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Send the request to create the VM to the server:<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; api.getVMs().add(vmDataForCreate);<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String state;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // White till the VM is down (it will be locked for a while):<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for (;;) {<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;state = api.getVMs().get(vmName).getStatus().getState();<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (&quot;down&quot;.equals(state)) {<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; break;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Thread.sleep(1000);<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.println(&quot;System Status:&quot;+state);<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Populate parameters for the action to start the VM with<br>
&gt; cloud-init:<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; org.ovirt.engine.sdk.entities.User userData = new User();<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; userData.setUserName(&quot;root&quot;);<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; userData.setPassword(password);<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Users usersData = new Users();<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; usersData.getUsers().add(userData);<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CloudInit cloudData = new CloudInit();<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cloudData.setUsers(usersData);<br>
&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Initialization initData = new Initialization();<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; initData.setCloudInit(cloudData);<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; VM vmDataForStart = new VM();<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; vmDataForStart.setInitialization(initData);<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Action actionData = new Action();<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; actionData.setVm(vmDataForStart);<br>
&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // Send the request to start the VM to the server:<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; api.getVMs().get(vmName).start(actionData);<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.println(&quot;After :<br>
&gt; &quot;+api.getVMs().get(vmName).getStatus());<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /*********************End Customize VM*********************/<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Thanks &amp; Regards,<br>
&gt; Tejesh<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Thu, Feb 13, 2014 at 2:26 PM, Juan Hernandez &lt;<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a><br>
&gt; &lt;mailto:<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a>&gt;&gt; wrote:<br>
&gt;<br>
&gt; &nbsp; &nbsp; On 02/13/2014 09:29 AM, Shahar Havivi wrote:<br>
&gt; &nbsp; &nbsp; &gt; On 13.02.14 00:59, Oved Ourfalli wrote:<br>
&gt; &nbsp; &nbsp; &gt;&gt;<br>
&gt; &nbsp; &nbsp; &gt;&gt;<br>
&gt; &nbsp; &nbsp; &gt;&gt; ----- Original Message -----<br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt; From: &quot;Shahar Havivi&quot; &lt;<a href="mailto:shaharh@redhat.com">shaharh@redhat.com</a><br>
&gt; &nbsp; &nbsp; &lt;mailto:<a href="mailto:shaharh@redhat.com">shaharh@redhat.com</a>&gt;&gt;<br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt; To: <a href="mailto:users@ovirt.org">users@ovirt.org</a> &lt;mailto:<a href="mailto:users@ovirt.org">users@ovirt.org</a>&gt;<br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt; Cc: &quot;Juan Antonio Hernandez Fernandez&quot; &lt;<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a><br>
&gt; &nbsp; &nbsp; &lt;mailto:<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a>&gt;&gt;, <a href="mailto:rhevm-api@lists.fedorahosted.org">rhevm-api@lists.fedorahosted.org</a><br>
&gt; &nbsp; &nbsp; &lt;mailto:<a href="mailto:rhevm-api@lists.fedorahosted.org">rhevm-api@lists.fedorahosted.org</a>&gt;, &quot;Tejesh M&quot;<br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt; &lt;<a href="mailto:tejeshmk@gmail.com">tejeshmk@gmail.com</a> &lt;mailto:<a href="mailto:tejeshmk@gmail.com">tejeshmk@gmail.com</a>&gt;&gt;<br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt; Sent: Wednesday, February 12, 2014 11:22:20 PM<br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt; Subject: Re: [Users] [rhevm-api] Assign IP address to VM using<br>
&gt; &nbsp; &nbsp; Java SDK<br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt;<br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt; On 12.02.14 22:55, Itamar Heim wrote:<br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt;&gt; On 02/12/2014 03:14 PM, Tejesh M wrote:<br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt;&gt;&gt; Hi,<br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt;&gt;&gt;<br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt;&gt;&gt; Can anyone share sample code on how to assign IP address to<br>
&gt; &nbsp; &nbsp; guest os &amp;<br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt;&gt;&gt; changing the root password while creating VM from Template<br>
&gt; &nbsp; &nbsp; using Java SDK?<br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt; Hi Tejesh,<br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt; You should start here:<br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt; <a href="http://www.ovirt.org/Api" target="_blank">http://www.ovirt.org/Api</a><br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt; This link will explain the basics for fetching VM via the API<br>
&gt; &nbsp; &nbsp; using HTTP via<br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt; curl command line.<br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt;<br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt; Every VM have a collection of networks and manipulating them can<br>
&gt; &nbsp; &nbsp; be seeing<br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt; here with the REST API examples:<br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt; <a href="http://www.ovirt.org/Features/Design/Network/SetupNetworks#REST" target="_blank">http://www.ovirt.org/Features/Design/Network/SetupNetworks#REST</a><br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt; the section for you is &quot;Attaching a network to a NIC&quot; under the REST<br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt; category.<br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt;<br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt; Shahar Havivi.<br>
&gt; &nbsp; &nbsp; &gt;&gt;&gt;<br>
&gt; &nbsp; &nbsp; &gt;&gt;<br>
&gt; &nbsp; &nbsp; &gt;&gt; Actually it looks like Tejesh is referring to the Guests and not<br>
&gt; &nbsp; &nbsp; the hosts, so you can use cloud-init in order to do that.<br>
&gt; &nbsp; &nbsp; &gt;&gt; See more in &quot;<a href="http://www.ovirt.org/Features/Cloud-Init_Integration" target="_blank">http://www.ovirt.org/Features/Cloud-Init_Integration</a>&quot;.<br>
&gt; &nbsp; &nbsp; &gt;&gt; If the VM&#39;s operating system is defined as some kind of Linux,<br>
&gt; &nbsp; &nbsp; then you&#39;ll be able to set some stuff using cloud-init, either via<br>
&gt; &nbsp; &nbsp; the Run-Once Dialog, or in the regular VM properties dialog.<br>
&gt; &nbsp; &nbsp; &gt;&gt;<br>
&gt; &nbsp; &nbsp; &gt;&gt; Omer - we have REST API support for cloud-init, right?<br>
&gt; &nbsp; &nbsp; &gt; Yes, more on that can be found here:<br>
&gt; &nbsp; &nbsp; &gt; <a href="http://www.ovirt.org/Features/vm-init-persistent" target="_blank">http://www.ovirt.org/Features/vm-init-persistent</a><br>
&gt; &nbsp; &nbsp; &gt;&gt;<br>
&gt;<br>
&gt; &nbsp; &nbsp; Tajesh, you have a detailed example of how to set the password in the<br>
&gt; &nbsp; &nbsp; following message:<br>
&gt;<br>
&gt; &nbsp; &nbsp; <a href="http://lists.ovirt.org/pipermail/users/2014-February/021302.html" target="_blank">http://lists.ovirt.org/pipermail/users/2014-February/021302.html</a><br>
&gt;<br>
&gt; &nbsp; &nbsp; Setting the IP address is similar.<br>
&gt;<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta<br>
3ºD, 28016 Madrid, Spain<br>
Inscrita en el Reg. Mercantil de Madrid &ndash; C.I.F. B82657941 - Red Hat S.L.<br>
</font></span></blockquote></div><br><br clear="all"><br>-- <br><div>Thanks &amp; Regards</div>
<div>Tejesh</div>
</div>