git.lirion.de

Of git, get, and gud

summaryrefslogtreecommitdiffstats
path: root/scripts/code_manager_config_version.rb
diff options
context:
space:
mode:
authormail_redacted_for_web 2017-07-05 16:55:39 -0700
committermail_redacted_for_web 2017-07-05 17:09:51 -0700
commit124b1a2727466e63cf82858bb09749454dae40d3 (patch)
tree6ce7bd7707c0abc0bbab731b4b1b908975cd4e3b /scripts/code_manager_config_version.rb
parentac9785273a1060a5b6c18129985f8cdb01c77d54 (diff)
downloadcontrol-repo-template-124b1a2727466e63cf82858bb09749454dae40d3.tar.bz2
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
Diffstat (limited to 'scripts/code_manager_config_version.rb')
-rwxr-xr-xscripts/code_manager_config_version.rb14
1 files changed, 11 insertions, 3 deletions
diff --git a/scripts/code_manager_config_version.rb b/scripts/code_manager_config_version.rb
index 2c9cb62..1ef62af 100755
--- a/scripts/code_manager_config_version.rb
+++ b/scripts/code_manager_config_version.rb
@@ -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}"