TemplateWriting » History » Revision 11
« Previous |
Revision 11/110
(diff)
| Next »
Justin Sherrill, 02/01/2011 05:41 PM
Templates¶
The following functions and macros can be used within templates. These are guaranteed to work via the safemode rendering, to ensure a template can do nothing harmful. With safemode disabled ($$ADD instructions here$$), other macros may work, but are not supported at this time.
Accessing Templates¶
There are two ways to render a template, based on a single host, or based on a Hostgroup. The host or hostgroup provides all the details with which to render the template.
Host-based Rendering¶
Hostgroup-based rendering¶
Allows any template to be rendered for any Hostgroup. When rendering using a hostgroup, @host is actually the hostgroup instead of a defined host. The default values for the hostgroup are used for templated values. This means if a value is not set in the hostgroup, you may get an error when rendering the template. To access a template using a Hostgroup to render, simply use this URL:
/unattended/template/Template Name/Hostgroup Name
For example, a hostgroup of name Finance, and a template named WebServerKickstart could be rendered using the url:
/unattended/template/WebServerKickstart/Finance
PXE Menus¶
Pxe Menus can be deployed to smart proxies from the Config Tempalates.
Writing templates¶
Functions and macros:¶
Name | Description | Example |
---|---|---|
root_pass | The root password configured for the system | |
ks_console | ||
snippets(name) | Renders the specified snippet | |
foreman_url(kind) | Provides the full URL to a host-rendered template of the given kind | foreman_url("provision") => http://HOST/unattended/provision |
@host | The name of the host | |
@host.name | The name of the host | |
@host.diskLayout | The disklayout of the host (could come from the operating system) | |
@host.puppetmaster | The puppetmaster the host should use | |
@host.architecture | The arch of the host (i.e. x86_64) | |
@host.operatingsystem | The operating system name | |
@host.operatingsystem.media_url | ||
@host.operatingsystem.major | The major version of the OS | |
@host.operatingsystem.minor | The minor version of the OS | |
@host.operatingsystem.family | The OS Family (I.e. redhat, debian, etc.) | |
@host.url_for_boot(:kernel) | ||
@host.url_for_boot(:initrd) |
Kickstart only variables:¶
Name | Description | Example |
---|---|---|
@dynamic | ||
@osver | ||
@arch | ||
@mediapath | ||
@epel | ||
@yumrepo | ||
@static |
Preseed attributes:¶
Name | Description | Example |
---|---|---|
@preseed_path | ||
@preseed_server |
Updated by Justin Sherrill almost 14 years ago · 110 revisions