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:
		
							parent
							
								
									ac9785273a
								
							
						
					
					
						commit
						124b1a2727
					
				@ -1,10 +1,18 @@
 | 
				
			|||||||
#!/usr/bin/env ruby
 | 
					#!/opt/puppetlabs/puppet/bin/ruby
 | 
				
			||||||
require 'json'
 | 
					require 'json'
 | 
				
			||||||
 | 
					require 'socket'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
environmentpath = ARGV[0]
 | 
					environmentpath = ARGV[0]
 | 
				
			||||||
environment     = ARGV[1]
 | 
					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')
 | 
					r10k_deploy_file_path = File.join(environmentpath, environment, '.r10k-deploy.json')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#output the sha1 from the control-repo
 | 
					# Get the first 12 characters of the commit ID out of the deployment file.
 | 
				
			||||||
puts JSON.parse(File.read(r10k_deploy_file_path))['signature']
 | 
					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}"
 | 
				
			||||||
 | 
				
			|||||||
@ -1,24 +1,24 @@
 | 
				
			|||||||
#!/usr/bin/env ruby
 | 
					#!/usr/bin/env ruby
 | 
				
			||||||
begin
 | 
					begin
 | 
				
			||||||
  require 'rugged'
 | 
					  require 'rugged'
 | 
				
			||||||
 | 
					  require 'socket'
 | 
				
			||||||
rescue LoadError => e
 | 
					rescue LoadError => e
 | 
				
			||||||
  t = Time.new
 | 
					  t = Time.new
 | 
				
			||||||
  puts t.to_i
 | 
					  puts t.to_i
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
 | 
					 | 
				
			||||||
  environmentpath = ARGV[0]
 | 
					  environmentpath = ARGV[0]
 | 
				
			||||||
  environment     = ARGV[1]
 | 
					  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))
 | 
					  repo = Rugged::Repository.discover(File.join(environmentpath, environment))
 | 
				
			||||||
  head = repo.head
 | 
					  head = repo.head
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  #sha1 hash of the newest commit
 | 
					  # First 12 characters of the sha1 hash of the newest commit.
 | 
				
			||||||
  head_sha = head.target_id
 | 
					  commit_id = head.target_id[0...11]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  #the commit message associated the newest commit
 | 
					  # Show the compiling master, environment name, and commit ID.
 | 
				
			||||||
  commit = repo.lookup(head_sha)
 | 
					  puts "#{compiling_master}-#{environment}-#{commit_id}"
 | 
				
			||||||
 | 
					 | 
				
			||||||
  #add something to find the remote url
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  puts head_sha 
 | 
					 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user