puppet-hipchat
puppet-hipchat copied to clipboard
A Puppet report processor that announces failed runs to HipChat
Puppet Hipchat
Migrated
This module has been migrated to voxpupuli: https://github.com/voxpupuli/puppet-report_hipchat
Description
A Puppet report handler for sending notifications of Puppet runs to HipChat.
TravisCI status
Requirements
ruby >= 1.9.3Note: PE puppet-master 3.x and PE/opensource puppetserver bundled versions of ruby should meet required version.hipchat >= 0.12.0puppet
For Cent/RHEL 6 users running open source puppet-master 3.x, puppet utilizes the system ruby as such the latest repository provided version of ruby is 1.8.7, this means use of RVM or some other method to install a modern version of ruby will be required.
For the room in which you want to receive puppet notifications, add a new BYO Integration. This will return an example url: https://example.hipchat.com/v2/room/123456789/notification?auth_token=WzP0dc4oEESuSmF2WJT23GtL5mili9uXof73M48S
https://example.hipchat.com is the server (you can use on premise hipchat servers as well)
v2 is the api version
123456789 is the room
WzP0dc4oEESuSmF2WJT23GtL5mili9uXof73M48S is the api_key
Installation
Installation utilizing puppet
class { 'puppet_hipchat':
server => 'https://example.hipchat.com',
api_version => 'v2',
api_key => 'WzP0dc4oEESuSmF2WJT23GtL5mili9uXof73M48S',
room => '123456789',
install_hc_gem => true,
provider => 'puppetserver_gem',
}
With puppetboard link:
class { 'puppet_hipchat':
server => 'https://example.hipchat.com',
api_version => 'v2',
api_key => 'WzP0dc4oEESuSmF2WJT23GtL5mili9uXof73M48S',
room => '123456789',
install_hc_gem => true,
provider => 'puppetserver_gem',
puppetboard => 'https://puppetboard.test.local',
}
With dashboard link:
class { 'puppet_hipchat':
server => 'https://example.hipchat.com',
api_version => 'v2',
api_key => 'WzP0dc4oEESuSmF2WJT23GtL5mili9uXof73M48S',
room => '123456789',
install_hc_gem => true,
provider => 'puppetserver_gem',
dashboard => 'https://dashboard.test.local',
}
If you need to use a proxy to reach the hipchat server:
class { 'puppet_hipchat':
server => 'https://example.hipchat.com',
api_version => 'v2',
api_key => 'WzP0dc4oEESuSmF2WJT23GtL5mili9uXof73M48S',
room => '123456789',
install_hc_gem => true,
provider => 'puppetserver_gem',
proxy => 'http://proxy.test.local:8080',
}
Where provider is the following:
puppetserver_gemused for opensource and pe puppetserver requires puppetlabs-pe_gempe_gemused for PE puppet master 3.x requires puppetlabs-pe_gemgemused for opensource puppet-master
Lastly Enable pluginsync and reports on your master and clients in puppet.conf
[master]
report = true
reports = hipchat
pluginsync = true
[agent]
report = true
pluginsync = true
Manual Installation
- Install the
hipchatgem on your Puppet server
NOTE FOR PE/Open Source puppetserver package 2.0.0+ USERS: You must install the hipchat gem using the
puppetserver gem utility:
$ /opt/puppetlabs/bin/puppetserver gem install hipchat
NOTE FOR PE puppet-master USERS: You must install the hipchat gem using the
puppet-bundled gem library:
$ /opt/puppet/bin/gem install hipchat
NOTE FOR Open Source puppet-master USERS: You must install the hipchat gem using the system gem utility:
$ sudo gem install hipchat
-
Install puppet-hipchat as a module in your Puppet master's module path.
-
Update the
hipchat_server,hipchat_api_version,hipchat_api,hipchat_roomvariables in thehipchat.yamlfile with your Hipchat connection details and copy the file to/etc/puppet/or for PE/OpenSource puppetserver/etc/puppetlabs/puppet.--- :hipchat_server: 'https://test.hipchat.com' :hipchat_api_version: 'v2', :hipchat_api: 'WzP0dc4oEESuSmF2WJT23GtL5mili9uXof73M48S' :hipchat_room: '123456789' -
Enable pluginsync and reports on your master and clients in
puppet.conf[master] report = true reports = hipchat pluginsync = true [agent] report = true pluginsync = true -
Run the Puppet client and sync the report as a plugin
Usage
-
An option to notify users in the room
hipchat_notifydefaults tofalse. -
You can also change the default notification color from yellow to red, green, purple or random.
-
The
hipchat_statusesshould be an array of statuses to send notifications for and defaults to'failed'. Specify'all'to receive notifications from all Puppet runs. -
In order to send notifications through proxy server set
hipchat_proxyto your HTTP proxy URL using this format:'http://username:password@proxy_host:proxy_port'
-
If you use Puppetboard set
hipchat_puppetboardto the base URL of your Puppetboard installation, e.g.'http://puppetboard.example.com'and a link to the node's latest report will be send with the message to HipChat. An example file is included.NOTE FOR PUPPETBOARD 0.1.2+ USERS: if you are using environments other than production you will need to either configure puppetboard default environment to * or set
hipchat_serverto append /%2A, ex::hipchat_server: http://hipchat.test.local/%2Aotherwise you will receive a not found error for any nodes in environments other thanproduction. -
To temporarily disable HipChat notifications add a file named
hipchat_disabledin the same path ashipchat.yaml. Removing it will re-enable notifications.$ touch /etc/puppet/hipchat_disabled
Team
Maintainer: James Powis
Original author: James Turnbull [email protected]
License
Author:: James Turnbull (<[email protected]>)
Copyright:: Copyright (c) 2011 James Turnbull
License:: Apache License, Version 2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.