Foreman Default Hostgroup Plugin

A quick plugin to set a default hostgroup on hosts which check-in via Puppet without a Hostgroup set.

Installation

See Foreman's plugin installation documentation.

Compatibility

Foreman Version Plugin Version
<= 1.2 0.1.0
1.3 1.0.1
1.4 1.1.0
1.5 2.0.1
1.6 - 1.11 3.0.0
>= 1.12 4.0.0

Usage

The configuration is done inside foreman's plugin settings directory which is /etc/foreman/plugins/.

You can simply copy default_hostgroup.yaml.example and adjust it to fit your needs. The format is shown in the example. The simplest form would be:

---
:default_hostgroup:
  :facts_map:
    "Default":
      "hostname": ".*"

If you are ugrading from plugin version 2.0.1 or older the format of this file changes and you will need modify default_hostgroup.yaml.example to follow the format above.

Important Note: You have to restart foreman in order to apply changes in default_hostgroup.yaml!

There are also two more settings under Settings -> DefaultHostgroup

Setting Description
force_hostgroup_match Setting this to true will perform matching even on hosts that already have a hostgroup set. Enabling this needs force_hostgroup_match_only_new to be false. Default: false
force_hostgroup_match_only_new Setting this to true will only perform matching when a host uploads its facts for the first time, i.e. after provisioning or when adding an existing puppetmaster and thus its nodes into foreman. Default: true

TODO

  • Deface the Hostgroup UI to add the regular expressions directly into the Hostgroup

Contributing

Fork and send me a Pull Request. Thanks!

Copyright (c) 2013 Greg Sutcliffe

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.