文件操作 - fact_handler.rb
返回文件管理
返回主菜单
删除本文件
文件: /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer/fact_handler.rb
编辑文件内容
# frozen_string_literal: true require_relative '../../puppet/indirector/facts/facter' require_relative '../../puppet/configurer' require_relative '../../puppet/configurer/downloader' # Break out the code related to facts. This module is # just included into the agent, but having it here makes it # easier to test. module Puppet::Configurer::FactHandler def find_facts # This works because puppet agent configures Facts to use 'facter' for # finding facts and the 'rest' terminus for caching them. Thus, we'll # compile them and then "cache" them on the server. facts = Puppet::Node::Facts.indirection.find(Puppet[:node_name_value], :environment => Puppet::Node::Environment.remote(@environment)) unless Puppet[:node_name_fact].empty? Puppet[:node_name_value] = facts.values[Puppet[:node_name_fact]] facts.name = Puppet[:node_name_value] end facts rescue SystemExit, NoMemoryError raise rescue Exception => detail message = _("Could not retrieve local facts: %{detail}") % { detail: detail } Puppet.log_exception(detail, message) raise Puppet::Error, message, detail.backtrace end def facts_for_uploading encode_facts(find_facts) end def encode_facts(facts) # facts = find_facts # NOTE: :facts specified as parameters are URI encoded here, # then encoded for a second time depending on their length: # # <= 1024 characters sent via query string of a HTTP GET, additionally query string encoded # > 1024 characters sent in POST data, additionally x-www-form-urlencoded # so it's only important that encoding method here return original values # correctly when CGI.unescape called against it (in compiler code) if Puppet[:preferred_serialization_format] == "pson" { :facts_format => :pson, :facts => Puppet::Util.uri_query_encode(facts.render(:pson)) } else { :facts_format => 'application/json', :facts => Puppet::Util.uri_query_encode(facts.render(:json)) } end end end
修改文件时间
将文件时间修改为当前时间的前一年
删除文件