Blog
User blogs
| Ohad Levy |
Tag cloud
Foreman 0.1-5 is out
New Foreman Release - checkout the Release Notes at http://theforeman.org/projects/foreman/wiki/ReleaseNotes
Have fun!
Ohad
New features for the upcoming Foreman release
Hi all,
Its been a while since we got a new Foreman release out, just to keep you updated, a new release will come up shortly, in the meanwhile, here are the highlights – for a full list – checkout http://theforeman.org/versions/show/7
Release Notes for 0.1-5¶
Web interface¶
Most of the pages have been rewritten, there are many changes:
Search options- Hosts (filter based on facts, based on host groups etc
- Facts (all hosts with fact x or with value y etc)
- Reports (show me all failed reports in the last 3 months etc)
- Audits (per user, per type – e.g. all hosts, per action – e.g. delete)
Improved Graphs for dashboard and per host
Host edit page now has a lot of logic- Class selection depends on your chosen environment
- Class selection breaks down into modules, making it easy to navigate
- Inherited classes (via hostgroups), are also visible.
- Unattended settings will only show selection based on the os (e.g. no debian disk templates will be shown to redhat based os etc).
- Clone existing hosts (instead of choosing all of the options again)
- change a parameter for many hosts
- change host group for many hosts
- change environment for many hosts
Import new puppetclasses from the interface
Unattended installations¶
- added support for dynamic disk layout
- added kickstart/preseed compatibility with Ubuntu 10.04, RHEL6 beta, Fedora 13
- support for customized kickstart files (e.g. if you use a package like rpm, you can create your own kickstart which will not be replaced on next update).
- medias can now be shared with many operating systems (e.g. with replacing variables for $arch or $version)
- x-rhn-provisioning headers support for booting from other devices than eth0
Query interface¶
- added verbose mode, which will return all of hosts classes, facts and external node parameters.
- added query based on a hostgroup
Others¶
- Host ownership (via a user or a user group) base infrastructure for per host authorization (e.g. who can change what) and sending the reports to the right people.
- Speed optimization when keeping many reports in the db
- Puppetdoc integration
- Foreman can generate puppetdoc (via a rack task, so you can add it to your repo post commits scripts), and links to the docs via the puppet classes page.
- Improved PRM packaging
- added startup script for foreman (uses webrick)
- moved all config files to /etc/foreman and /etc/sysconfig/foreman
- moved log files to /var/log
- moved db files state dir
- ...
Please try out the latest develop branch (or nighty snapshot) for any feedback before the official release
Join our irc channel #theforeman at freenode
Foreman rpm is now available
I've created RPM (RHE5) for foreman, to install, please create a yum repo
Puppet manifest¶
yumrepo { 'foreman':
descr => 'Foreman Repo',
baseurl => 'http://theforeman.org/repo',
gpgcheck => '0',
enabled => '1'
}
Quick and dirty¶
cat > /etc/yum.repos.d/foreman.repo << EOF [foreman] name=Foreman Repo baseurl=http://theforeman.org/repo gpgcheck=0 enabled=1 EOF
yum install foreman
Update: Additional rpms might be required from epel repo's
if you just want to get the rpms:
http://theforeman.org/repo/el5/noarch/foreman-0.1.4-3.noarch.rpm
http://theforeman.org/repo/el5/noarch/rubygem-rack-1.0.1-1.noarch.rpm
and
http://theforeman.org/repo/el5/SRPM/foreman-0.1.4-2.src.rpm
feedback / comments are welcomed.
Ohad
Foreman 0.1-4 is out
Hello All,
Its been a while since last release.. so I'm happy to announce the next stable release of Foreman (0.1-4).
Main new features include:- host report graphs, this hopefully removes the need for the RRD graphs.
- support for customized run interval
- support to browse and filter hosts based on facts
- extlookup variables store (can replace extlookup csv files)
- support to trigger puppetrun from the web interface
- added state to query interface (e.g. get all hosts which are not running puppet)
- Summary Email Supports facts or environment restrictions
- upgraded rails to 2.3.5 (mostly because of security patches)
As usual, many bugs were fixed - many thanks to all reporters, and those of you who keep on sending patches :-)
For a complete change log, please visit http://theforeman.org/projects/changelog/foreman#0.1-4
Note that now there is also a foreman users group (http://groups.google.com.sg/group/foreman-users) and an IRC channel #theforeman on freenode
If you already have Foreman installed, make sure you go through http://theforeman.org/wiki/foreman/Upgrade_instructions.
latest version can be fetched from here - http://theforeman.org/attachments/download/60/foreman-0.1-4.tar.bz2
Note - because of rails upgrade you now require rack 1.0.1 gem
e.g.: gem install rack -v 1.0.1 (as foreman user)
For feature requests, bugs, wiki etc, visit: http://theforeman.org
Foreman 0.1-3 is out
Hello All,
As we try to release every month, I'm happy to announce the next stable release of Foreman (0.1-3):
Main new features include:- External nodes mode – Allows you to use foreman without automating your server installation as well (e.g. you wont have to add additional information when adding a new host to Foreman) - http://theforeman.org/wiki/foreman/FAQ#I-dont-want-to-use-Foreman-for-unattended-installations-can-I-disable-it
- Dashboard improvements
- Email Summary notification - http://theforeman.org/wiki/foreman/Summarized_E-Mail_Reports
- Inventory Graphs - e.g. http://theforeman.org/attachments/download/42
- Better HTTPS support
- Query interface - This exciting feature allows you to ask Foreman for a list of host based on a classes or facts
(or any combination of those).
An example of a multi-ssh connection (e.g. in parallel) which queries foreman and all is even added for fun - http://theforeman.org/wiki/foreman/Query_Interface
As usual, many bugs were fixed - many thanks to all reporters, and those of you who keep on sending patches :-)
For a complete change log, please visit:http://theforeman.org/projects/changelog/foreman
For feature requests, bugs, wiki etc, visit: http://theforeman.org
If you already have Foreman installed, make sure you go through http://theforeman.org/wiki/foreman/Upgrade_instructions.
latest version can be fetched from here - http://theforeman.org/attachments/download/53/foreman-0.1-3.tar.bz2
Happy new year!
Ohad
manitest - a simple script to help your puppet development
If it happened to you before that someone broke your manifest because of simple change (e.g. didn't test it on all hosts/classes external nodes ... combinations) this tool might be useful to you.
The idea is very simple, just try to compile the manifest based on customized facts, classes, environments and external nodes parameters (if you use it) .
You need to run this script only were you develop your manifests (e.g. your puppetmaster), there is no need to try out a puppet run on each and every system type that you have.
You might also find it useful to run this script in some sort of a cron or via a repo hook, to find out any broken manifests running around..
This script was originally written by a colleague of mine (Paul Kelly), however, I've adjusted it to hopefully common usage.
Its brand new, so any comments / improvements (which I'm sure there are plenty) are welcomed.
Hopefully you'll find it useful,
Ohad
Foreman 0.1-2 is released
I'm happy to announce the next stable release of Foreman (0.1-2), main new features include:
- General
- LDAP / AD Authentication support.
- Audit Log - keeps information about changed host values (e.g. host environment, external node parameters etc).
- Added Puppet module for installing/managing foreman
- Puppet Reports
- Added a basic dashboard, allows you to know your puppet client status at a glance.
- Added retention rules to expire old reports
- Added query interface
- Similar mini functionally like storeconfigs, allows puppet clients to collect list of hosts based on a class or a fact groups
- Provide host list to external tools e.g. Capistrano, *ssh etc
- Unattended installations
- allow to have reusable configurations (snippets) across operating systems (e.g. for puppet.conf)
Additionally a lot of bugs were fixed, if you are using foreman, it is highly recommended to upgrade.
For a complete change log, please visit: http://theforeman.org/projects/changelog/foreman
For feature requests, bugs, wiki etc, visit: http://theforeman.org
If you already have Foreman installed, make sure you go through http://theforeman.org/wiki/foreman/Upgrade_instructions.
if you are using external nodes, please note that the URL has changed - please review the foreman puppet module for examples.
Cheers,
Ohad
My Puppetcamp Presentation
Puppetcamp was great fun
here are my slides:
video can be found at:
http://coursestream.sfsu.edu/ess/echo/presentation/ccbcb870-b1a9-4655-bd72-e4da1e2e5851
Many thanks to the reductive labs team!
Foreman 0.1-1 is released!
- Integration of Puppet Reports, once enabled you would see a real time overview of all of yours hosts status.
- Improved support for multiple Puppet Masters (e.g. import facts and reports from remote servers over http)
- Simplified migration from existing external nodes setup, now its possible to import your existing classifier data into Foreman.
For a complete change log, please visit: http://theforeman.org/projects/changelog/foreman
For feature requests, bugs, wiki etc, visit: http://theforeman.org
If you already have Foreman installed, make sure you go through http://theforeman.org/wiki/foreman/Upgrade_instructions.
Cheers,
Ohad
Automating ISC DHCP
using omapi (omshell):
Add a server¶
server 192.168.2.99 (my remote DHCP server) connect new host set name = "nx" set hardware-address = 54:52:00:13:21:a4 set hardware-type = 1 set ip-address = 192.168.2.105 set statements = "next-server = c0:a8:02:7d; filename = \"pxelinux.0\";option host-name \"nx.lan\";" create
next-server has to be in hex, a simple method that converts IP's to hex:
def self.ip2hex ip
ip.split(".").map{|i| "%02x" % i }.join(":")
end
Remove a server¶
server 192.168.2.99 connect new host set ip-address = 192.168.2.106 open remove
More complex setup with gpxelinux.0¶
server 192.168.2.99 connect new host set name = "u904" set hardware-address = 54:52:00:4b:a5:38 set hardware-type = 1 set ip-address = 192.168.2.106 set statements = "next-server = c0:a8:02:7d; filename = \"gpxelinux.0\"; option host-name \"u904.lan\"; vendor-option-space = \"pxelinux\"; option pxelinux.magic = f1:00:74:7e; option pxelinux.pathprefix = \"http://foreman/\"; option pxelinux.configfile = \"unattended/pxe\";" create
