Tips & Tricks¶
- Tips & Tricks
- Generating provisioning email reports - http://theforeman.org/projects/foreman/wiki/Provisioning_Email_Reports
- Provisioning without PXE
Extending the partition layout for a host¶
If you need to extend a partition layout for a host you could load the preexisting layout in the "Custom partition layout" section:
<%= pxe_render(Ptable.find_by_name('RedHat Default').layout) %> logvol /var --fstype ext4 --name=lv_var --vgname=vg00 --size=4096 logvol /opt --fstype ext4 --name=lv_opt --vgname=vg00 --size=512
Exposing Foreman variables to the ENC¶
You can enable "interpolate_erb_in_parameters" in the settings, which enables you to expose all Foreman Variables to the ENC.
Go to global parameters and add a new variable:
<%= @host.compute_resource_name %> (or
<%= @host.compute_resource.to_label %> )
If you need you can check on the available variables through the Rails console or from the TemplateWriting.
Starting the Rails console¶
If you installed Foreman through the RedHat packages you can start the console through the following command:
cd ~foreman && sudo -u foreman scl enable ruby193 'RAILS_ENV=production rails c'
Using apt-cacher-ng to cache packages - http://www.emeraldreverie.org/2012/05/caching-packages-with-theforeman.html
The Debian installer will overwrite the /etc/network/interfaces file in the target filesystem by default. If you generate this file using a late_command or Foreman's finish script, it will be overwritten. To avoid this, add:
rm -f /usr/lib/finish-install.d/55netcfg-copy-config
to your late_command. Please note that this cannot go in the the finish script, as it is executed in the target filesystem, and the file to remove is in the installer filesystem.
Deploying Windows via WDS¶
This assumes you're already using Foreman to deploy your linux hosts and want to add the ability to deploy a Windows host.Pre-reqs:
- Syslinux >= 5.0 (note that 4.0x has bugs in the chainloader and we could not get it to work in our testing)
- a DNS resolvable name on your WDS server (Note that syslinux does not check if the name is an IP when using pxechn.c32 - it assumes a name and does a DNS lookup.)
Create a pxe template and associate it with your Windows OS. The template should look something like this -
default Windows label Windows kernel pxechn.c32 append <NAME_OF_WDS>::\boot\x64\wdsnbp.com -W
Replace <NAME_OF_WDS> with your Windows Deployment Server. You may also need to copy pxechn.c32 into your tftpboot directory. This is rather basic and will require you to attach to the VM console and click through the steps you've setup. You can then automate your WDS server as much as you want, and pxe booting to your foreman-enabled PXE service will simply chain off control over to WDS.
Remember to grab the Foreman http at the end of your deployment, or Foreman will keep it in a 'build' state!
Tips for other OSes¶
- Automated Archlinux installs (coming soon ;P)