<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Hi Tobias,<div><br></div><div>As there is no standard "dns" suffix, I just added a .cloud to the hostname. </div><div>You can change it by doing the following:</div><div><br></div><div>- Edit /usr/lib/one/ruby/cloud/metadata/MetadataServer.rb</div><div>- And replace .cloud with your domain:</div><div><span style="font-size: 12pt;">              when 'local-hostname' # 2007-01-19</span></div><div><div>                @value = "i-#{vm.id}.cloud"</div><div>              when 'public-hostname'</div><div>                @value = "i-#{vm.id}.cloud"</div><div><br></div><div><span style="font-size: 12pt;">If you use the econe-* commands, userdata and public key should work without any change.</span></div><div>If you create your own template, just add the following to context:</div><div><br></div><div><span style="font-size: 12pt;">  CONTEXT         = [</span></div><div><div><span style="font-size: 12pt;">  (...)</span></div><div><span style="font-size: 12pt;">    EC2_USER_DATA = <YOUR USER DATA></span></div><div>    EC2_PUBLIC_KEY = <YOUR PUBLIC KEY></div><div>    EC2_KEYNAME = <THE NAME OF THE KEY></div><div>  ]</div></div><div><br></div><div>If you want to use your own variables instead, just change them on /usr/lib/one/ruby/cloud/metadata/MetadataServer.rb.</div><div><span style="font-size: 12pt;">Search and replace with your own data:</span></div><div><br></div><div>  TEMPLATE/CONTEXT/EC2_KEYNAME</div><div>  TEMPLATE/CONTEXT/EC2_PUBLIC_KEY</div><div>  TEMPLATE/CONTEXT/EC2_USER_DATA</div><div><br></div><div>The metadata server was thought to work with instances launched by eucatools, hybridfox or econe-* , and assumes that you are using the standard /etc/one/ec2query_templates/*.erb .</div><div>But it can be easily modified to be more generic.</div><div><br></div><div>Regards,</div><div>Ricardo Duarte</div><div><br></div><div><div>---<span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span></div></div><div><span style="font-size: 12pt;">For reference, this is the ec2 template I'm currently using:</span></div><div><br></div><div><span style="font-size: 12pt;">NAME</span><span class="Apple-tab-span" style="font-size: 12pt; white-space: pre;">               </span><span style="font-size: 12pt;">= eco-vm-<%= erb_vm_info[:instance_type ]%></span></div><div><div><% if erb_vm_info[:instance_type ]    == "m1.small" %> </div><div>CPU<span class="Apple-tab-span" style="white-space:pre">             </span>= 0.1</div><div>MEMORY<span class="Apple-tab-span" style="white-space:pre">          </span>= 256</div><div><% elsif erb_vm_info[:instance_type ] == "m1.medium" %></div><div>CPU             = 0.2</div><div>MEMORY          = 1024</div><div><% elsif erb_vm_info[:instance_type ] == "m1.large" %></div><div>CPU             = 0.4</div><div>MEMORY          = 2048</div><div><% elsif erb_vm_info[:instance_type ] == "m1.xlarge" %></div><div>CPU             = 0.8</div><div>MEMORY          = 4096</div><div><% end %></div><div>OS<span class="Apple-tab-span" style="white-space:pre">               </span>= [ ARCH="x86_64",  BOOT="hd" ]</div><div>DISK <span class="Apple-tab-span" style="white-space:pre">                </span>= [ IMAGE_ID = <%= erb_vm_info[:img_id] %> , CACHE="none", TARGET="vd", DRIVER="qcow2" ]</div><div>NIC<span class="Apple-tab-span" style="white-space:pre">              </span>= [NETWORK_ID=0, MODEL="virtio"]</div><div>IMAGE_ID <span class="Apple-tab-span" style="white-space:pre">  </span>= <%= erb_vm_info[:ec2_img_id] %></div><div>INSTANCE_TYPE<span class="Apple-tab-span" style="white-space:pre"> </span>= <%= erb_vm_info[:instance_type]%></div><div>GRAPHICS<span class="Apple-tab-span" style="white-space:pre">    </span>= [ TYPE="vnc" ]</div><div>FEATURES<span class="Apple-tab-span" style="white-space:pre">   </span>= [ ACPI="yes" ]</div><div>RAW<span class="Apple-tab-span" style="white-space:pre">                </span>= [ DATA="<devices><serial type='pty'><target port='0'/></serial></devices>", TYPE="kvm" ]</div><div>CONTEXT         = [</div><div>  HOSTNAME<span class="Apple-tab-span" style="white-space:pre">    </span>= "i-$VMID",</div><div>  ETH0_DNS<span class="Apple-tab-span" style="white-space:pre">        </span>= "$NETWORK[DNS, NETWORK_ID=0]",</div><div>  ETH0_GATEWAY<span class="Apple-tab-span" style="white-space:pre">        </span>= "$NETWORK[GATEWAY, NETWORK_ID=0]",</div><div>  ETH0_IP<span class="Apple-tab-span" style="white-space:pre"> </span>= "$NIC[IP]",</div><div>  ETH0_MASK<span class="Apple-tab-span" style="white-space:pre">      </span>= "$NETWORK[MASK, NETWORK_ID=0]"</div><div>  <% if @password %>, PASSWORD<span class="Apple-tab-span" style="white-space:pre">  </span>= "<%= @password %>"<% end %></div><div>  <% if erb_vm_info[:user_data]  %>, EC2_USER_DATA<span class="Apple-tab-span" style="white-space:pre">        </span>= "<%= erb_vm_info[:user_data]  %>"<% end %></div><div>  <% if erb_vm_info[:public_key] %>, EC2_PUBLIC_KEY<span class="Apple-tab-span" style="white-space:pre">        </span>= "<%= erb_vm_info[:key_name]   %>"<% end %></div><div>  <% if erb_vm_info[:public_key] %>, EC2_KEYNAME<span class="Apple-tab-span" style="white-space:pre">   </span>= "<%= erb_vm_info[:public_key] %>"<% end %></div><div>]</div></div><div><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span><span style="font-size: 12pt;">---</span></div><div><br></div><div>> Date: Wed, 23 Oct 2013 16:26:49 +0200<br>> From: tobias@tobru.ch<br>> To: rjtd21@hotmail.com<br>> CC: users@lists.opennebula.org<br>> Subject: RE: [one-users] Ubuntu Cloud Images<br>> <br>> Hi,<br>> <br>> Ok, I got this working now! Thanks a lot for your ideas... I very <br>> appreciate the nice help.<br>> <br>> Now the metadata server returns the following values:<br>> <br>> ubuntu@ip-192-168-49-152:~$ ./ec2-metadata-mod --all<br>> ami-id: not available<br>> ami-launch-index: 76<br>> ami-manifest-path: none<br>> ancestor-ami-ids: not available<br>> block-device-mapping:<br>> not available<br>> instance-id: i-76<br>> instance-type: not available<br>> local-hostname: one-76.cloud<br>> local-ipv4: 192.168.49.152<br>> kernel-id: not available<br>> placement: not available<br>> product-codes: not available<br>> public-hostname: one-76.cloud<br>> public-ipv4: 192.168.49.152<br>> public-keys:<br>> not available<br>> ramdisk-id: not available<br>> reservation-id: r-76<br>> security-groups: not available<br>> user-data: not available<br>> <br>> Some questions regarding the values:<br>> <br>> > local-hostname: one-76.cloud<br>> > public-hostname: one-76.cloud<br>> How are these values created? Shouldn't the value correspond to the vm <br>> name I've chosen in OpenNebula?<br>> <br>> > public-keys:<br>> > not available<br>> There is a public key available in the template, so I'm wondering why <br>> it's not available.<br>> <br>> Will the metadata server find it's way into the official OpenNebula <br>> distribution, or will it stay separate?<br>> <br>> Cheers,<br>> Tobias<br>> <br>> <br>> On 23.10.2013 10:58, Ricardo Duarte wrote:<br>> > Hi Tobias,<br>> > <br>> > I would say that the NAT method will not work if both the<br>> > metadata-server and the instances are on the same IP network.<br>> > <br>> > You can try to do the following:<br>> > <br>> > - On your router, add a new IP to the VLAN => 169.254.169.253/30<br>> > - On the metadata-server, add the IP 169.254.169.254/30 to the<br>> > interface<br>> > - Edit the /etc/one/metadata.conf to listen on 169.254.169.254, and<br>> > port 80<br>> > - Make sure your router forwards packets from your instance network to<br>> > this network<br>> > <br>> > To ensure metadata server is working fine, before making the changes,<br>> > just change the IP address and port on the ec2-metadata script to the<br>> > real ip and port of the server, and check if it returns any value.<br>> <br>> <br></div></div>                                     </div></body>
</html>