Project

General

Profile

Actions

Feature #393

closed

foreman: report URL configuration.

Added by Mike Mestnik over 13 years ago. Updated over 11 years ago.

Status:
Rejected
Priority:
Normal
Assignee:
-
Category:
Puppet integration
Target version:
-
Difficulty:
Triaged:
Fixed in Releases:
Found in Releases:

Description

--- /usr/share/foreman/extras/puppet/foreman/files/foreman-report.rb    2010-06-07 02:37:59.000000000 -0500
+++ files/foreman.rb    2010-09-30 13:40:07.000000000 -0500
@@ -3,8 +3,6 @@
 # reports=log, foreman # (or any other reports you want)

 # URL of your Foreman installation
-$foreman_url="http://foreman:3000" 
-
 require 'puppet'
 require 'net/http'
 require 'uri'
@@ -15,17 +13,18 @@

     def process
       begin
-        uri = URI.parse($foreman_url)
+        uri = URI.parse(Puppet[:foremanurl])
         http = Net::HTTP.new(uri.host, uri.port)
         if uri.scheme == 'https' then
           http.use_ssl = true
           http.verify_mode = OpenSSL::SSL::VERIFY_NONE
         end
-        req = Net::HTTP::Post.new("/reports/create?format=yml")
+        req = Net::HTTP::Post.new(Puppet[:foremanurl]+
+          "/reports/create?format=yml")
         req.set_form_data({'report' => to_yaml})
         response = http.request(req)
       rescue Exception => e
-        raise Puppet::Error, "Could not send report to Foreman at #{$foreman_url}/reports/create?format=yml: #{e}" 
+        raise Puppet::Error, "Could not send report to Foreman at #{Puppet[:foremanurl]}/reports/create?format=yml: #{e}" 
       end
     end
 end

Changes also made to /usr/lib/ruby/1.8/puppet/defaults.rb though I can't say if these are necessary. After line 634 reporturl: "The URL used by the http reports processor to send reports"]
Put a ',' at the end of that line and add something like:
    :foremanurl => ["http://localhost:3000/reports",
      "The URL used by the http reports processor to send reports"]

I didn't do anything more, but add this to my puppet master config section.
    foremanurl = http://commestnik.local/foreman

Rather I added this to a template:

    foremanurl = http://<%= puppetserver rescue "commestnik.local" 
                %>/foreman

Actions #1

Updated by Ohad Levy over 13 years ago

  • Category set to Puppet integration
  • Target version set to 0.2
Actions #2

Updated by Ohad Levy about 13 years ago

  • Target version deleted (0.2)
Actions #3

Updated by Benjamin Papillon over 11 years ago

  • Status changed from New to Rejected

Sorry, I'm closing this one. To quote one developer :
"requiring an edit to puppet's known settings to tell it about foreman is wrong"

Benjamin

Actions #4

Updated by Dominic Cleal over 11 years ago

Requiring a new "foremanurl" setting to be added to Puppet to configure an external report processor is the wrong approach and wouldn't get merged into Puppet core.

The way we're doing this is through the puppet-foreman module in the installer, so the URL's configurable as a module param.

Actions

Also available in: Atom PDF