Hawk

Introduction
Hawk (HA Web Konsole) is a web-based GUI for Pacemaker HA clusters.

So, why another management tool, given that we already have the crm shell, the Python GUI, and DRBD MC? In order:


 * 1) We have the usual rationale for a GUI over (or in addition to) a CLI tool; it is (or should be) easier to use, for a wider audience.
 * 2) The Python GUI is not always easily installable/runnable (think: sysadmins with Windows desktops and/or people who don't want to, or can't, forward X).
 * 3) There are a number of cases where site policy prohibits ssh access to servers (which is what DRBD MC uses internally).

There are also some differing goals; Hawk is not intended to expose absolutely everything. There will be point somewhere where you have to say "and now you must learn to use a shell". Likewise, Hawk is not intended to install the base cluster stack for you (whereas DRBD MC does a good job of this).

Project Status
As at 2010-02-09 (version 0.2.0), we have reasonable feature parity with crm_mon.

Hawk will show you the nodes and resources in your cluster, and some general summary information (Pacemaker version, stack, DC, etc.). Errors and failed ops appear in a red bar at the top of the display. The display of nodes and resources is collapsible (collapsed by default), but if something breaks while you're looking at it, the display will expand to show the broken nodes and/or resources.

Major areas of functionality coming in future versions are:


 * Basic operator tasks (ability to stop/start/migrate resources, put nodes on standby/online etc.)
 * Explore failure scenarios (shadow CIB magic to see what would happen if a node/resource failed).
 * Ability to actually configure resources and nodes.

Installation
Hawk is intended to run on each node in your cluster. You can then access it by pointing your web browser at the IP address of any cluster node, or the address of any IPaddr(2) resource you may have configured.

The Easy Way
If you have something resembling SLES/openSUSE 11.x, packages for i586 and x86_64 can be obtained from the openSUSE Build Service:


 * openSUSE Factory
 * openSUSE 11.2
 * openSUSE 11.1
 * openSUSE 11.0
 * SLE 11

Dependencies are:


 * pacemaker
 * lighttpd
 * ruby

Once installed, start Hawk:


 * 1) rchawk start

Then, go to:

https://node-ip-or-hostname:4444/

The Hard Way
If you can't use the packages above, you can grab the source from the Mercurial repository:


 * 1) hg clone http://hg.clusterlabs.org/pacemaker/hawk
 * 2) cd hawk
 * 3) hg update tip

You will need the following dependencies (package names per openSUSE/SLES):


 * pacemaker
 * lighttpd
 * ruby
 * ruby-fcgi
 * rubygem-rake
 * rubygem-rails-2_3
 * rubygem-gettext_rails
 * (and dependencies thereof)

To just try it out, from the source directory, run:


 * 1) hawk/script/server

This will give you Hawk, running via HTTP (not HTTPS) on port 3000.

To install in /srv/www/hawk and run from an init script, read the makefile to ensure you'll be happy with the outcome, then do this:


 * 1) make
 * 2) sudo make install
 * 3) /etc/init.d/hawk start

Then, go to:

https://node-ip-or-hostname:4444/

A Note on SSL Certificates
The Hawk init script will automatically generate a self-signed SSL certificate, in /etc/lighttpd/certs/hawk-combined.pem. If you want to use your own certificate, simply replace this file with one of your creation. Note that this is a combined key and certificate, i.e. cat key cert > hawk-combined.pem.

Comments, Feedback, Questions, Bug Reports
Please direct comments, feedback, questions, etc. to the Pacemaker mailing list. Bug reports can be entered in the Linux Foundation bug tracker, but you might be better off hassling tserong in #linux-cluster or #linux-ha on irc://irc.freenode.org first.