Blogs

Foreman 0.1-4 is out

Added by Ohad Levy 1 day ago

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

Added by Ohad Levy 86 days ago

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:

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

Added by Ohad Levy 101 days ago

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

http://github.com/ohadlevy/manitest

Foreman 0.1-2 is released

Added by Ohad Levy 126 days ago

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

Added by Ohad Levy 149 days ago

Foreman 0.1-1 is released!

Added by Ohad Levy 169 days ago

I'm happy to announce the next stable release of Foreman, main new features include:
  • 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

Added by Ohad Levy 177 days ago

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