blob: f3e0957b7ff2c6cead66ba2261640655c93d1fe3 [file] [log] [blame]
#
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
#
#
require 'puppet'
Puppet::Reports.register_report(:hmcreport) do
desc <<-DESC
Send summary report information to the report directory."
DESC
def process
client = self.configuration_version
summary = self.to_yaml
dir = File.join(Puppet[:reportdir], client)
if ! FileTest.exists?(dir)
FileUtils.mkdir_p(dir)
FileUtils.chmod_R(0750, dir)
end
file = self.host
destination = File.join(dir, file)
begin
File.open(destination, "w", 0640) do |f|
f.print summary
end
rescue => detail
puts detail.backtrace if Puppet[:trace]
Puppet.warning "Could not write report for #{self.host} at #{destination}: #{detail}"
end
# Only testing cares about the return value
file
end
end