config_version: Show the compiling master's name

Prior to this, the config_version script just showed the commit ID of
the version of code being compiled. This commit includes the compiling
Puppet master's hostname and environment name in the config_version.
This is very useful for debugging when a Puppet master is failing and
you have multiple masters behind a load balancer.

The output of config_version now looks like this:

pupmaster01-production-ac9785273a10
This commit is contained in:
Nate McCurdy 2017-07-05 16:55:39 -07:00
parent ac9785273a
commit 124b1a2727
3 changed files with 24 additions and 16 deletions

View File

@ -1,10 +1,18 @@
#!/usr/bin/env ruby
#!/opt/puppetlabs/puppet/bin/ruby
require 'json'
require 'socket'
environmentpath = ARGV[0]
environment = ARGV[1]
# Get the hostname of the Puppet master compiling the catalog.
compiling_master = Socket.gethostname
# Get the path to the Code Manager deployment info file.
r10k_deploy_file_path = File.join(environmentpath, environment, '.r10k-deploy.json')
#output the sha1 from the control-repo
puts JSON.parse(File.read(r10k_deploy_file_path))['signature']
# Get the first 12 characters of the commit ID out of the deployment file.
commit_id = JSON.parse(File.read(r10k_deploy_file_path))['signature'][0...11]
# Show the compiling master, environment name, and commit ID.
puts "#{compiling_master}-#{environment}-#{commit_id}"

View File

@ -1,24 +1,24 @@
#!/usr/bin/env ruby
begin
require 'rugged'
require 'socket'
rescue LoadError => e
t = Time.new
puts t.to_i
else
environmentpath = ARGV[0]
environment = ARGV[1]
# Get the hostname of the Puppet master compiling the catalog.
compiling_master = Socket.gethostname
# Get the path to the environment being compiled.
repo = Rugged::Repository.discover(File.join(environmentpath, environment))
head = repo.head
#sha1 hash of the newest commit
head_sha = head.target_id
# First 12 characters of the sha1 hash of the newest commit.
commit_id = head.target_id[0...11]
#the commit message associated the newest commit
commit = repo.lookup(head_sha)
#add something to find the remote url
puts head_sha
# Show the compiling master, environment name, and commit ID.
puts "#{compiling_master}-#{environment}-#{commit_id}"
end