Next-generation automation software for bare-metal and virtual server provisioning.
Ruby JavaScript CSS C Other
Pull request Compare This branch is 2 commits ahead, 512 commits behind csc:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
archive/ext
cli
core
script
test
util
web
.autotest
.gitignore
.mailmap
.yardopts
CONTRIBUTING.md
Gemfile
LICENSE
README.md
Rakefile
TESTING.md
hanlon.gemspec
hanlon_init

README.md

Project Hanlon

Introduction

Project Hanlon is a power control, provisioning, and management application designed to deploy both bare-metal and virtual computer resources. Hanlon provides broker plugins for integration with third party such as Puppet.

Hanlon started its life as Razor so you may encounter links to original created-for-Razor content. The following links, for example, provide a background info about the project:

Project Hanlon is versioned with semantic versioning, and we follow the precepts of that document.

How to Get Help

We really want Hanlon to be simple to contribute to, and to ensure that you can get started quickly. A big part of that is being available to help you figure out the right way to solve a problem, and to make sure you get up to speed quickly.

You can always reach out and ask for help by email or through the web on the hanlon-project@googlegroups.com mailing list. (membership is required to post.)

If you want to help improve Hanlon directly we have a fairly detailed CONTRIBUTING guide in the repository that you can use to understand how code gets in to the system, how the project runs, and how to make changes yourself.

We welcome contributions at all levels, including working strictly on our documentation, tests, or code contributions. We also welcome, and value, input about your experiences with Project Hanlon, and provisioning in general, on the mailing list as we discuss how the project should solve problems.

Installation

Follow wiki documentation for Installation Overview

Project Committers

This is the official list of users with "committer" rights to the Hanlon project. For details on what that means, see the CONTRIBUTING guide in the repository

If you can't figure out who to contact, Tom McSweeney is the best first point of contact for the project. (Find me at Tom McSweeney tjmcs@bendbroadband.com)

This is a hand-maintained list, thanks to the limits of technology. Please let Tom McSweeney know if you run into any errors or omissions in that list.

Hanlon MicroKernel

Hanlon uses an associated Hanlon-Microkernel instance to discover new nodes. Pre-build images of the current Hanlon-Microkernel (v1.0) are officially available at:

https://github.com/csc/Hanlon-Microkernel/releases/tag/v1.0

On that page, you will find three Microkernel images (hnl_mk_debug-image.1.0.iso, hnl_mk_dev-image.1.0.iso and hnl_mk_prod-image.1.0.iso). Those correspond to the debug, development and production Microkernels (respectively). The difference between them is as follows:

  • debug

    In a debug Microkernel, remote access to the Microkernel is allowed for the tc user via SSH. The tc user is also logged into the Microkernel instance automatically when the node boot process is complete. This Microkernel is useful for debugging problems with the process of booting and reporting in to the Hanlon server, but should not be used in production.

  • development

    In a development Microkernel, remote access to the Microkernel is allowed for the tc user via SSH. Local access (via the console) is also enabled for the tc once the node boot process is complete, but a password is required. This Microkernel type is useful for developers working on Hanlon, where remote access to the Microkernel might be required. While slightly more secure than the debug Microkernel (above), this Microkernel is also one that is not intended for use in a production.

  • production

    In a production Microkernel, remote access to the Microkernel is disabled completely, as is local access (via the console). This Microkernel is intended for use in a production environment, where access to the resources of the underlying node through the Microkernel could prove to be a security risk. Obviously, disabling local and remote access to the Microkernel makes this type of Microkernel unsuitable for development (on either Hanlon or the Hanlon-Microkernel).

You can find more information on the Microkernel and on the process for building your own Microkernel images at the Hanlon MicroKernel project page:

https://github.com/csc/Hanlon-Microkernel

License

Project Hanlon is distributed under the Apache 2.0 license. See the LICENSE file for full details.

Reference

The following links contain useful information on the Hanlon (and Hanlon-Microkernel) projects as well as information on the new CSC Open Source Program:

This set of links, on the other hand, provide an introduction to the original Razor project (and, as such, may be of interest to those new to the Razor/Hanlon community):

Finally, this link provides information on the Puppet Labs Module that was written to manage the deployment and configuration of Razor by Puppet.

Even though it doesn't support Hanlon, the information in that blog may provide useful to those who would like to develop a corresponding Hanlon module since the Hanlon is firmly rooted in the original Razor project.