Skip to content

theforeman/foreman_default_hostgroup

develop
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 

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
>= 1.16 4.0.1
>= 1.16 5.0.0
>= 2.2.0 6.0.0
>= 3.0 7.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": ".*"

Default is the host group name (more precisely title) that will be assigned if all its the rules matches. Under the host group name, there's a list of rules. If all of them (in this example just one) is matching, the host is assigned to the Default host group. The hostname is the name of the fact while the value .* is used as a regular expression. This rule means host with any hostname is added to the Default host group.

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/.

About

A plugin to set the default hostgroup when hosts are created.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages