[[PageOutline]] = The Django Templating Language = CMT utilizes Django's Templating engine to process templates. For a complete description of the DJango templating engine, please visit the DJango website here: * [https://docs.djangoproject.com/en/dev/topics/templates/ The Django template language] = CMT extra templatetags = For Cluster Management purposes, a few extra tags have been added. These extra tags can be used and loaded for your template with the tag: * {{{ {% load cmt_client %} }}} Without loading this, you cannot use any of the tags below. = stringfilters = Stringfilters are functions that can pipe or translate a value into a different one. == arpanize == Converts a IP (range) to reversed DNS style arpa notation '''Usage''': * {{{ {{ |arpanize }} }}} '''Example's''': * {{{ {% assign broadcast = '192.168.1.0' %} {{ broastcast|arpanize }} }}} '''Example output''': * {{{ 1.168.192.in-addr.arpa }}} == base_net == Converts a IP (range) to it's first 3 octects '''Usage''': * {{{ {{ |base_net }} }}} '''Example's''': * {{{ {% assign broadcast = '192.168.1.0' %} {{ broastcast|base_net }} }}} '''Example output''': * {{{ 192.168.1 }}} == ip_last_digit == Converts a IP (range) to it's last octect '''Usage''': * {{{ {{ |ip_last_digit }} }}} '''Example's''': * {{{ {% assign myip = '192.168.1.123' %} {{ myip|ip_last_digit }} }}} '''Example output''': * {{{ 123 }}} = functions = == getracks == {{{ """ Get list of racks in a cluster Usage: {% getracks as %} """ }}} == assign == {{{ """ Variable assignment within template Usage: {% assign newvar = %} i.e.: {% assign file_name = '/var/tmp/rack-' rack.label '.txt' %} """ }}} == getbasenets == {{{ """ Get list of basenets in a network (name) Usage: {% getbasenets as %} """ }}} == use == {{{ """ Compilation function to definine Querysets for later use. Usage: {% use with = as %} """ }}} = sections = == epilogue == Command's to be executed after (epi) the template processing is completed. This can be useful to restart a daemon, for example. '''Section start''': * {{{ {% epilogue %} }}} '''Section end''': * {{{ {% endepilogue %} }}} '''Example's''': * {{{ {% epilogue %} /etc/init.d/named reload touch /var/run/named.pid {% endepilogue %} }}} == noblanklines == Prevents any blanklines occuring in the resulting output (file). '''Section start''': * {{{ {% noblanklines %} }}} '''Section end''': * {{{ {% endnoblanklines %} }}} '''Example's''': * {{{ {% noblanklines %} {{{ host.label }}} {{{ host.rack }}} {% endnoblanklines %} }}} == store == Specifies where to store the resulting output (after template processing). '''Section start''': * {{{ {% store %} }}} * {{{ }}} can be: * variable * 'Quoted string' '''Section end''': * {{{ {% endstore %} }}} '''Example's''': * {{{ {% store '/path/to/file' %} {{{ host.label }}} {% endstore %} }}} * {{{ {% store variable %} {{{ host.label }}} {% endstore %} }}}