<html><body><div style="font-family: trebuchet ms,sans-serif; font-size: 10pt; color: #000000"><div>We don't have the automatic lookup from DNS (that would rely on the DNS record being created first prior to VM deployment), but we use a script that is placed in our base images /etc/one-context.d/ directory that does this (which relies on option 2 as you mention below, a HOSTNAME context variable):<br></div><div><br></div><div><p style="margin: 0px;" data-mce-style="margin: 0px;"><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">#!/bin/bash</span></p><p style="margin: 0px;" data-mce-style="margin: 0px;"><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;"><br></span></p><p style="margin: 0px;" data-mce-style="margin: 0px;"><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">if [ -f /mnt/context.sh ]; then</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;"> . /mnt/context.sh</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">else</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;"> exit 0</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">fi</span></p><p style="margin: 0px;" data-mce-style="margin: 0px;"><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">hostname $HOSTNAME</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">echo $HOSTNAME > /etc/hostname</span></p><p style="margin: 0px;" data-mce-style="margin: 0px;"><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;"><br></span></p><p style="margin: 0px;" data-mce-style="margin: 0px;"><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">exit 0</span></p></div><div><br></div><div>The above example is for our Ubuntu instances, so it may need to be modified for RHEL or SUSE based virtuals, if that's what you use.</div><div><br></div><div>In addition, if using 4.4, use the files datastore and create an 'init.sh' script that can then load up additional files that you assign to the template (so you don't need to manually update each image).  We use an init.sh script like this to inject new configuration/contextualization options so we don't need to update our base image very often:<br></div><div><br></div><div><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" data-mce-style="font-family: 'courier new', courier, monaco, monospace, sans-serif;"><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;" data-mce-style="font-family: 'courier new', courier, monaco, monospace, sans-serif;"></span></span><p style="margin: 0px;" data-mce-style="margin: 0px;"><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">#!/bin/sh</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">#</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;"># OpenNebula Init Script</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">#</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;"># init.sh</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">#</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;"># Copies additional context scripts to the appropriate directory</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">#</span></p><p style="margin: 0px;" data-mce-style="margin: 0px;"><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">## Set environment</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">SOURCE=/mnt</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">DEST=/etc/one-context.d</span></p><p style="margin: 0px;" data-mce-style="margin: 0px;"><br></p><p style="margin: 0px;" data-mce-style="margin: 0px;"><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">if [ -f /etc/redhat-release ]; then</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;"> OSVERSION=RHEL</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">else</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;"> OSVERSION=UBUNTU</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">fi</span></p><p style="margin: 0px;" data-mce-style="margin: 0px;"><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">if [ -f /usr/bin/rsync ]; then</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;"> echo "Applying additional contextualization scripts..."</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">else</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;"> if [ "$OSVERSION" != "UBUNTU" ]; then</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;"> yum -y install rsync</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;"> else</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;"> apt-get update && apt-get -y install rsync</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;"> fi</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">fi</span></p><p style="margin: 0px;" data-mce-style="margin: 0px;"><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">## Copy Files. This will IGNORE any *.sh files in the source/destination directories, as all context scripts</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">## should NOT have the .sh extension.</span></p><p style="margin: 0px;" data-mce-style="margin: 0px;"><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">for i in $(ls $SOURCE --ignore=*.sh)</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">do</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;"> if [ -f $DEST/$i ]; then</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;"> echo "$i exists in context directory. Skipping..."</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;"> else</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;"> rsync -au $SOURCE/$i /etc/one-context.d/</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;"> chown root.root /etc/one-context.d/*</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;"> chmod 700 /etc/one-context.d/*</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;"> service vmcontext restart</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;"> fi</span><br><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">done</span></p><p style="margin: 0px;" data-mce-style="margin: 0px;"><span style="font-family: 'courier new', courier, monaco, monospace, sans-serif;">exit 0</span></p><br></div><div>This will check the OS Version and install the appropriate package.  It will NOT copy any file that has the .sh extension, but if you follow the context script standard of ##-<scriptname> then you can add additional context upon deployment.  Rudimentary, sure, but works well enough for us.</div><div><br></div><div><br></div><hr id="zwchr"><div style="color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt;"><b>From: </b>"ML mail" <mlnospam@yahoo.com><br><b>To: </b>users@lists.opennebula.org<br><b>Sent: </b>Wednesday, February 26, 2014 5:39:46 AM<br><b>Subject: </b>[one-users] ONE context package<br><div><br></div><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:12pt"><div>Hi,</div><div><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;">I am very happy with the ONE context package for automated contextualization on Debian and CentOS but I miss one feature: automatically and manually setting the hostname of the VM.</div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;">Basically it would be
 great to have the following two options:</div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;">- automatically set the hostname of the VM based doing a reverse DNS lookup on the IP address, for example I have as reverse DNS entry "one-vm-1-0-16-172.mydomain.com" then the hostname of my VM would be automatically set to "one-vm-1-0-16-172". <br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;">- using a HOSTNAME tag in the VM to manually enter a hostname and overriding the automatic
 hostname attribution described above</div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;">What do you think?</div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;"><br></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; background-color: transparent; font-style: normal;">Regards,</div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida
 Grande,sans-serif; background-color: transparent; font-style: normal;">ML</div></div><br>_______________________________________________<br>Users mailing list<br>Users@lists.opennebula.org<br>http://lists.opennebula.org/listinfo.cgi/users-opennebula.org<br></div><div><br></div></div>
<br><html><body><b>NOTICE: Protect the information in this message in accordance with the company's security policies. If you received this message in error, immediately notify the sender and destroy all copies.</b></body></html>

<br></body></html>