<div dir="ltr"><div>Hi Juan,<br><br></div>I tried the following <br><div><div><div><br>&lt;action&gt;<br>
  &lt;vm&gt;<br>
    &lt;initialization&gt;<br>
      &lt;cloud_init&gt;<br>
        ...<br>
       &lt;files&gt;<br>          &lt;file&gt;<br>            &lt;name&gt;ignored&lt;/name&gt;<br>            &lt;content&gt;&lt;![CDATA[write_files:<br>    -content: |<br>        Some Content for my file<br>    path: /tmp/myfile<br>    permissions: &#39;0644&#39;]]&gt;&lt;/content&gt;<br>            &lt;type&gt;plaintext&lt;/type&gt;<br>          &lt;/file&gt;<br>        &lt;/files&gt;<span class="im"><br>
</span>      &lt;/cloud_init&gt;<br>
  &lt;custom_script&gt;&lt;![CDATA[<br>write_files:<br>    -content: |<br>        Some Content for my file<br>    path: /tmp/myfile<br>    permissions: &#39;0644&#39;]]&lt;/custom_script&gt;<br><br>    <br>But in that time i go the following errors from the api<br>Request syntactically incorrect. See the link description below for the correct usage:start a virtual machine in the system identified by the given idPOST<br>Content-Typeapplication/xml|json<br><br><br></div><div>If i change the xml format like <br><br>&lt;action&gt;<br>
  &lt;vm&gt;<br>
    &lt;initialization&gt;<br>
      &lt;cloud_init&gt;<br>
        ...<br>
       &lt;files&gt;<br>          &lt;file&gt;<br>            &lt;name&gt;ignored&lt;/name&gt;<br>            &lt;content&gt;&lt;![CDATA[write_files:<br>    -content: |<br>        Some Content for my file <br>    path: /tmp/myfile<br>    permissions: &#39;0644&#39;]]&gt;&lt;/content&gt;<br>            &lt;type&gt;plaintext&lt;/type&gt;<br>          &lt;/file&gt;<br>        &lt;/files&gt;<span class="im"><br>
</span>      &lt;/cloud_init&gt;<br>
  &lt;custom_script&gt;<br>write_files:<br>    -content: |<br>        Some Content for my file<br>    path: /tmp/myfile<br>    permissions: &#39;0644&#39;&lt;/custom_script&gt;<br><br></div><div>the cloud init part won&#39;t work even though we didn&#39;t get any errors from the api. Could you please check it ?<br><br></div><div><br></div></div></div></div><div class="gmail_extra"><br clear="all"><div><div dir="ltr"><span>-- <br></span>Regards
<br>Shanil
</div></div>
<br><div class="gmail_quote">On Thu, Sep 11, 2014 at 6:16 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"><span class="">On 09/11/2014 12:51 PM, Shanil S wrote:<br>
&gt; Hi Juan,<br>
&gt;<br>
</span><span class="">&gt; Also, i tried the following custom script from the ovirt panel and its<br>
&gt; working<br>
&gt;<br>
&gt; #cloud-config<br>
&gt; write_files:<br>
&gt;     -content: |<br>
&gt;         # THIS IS MY TEXT FILE<br>
&gt;         Some Content for my file<br>
&gt;     path: /tmp/myfile<br>
&gt;     permissions: &#39;0644&#39;<br>
&gt;<br>
&gt;<br>
&gt; but the same content script i tried from the ovir api call  like<br>
&gt;<br>
&gt; &lt;custom_script&gt;#cloud-config<br>
&gt; write_files:<br>
&gt;     -content: |<br>
&gt;         # THIS IS MY TEXT FILE<br>
&gt;         Some Content for my file<br>
&gt;     path: /tmp/myfile<br>
&gt;     permissions: &#39;0644&#39; &lt;/custom_script&gt;<br>
&gt;    &lt;/initialization&gt;<br>
&gt;<br>
&gt; But its not working, may be this is a bug in the  ovirt api function call ?<br>
&gt;<br>
<br>
</span>Currently the &quot;custom_script&quot; element doesn&#39;t work in combination with<br>
&quot;cloud-init&quot;. To make it work you will have to use the &quot;files&quot; element:<br>
<br>
&lt;action&gt;<br>
  &lt;vm&gt;<br>
    &lt;initialization&gt;<br>
      &lt;cloud_init&gt;<br>
        ...<br>
        &lt;files&gt;<br>
          &lt;file&gt;<br>
            &lt;name&gt;this is ignored&lt;/name&gt;<br>
            &lt;content&gt;&lt;![CDATA[your script]]&gt;&lt;/content&gt;<br>
<span class="">            &lt;type&gt;plaintext&lt;/type&gt;<br>
          &lt;/file&gt;<br>
        &lt;/files&gt;<br>
</span>      &lt;/cloud_init&gt;<br>
    &lt;/initialization&gt;<br>
  &lt;/vm&gt;<br>
&lt;/action&gt;<br>
<br>
As I wrote before there is a bug related to this:<br>
<br>
<a href="https://bugzilla.redhat.com/1138564" target="_blank">https://bugzilla.redhat.com/1138564</a><br>
<br>
If that bug is fixed (unlikely according to the last comments) then the<br>
&quot;custom_script&quot; element will start working, but for know I suggest you<br>
include your custom script in both places:<br>
<br>
&lt;action&gt;<br>
  &lt;vm&gt;<br>
    &lt;initialization&gt;<br>
      &lt;cloud_init&gt;<br>
        ...<br>
        &lt;files&gt;<br>
          &lt;file&gt;<br>
            &lt;name&gt;this is ignored&lt;/name&gt;<br>
            &lt;content&gt;&lt;![CDATA[your script]]&gt;&lt;/content&gt;<br>
<span class="">            &lt;type&gt;plaintext&lt;/type&gt;<br>
          &lt;/file&gt;<br>
        &lt;/files&gt;<br>
</span>      &lt;/cloud_init&gt;<br>
      &lt;custom_script&gt;&lt;![CDATA[your script]]&gt;&lt;/custom_script&gt;<br>
<span class="im HOEnZb">    &lt;/initialization&gt;<br>
  &lt;/vm&gt;<br>
&lt;/action&gt;<br>
<br>
&gt;<br>
&gt; --<br>
&gt; Regards<br>
&gt; Shanil<br>
&gt;<br>
</span><span class="im HOEnZb">&gt; On Thu, Sep 11, 2014 at 3:36 PM, Shanil S &lt;<a href="mailto:xielesshanil@gmail.com">xielesshanil@gmail.com</a><br>
</span><span class="im HOEnZb">&gt; &lt;mailto:<a href="mailto:xielesshanil@gmail.com">xielesshanil@gmail.com</a>&gt;&gt; wrote:<br>
&gt;<br>
&gt;     Hi Juan,<br>
&gt;<br>
</span><div class="HOEnZb"><div class="h5">&gt;     Okay sure..<br>
&gt;     The following xml i used<br>
&gt;<br>
&gt;     &lt;action&gt;<br>
&gt;             &lt;vm&gt;<br>
&gt;                 &lt;os&gt;<br>
&gt;                     &lt;boot dev=&#39;cdrom&#39;/&gt;<br>
&gt;                 &lt;/os&gt;<br>
&gt;                 &lt;initialization&gt;<br>
&gt;          &lt;cloud_init&gt;<br>
&gt;          &lt;host&gt;<br>
&gt;              &lt;address&gt;test2&lt;/address&gt;<br>
&gt;            &lt;/host&gt;<br>
&gt;<br>
&gt;           &lt;users&gt;<br>
&gt;              &lt;user&gt;<br>
&gt;                &lt;user_name&gt;root&lt;/user_name&gt;<br>
&gt;                &lt;password&gt;test&lt;/password&gt;<br>
&gt;              &lt;/user&gt;<br>
&gt;            &lt;/users&gt;<br>
&gt;           &lt;network_configuration&gt;<br>
&gt;           &lt;nics&gt;<br>
&gt;<br>
&gt;                &lt;nic&gt;<br>
&gt;                     &lt;interface&gt;virtio&lt;/interface&gt;<br>
&gt;                  &lt;name&gt;eth0&lt;/name&gt;<br>
&gt;                  &lt;boot_protocol&gt;none&lt;/boot_protocol&gt;<br>
&gt;                  &lt;on_boot&gt;true&lt;/on_boot&gt;<br>
&gt;                &lt;/nic&gt;<br>
&gt;              &lt;/nics&gt;<br>
&gt;              &lt;dns&gt;<br>
&gt;                &lt;servers&gt;<br>
&gt;                  &lt;host&gt;<br>
&gt;                    &lt;address&gt;x.x.x.x&lt;/address&gt;<br>
&gt;                  &lt;/host&gt;<br>
&gt;                &lt;/servers&gt;<br>
&gt;              &lt;/dns&gt;<br>
&gt;            &lt;/network_configuration&gt;<br>
&gt;          &lt;/cloud_init&gt;<br>
&gt;         &lt;custom_script&gt; #cloud-config<br>
&gt;<br>
&gt;     phone_home:<br>
&gt;     url: <a href="http://x.x.com/api/xx/api_receive.php" target="_blank">http://x.x.com/api/xx/api_receive.php</a><br>
&gt;<br>
&gt;     &lt;/custom_script&gt;<br>
&gt;        &lt;/initialization&gt;<br>
&gt;             &lt;/vm&gt;<br>
&gt;         &lt;/action&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;     --<br>
&gt;     Regards<br>
&gt;     Shanil<br>
&gt;<br>
&gt;     On Thu, Sep 11, 2014 at 1:48 PM, Juan Hernandez &lt;<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a><br>
</div></div><div class="HOEnZb"><div class="h5">&gt;     &lt;mailto:<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a>&gt;&gt; wrote:<br>
&gt;<br>
&gt;         On 09/11/2014 06:54 AM, Shanil S wrote:<br>
&gt;         &gt; Hi Juan,<br>
&gt;         &gt;<br>
&gt;         &gt; It seems the it doesn&#39;t contains the &quot;phone_home &quot; section in<br>
&gt;         the  cat<br>
&gt;         &gt; /mnt/openstack/latest/user_data<br>
&gt;         &gt;<br>
&gt;         &gt; the following is the output<br>
&gt;         &gt;<br>
&gt;         &gt; #cloud-config<br>
&gt;         &gt; ssh_pwauth: true<br>
&gt;         &gt; disable_root: 0<br>
&gt;         &gt; output:<br>
&gt;         &gt;   all: &#39;&gt;&gt; /var/log/cloud-init-output.log&#39;<br>
&gt;         &gt; user: root<br>
&gt;         &gt; password: admin123<br>
&gt;         &gt; chpasswd:<br>
&gt;         &gt;   expire: false<br>
&gt;         &gt; runcmd:<br>
&gt;         &gt; - &#39;sed -i &#39;&#39;/^datasource_list: /d&#39;&#39; /etc/cloud/cloud.cfg; echo<br>
&gt;         &gt; &#39;&#39;datasource_list:<br>
&gt;         &gt;   [&quot;NoCloud&quot;, &quot;ConfigDrive&quot;]&#39;&#39; &gt;&gt; /etc/cloud/cloud.cfg&#39;<br>
&gt;         &gt;<br>
&gt;         &gt;<br>
&gt;         &gt; but if i try with the<br>
&gt;         &gt;<br>
&gt;         &gt; &lt;files&gt;<br>
&gt;         &gt;           &lt;file&gt;<br>
&gt;         &gt;             &lt;name&gt;ignored&lt;/name&gt;<br>
&gt;         &gt;             &lt;content&gt;&lt;![CDATA[runcmd:<br>
&gt;         &gt;  - echo &#39;Test script !&#39; &gt; /iwashere_test.txt<br>
&gt;         &gt; ]]&gt;&lt;/content&gt;<br>
&gt;         &gt;             &lt;type&gt;plaintext&lt;/type&gt;<br>
&gt;         &gt;           &lt;/file&gt;<br>
&gt;         &gt;         &lt;/files&gt;<br>
&gt;         &gt;<br>
&gt;         &gt; then it will create the /iwashere_test.txt and write the<br>
&gt;         contents and in<br>
&gt;         &gt; that time the cat /mnt/openstack/latest/user_data is<br>
&gt;         &gt;<br>
&gt;         &gt; cat /mnt/openstack/latest/user_data<br>
&gt;         &gt; #cloud-config<br>
&gt;         &gt; ssh_pwauth: true<br>
&gt;         &gt; disable_root: 0<br>
&gt;         &gt; output:<br>
&gt;         &gt;   all: &#39;&gt;&gt; /var/log/cloud-init-output.log&#39;<br>
&gt;         &gt; user: root<br>
&gt;         &gt; password: admin123<br>
&gt;         &gt; chpasswd:<br>
&gt;         &gt;   expire: false<br>
&gt;         &gt; runcmd:<br>
&gt;         &gt; - &#39;sed -i &#39;&#39;/^datasource_list: /d&#39;&#39; /etc/cloud/cloud.cfg; echo<br>
&gt;         &gt; &#39;&#39;datasource_list:<br>
&gt;         &gt;   [&quot;NoCloud&quot;, &quot;ConfigDrive&quot;]&#39;&#39; &gt;&gt; /etc/cloud/cloud.cfg&#39;<br>
&gt;         &gt; runcmd:<br>
&gt;         &gt;  - echo &#39;Test script !&#39; &gt; /iwashere_test.txt<br>
&gt;         &gt;<br>
&gt;         &gt; so, i think the custom script section is not working, i am<br>
&gt;         attaching the<br>
&gt;         &gt; vm log as a screenshot.<br>
&gt;         &gt;<br>
&gt;<br>
&gt;         Can you share the XML document that you sent to the RESTAPI in<br>
&gt;         order to<br>
&gt;         populate the &quot;phone_home&quot; section?<br>
&gt;<br>
&gt;         &gt; On Wed, Sep 10, 2014 at 2:07 PM, Juan Hernandez &lt;<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a> &lt;mailto:<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a>&gt;<br>
</div></div><span class="im HOEnZb">&gt;         &gt; &lt;mailto:<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a> &lt;mailto:<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a>&gt;&gt;&gt; wrote:<br>
&gt;         &gt;<br>
</span><div class="HOEnZb"><div class="h5">&gt;         &gt;     On 09/10/2014 06:44 AM, Shanil S wrote:<br>
&gt;         &gt;     &gt; Hi Juan,<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt; What i am planning to do is to make work the following<br>
&gt;         script<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt; #cloud-config<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt; # phone_home: if this dictionary is present, then the<br>
&gt;         phone_home<br>
&gt;         &gt;     &gt; # cloud-config module will post specified data back to<br>
&gt;         the given<br>
&gt;         &gt;     &gt; # url<br>
&gt;         &gt;     &gt; # default: none<br>
&gt;         &gt;     &gt; # phone_home:<br>
&gt;         &gt;     &gt; #  url: <a href="http://my.foo.bar/$INSTANCE/" target="_blank">http://my.foo.bar/$INSTANCE/</a><br>
&gt;         &gt;     &gt; #  post: all<br>
&gt;         &gt;     &gt; #  tries: 10<br>
&gt;         &gt;     &gt; #<br>
&gt;         &gt;     &gt; phone_home:<br>
&gt;         &gt;     &gt;  url: <a href="http://my.example.com/$INSTANCE_ID/" target="_blank">http://my.example.com/$INSTANCE_ID/</a><br>
&gt;         &gt;     &gt;  post: [ pub_key_dsa, pub_key_rsa, pub_key_ecdsa,<br>
&gt;         instance_id ]<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;<br>
&gt;         (<a href="http://cloudinit.readthedocs.org/en/latest/topics/examples.html#run-commands-on-first-boot" target="_blank">http://cloudinit.readthedocs.org/en/latest/topics/examples.html#run-commands-on-first-boot</a>)<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt; but it wasn&#39;t working when i tried, i hope to post the<br>
&gt;         above values to<br>
&gt;         &gt;     &gt; the specific url and get the posted details.<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;<br>
&gt;         &gt;     I think it should work, but it depends completely on<br>
&gt;         cloud-init itself.<br>
&gt;         &gt;     I&#39;d suggest you check the content of the generated cloud-init<br>
&gt;         &gt;     configuration file (as described in a previous mail). If<br>
&gt;         it contains the<br>
&gt;         &gt;     &quot;phone_home&quot; section then you can discard a problem with<br>
&gt;         oVirt, and<br>
&gt;         &gt;     focus on clud-init.<br>
&gt;         &gt;<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt; On Wed, Sep 10, 2014 at 10:02 AM, Shanil S<br>
&gt;         &lt;<a href="mailto:xielesshanil@gmail.com">xielesshanil@gmail.com</a> &lt;mailto:<a href="mailto:xielesshanil@gmail.com">xielesshanil@gmail.com</a>&gt;<br>
&gt;         &lt;mailto:<a href="mailto:xielesshanil@gmail.com">xielesshanil@gmail.com</a> &lt;mailto:<a href="mailto:xielesshanil@gmail.com">xielesshanil@gmail.com</a>&gt;&gt;<br>
&gt;         &gt;     &gt; &lt;mailto:<a href="mailto:xielesshanil@gmail.com">xielesshanil@gmail.com</a> &lt;mailto:<a href="mailto:xielesshanil@gmail.com">xielesshanil@gmail.com</a>&gt;<br>
&gt;         &lt;mailto:<a href="mailto:xielesshanil@gmail.com">xielesshanil@gmail.com</a><br>
&gt;         &lt;mailto:<a href="mailto:xielesshanil@gmail.com">xielesshanil@gmail.com</a>&gt;&gt;&gt;&gt; wrote:<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;     Hi Juan,<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;     Okay.. Thanks.. its working.<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;     I would like to execute other page something like test_script.php by<br>
&gt;         &gt;     &gt;     posting some values to it using the cloud init, Is it possible to do<br>
&gt;         &gt;     &gt;     it ?<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;     --<br>
&gt;         &gt;     &gt;     Regards<br>
&gt;         &gt;     &gt;     Shanil<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;     On Fri, Sep 5, 2014 at 10:08 PM, Juan Hernandez &lt;<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a> &lt;mailto:<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a>&gt;<br>
&gt;         &lt;mailto:<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a> &lt;mailto:<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a>&gt;&gt;<br>
</div></div><div class="HOEnZb"><div class="h5">&gt;         &gt;     &gt;     &lt;mailto:<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; &lt;mailto:<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;&gt;&gt; wrote:<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;         On 09/05/2014 12:55 PM, Shanil S wrote:<br>
&gt;         &gt;     &gt;         &gt; Hi Juan,<br>
&gt;         &gt;     &gt;         &gt;<br>
&gt;         &gt;     &gt;         &gt; Thanks for your reply.<br>
&gt;         &gt;     &gt;         &gt;<br>
&gt;         &gt;     &gt;         &gt; I tried with the above but i was unable to<br>
&gt;         find the<br>
&gt;         &gt;     &#39;iwashere.txt&#39; after<br>
&gt;         &gt;     &gt;         &gt; executing the above xml.<br>
&gt;         &gt;     &gt;         &gt;<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;         I repeated the test, this time with 3.4, and it<br>
&gt;         worked<br>
&gt;         &gt;     fine for<br>
&gt;         &gt;     &gt;         me. As<br>
&gt;         &gt;     &gt;         the formatting of the XML is very important I&#39;d<br>
&gt;         suggest<br>
&gt;         &gt;     that you<br>
&gt;         &gt;     &gt;         take<br>
&gt;         &gt;     &gt;         the attached script (instead of copy &amp; paste<br>
&gt;         from the mail),<br>
&gt;         &gt;     &gt;         change the<br>
&gt;         &gt;     &gt;         password and VM id and run it.<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;         There are two kind of things that can go wrong<br>
&gt;         here. One<br>
&gt;         &gt;     is that the<br>
&gt;         &gt;     &gt;         engine/VDSM combination may not be generating<br>
&gt;         the right<br>
&gt;         &gt;     file. To<br>
&gt;         &gt;     &gt;         verify<br>
&gt;         &gt;     &gt;         this start the VM with the attached script, and<br>
&gt;         once it is<br>
&gt;         &gt;     &gt;         started go to<br>
&gt;         &gt;     &gt;         the hypervisor where it is running and find the<br>
&gt;         corresponding<br>
&gt;         &gt;     &gt;         qemu process:<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;           # ps -ef | grep -- &#39;-name myvm&#39;<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;         This will give you a very long command line.<br>
&gt;         That command line<br>
&gt;         &gt;     &gt;         should<br>
&gt;         &gt;     &gt;         include a &quot;-drive&quot; option containing the full<br>
&gt;         path of the<br>
&gt;         &gt;     disk image<br>
&gt;         &gt;     &gt;         generated by the engine/VDSM, something like this:<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;           -drive<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;<br>
&gt;         file=/var/run/vdsm/payload/b5f087d4-022d-4d5f-8a1e-268c562c7bb1.b6fcddff571bb8c2028c61b623d172a6.img<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;         To inspect its content make a copy (just in<br>
&gt;         case) and<br>
&gt;         &gt;     mount it:<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;           # cp -drive<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;<br>
&gt;         file=/var/run/vdsm/payload/b5f087d4-022d-4d5f-8a1e-268c562c7bb1.b6fcddff571bb8c2028c61b623d172a6.img<br>
&gt;         &gt;     &gt;         /root/my.img<br>
&gt;         &gt;     &gt;           # mount -o loop,ro /root/my.img /mnt<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;         Inspect the content:<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;           # find /mnt<br>
&gt;         &gt;     &gt;           /mnt/openstack<br>
&gt;         &gt;     &gt;           /mnt/openstack/content<br>
&gt;         &gt;     &gt;           /mnt/openstack/content/0000<br>
&gt;         &gt;     &gt;           /mnt/openstack/latest<br>
&gt;         &gt;     &gt;           /mnt/openstack/latest/meta_data.json<br>
&gt;         &gt;     &gt;           /mnt/openstack/latest/user_data<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;         The content of the custom-script should be at<br>
&gt;         the end of the<br>
&gt;         &gt;     &gt;         &quot;user_data&quot;<br>
&gt;         &gt;     &gt;         file, so take a look at that:<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;           # cat /mnt/openstack/latest/user_data<br>
&gt;         &gt;     &gt;           #cloud-config<br>
&gt;         &gt;     &gt;           ssh_pwauth: true<br>
&gt;         &gt;     &gt;           disable_root: 0<br>
&gt;         &gt;     &gt;           output:<br>
&gt;         &gt;     &gt;             all: &#39;&gt;&gt; /var/log/cloud-init-output.log&#39;<br>
&gt;         &gt;     &gt;           user: root<br>
&gt;         &gt;     &gt;           password: mypassword<br>
&gt;         &gt;     &gt;           chpasswd:<br>
&gt;         &gt;     &gt;             expire: false<br>
&gt;         &gt;     &gt;           runcmd:<br>
&gt;         &gt;     &gt;           - &#39;sed -i &#39;&#39;/^datasource_list: /d&#39;&#39;<br>
&gt;         &gt;     /etc/cloud/cloud.cfg; echo<br>
&gt;         &gt;     &gt;         &#39;&#39;datasource_list:<br>
&gt;         &gt;     &gt;             [&quot;NoCloud&quot;, &quot;ConfigDrive&quot;]&#39;&#39; &gt;&gt;<br>
&gt;         /etc/cloud/cloud.cfg&#39;<br>
&gt;         &gt;     &gt;           runcmd:<br>
&gt;         &gt;     &gt;            - echo &quot;I was here!&quot; &gt; /iwashere.txt<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;         If your custom script isn&#39;t there then there is some<br>
&gt;         &gt;     problem in the<br>
&gt;         &gt;     &gt;         engine/VDSM side, otherwise the problem is<br>
&gt;         probably in<br>
&gt;         &gt;     cloud-init<br>
&gt;         &gt;     &gt;         itself, and we will need someone with more<br>
&gt;         knowledge of<br>
&gt;         &gt;     &gt;         cloud-init to<br>
&gt;         &gt;     &gt;         debug it.<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;         Don&#39;t forget to umount the file when finished:<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;           # umount /mnt<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;         &gt;<br>
&gt;         &gt;     &gt;         &gt; On Fri, Sep 5, 2014 at 3:00 PM, Juan Hernandez<br>
&gt;         &gt;     &lt;<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a> &lt;mailto:<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a>&gt;<br>
&gt;         &lt;mailto:<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a> &lt;mailto:<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a>&gt;&gt;<br>
&gt;         &gt;     &lt;mailto:<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a> &lt;mailto:<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a>&gt;<br>
&gt;         &lt;mailto:<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a> &lt;mailto:<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a>&gt;&gt;&gt;<br>
&gt;         &gt;     &gt;         &gt; &lt;mailto:<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; &lt;mailto:<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;<br>
&gt;         &gt;     &lt;mailto:<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a> &lt;mailto:<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a>&gt;<br>
&gt;         &lt;mailto:<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a> &lt;mailto:<a href="mailto:jhernand@redhat.com">jhernand@redhat.com</a>&gt;&gt;&gt;&gt;&gt; wrote:<br>
&gt;         &gt;     &gt;         &gt;<br>
&gt;         &gt;     &gt;         &gt;     On 09/05/2014 10:46 AM, Sven Kieske wrote:<br>
&gt;         &gt;     &gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;         &gt;     &gt; Am 05.09.2014 10:27, schrieb Juan Hernandez:<br>
&gt;         &gt;     &gt;         &gt;     &gt;&gt; Trying to make an example for this I<br>
&gt;         discovered that<br>
&gt;         &gt;     &gt;         the &quot;custom_script&quot;<br>
&gt;         &gt;     &gt;         &gt;     &gt;&gt; element is currently ignored if the<br>
&gt;         &quot;cloud_init&quot;<br>
&gt;         &gt;     &gt;         element is present.<br>
&gt;         &gt;     &gt;         &gt;     &gt;&gt; Instead we are taking the content of<br>
&gt;         the first &quot;file&quot;<br>
&gt;         &gt;     &gt;         element from the<br>
&gt;         &gt;     &gt;         &gt;     &gt;&gt; &quot;cloud_init&quot; element and appending it<br>
&gt;         to the<br>
&gt;         &gt;     cloud-init<br>
&gt;         &gt;     &gt;         configuration<br>
&gt;         &gt;     &gt;         &gt;     &gt;&gt; file. I believe that this is a bug, as<br>
&gt;         it breaks<br>
&gt;         &gt;     &gt;         backwards compatibility:<br>
&gt;         &gt;     &gt;         &gt;     &gt;&gt;<br>
&gt;         &gt;     &gt;         &gt;     &gt;&gt;   <a href="https://bugzilla.redhat.com/1138564" target="_blank">https://bugzilla.redhat.com/1138564</a><br>
&gt;         &gt;     &gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;         &gt;     &gt; Thanks for the report, I just proposed<br>
&gt;         this as a<br>
&gt;         &gt;     blocker<br>
&gt;         &gt;     &gt;         for the 3.4.4<br>
&gt;         &gt;     &gt;         &gt;     &gt; release as it is a clear regression.<br>
&gt;         &gt;     &gt;         &gt;     &gt; Also I rely on this functionality in my<br>
&gt;         3.3. setup<br>
&gt;         &gt;     and I<br>
&gt;         &gt;     &gt;         want to upgrade<br>
&gt;         &gt;     &gt;         &gt;     &gt; to 3.4 so I can&#39;t upgrade until this is<br>
&gt;         fixed and<br>
&gt;         &gt;     released.<br>
&gt;         &gt;     &gt;         &gt;<br>
&gt;         &gt;     &gt;         &gt;     Agree, I set the bug as a blocker for 3.4.4.<br>
&gt;         &gt;     &gt;         &gt;<br>
&gt;         &gt;     &gt;         &gt;     &gt;&gt;<br>
&gt;         &gt;     &gt;         &gt;     &gt;&gt; However, you can exploit this bug to do<br>
&gt;         what you<br>
&gt;         &gt;     want.<br>
&gt;         &gt;     &gt;         This is an example:<br>
&gt;         &gt;     &gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;         &gt;     &gt; Well I guess this is a pretty bad idea,<br>
&gt;         because it<br>
&gt;         &gt;     will<br>
&gt;         &gt;     &gt;         just work<br>
&gt;         &gt;     &gt;         &gt;     &gt; until the bug is fixed?<br>
&gt;         &gt;     &gt;         &gt;     &gt;<br>
&gt;         &gt;     &gt;         &gt;<br>
&gt;         &gt;     &gt;         &gt;     No, what I proposed in the example is to<br>
&gt;         put the custom<br>
&gt;         &gt;     &gt;         script in both<br>
&gt;         &gt;     &gt;         &gt;     the first &quot;file&quot; inside &quot;clud_init&quot; and in the<br>
&gt;         &gt;     &gt;         &quot;custom_script&quot; element.<br>
&gt;         &gt;     &gt;         &gt;     That should work with the current status<br>
&gt;         and also<br>
&gt;         &gt;     if/when<br>
&gt;         &gt;     &gt;         we fix the<br>
&gt;         &gt;     &gt;         &gt;     bug.<br>
&gt;         &gt;     &gt;         &gt;<br>
&gt;         &gt;     &gt;<br>
&gt;         &gt;<br>
&gt;<br>
<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 – C.I.F. B82657941 - Red Hat S.L.<br>
</div></div></blockquote></div><br></div>