TemplateWriting » History » Revision 12
« Previous |
Revision 12/110
(diff)
| Next »
Justin Sherrill, 02/02/2011 09:31 AM
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¶
Only a single template of each type may be rendered for a system.
To access a template of a certain type simply use this url:
/unattended/KIND_NAME
for example: /unattended/provision
would render the provisioning template. The host will be based on the IP Address it is accessed from. To spoof a template simply access the url in this manner:
/unattended/provision?spoof=192.168.0.1
where 192.168.0.1 is the ip address of the system you want to spoof. This allows you to view a template for a particular system from anywhere.
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