diff options
author | mail_redacted_for_web | 2017-07-05 16:55:39 -0700 |
---|---|---|
committer | mail_redacted_for_web | 2017-07-05 17:09:51 -0700 |
commit | 124b1a2727466e63cf82858bb09749454dae40d3 (patch) | |
tree | 6ce7bd7707c0abc0bbab731b4b1b908975cd4e3b /scripts | |
parent | ac9785273a1060a5b6c18129985f8cdb01c77d54 (diff) | |
download | control-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')
-rwxr-xr-x | scripts/code_manager_config_version.rb | 14 | ||||
-rwxr-xr-x | scripts/config_version.rb | 20 | ||||
-rwxr-xr-x | scripts/config_version.sh | 6 |
3 files changed, 24 insertions, 16 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}" diff --git a/scripts/config_version.rb b/scripts/config_version.rb index 3016a27..5aade34 100755 --- a/scripts/config_version.rb +++ b/scripts/config_version.rb @@ -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] - repo = Rugged::Repository.discover(File.join(environmentpath, environment)) - head = repo.head - - #sha1 hash of the newest commit - head_sha = head.target_id + # Get the hostname of the Puppet master compiling the catalog. + compiling_master = Socket.gethostname - #the commit message associated the newest commit - commit = repo.lookup(head_sha) + # Get the path to the environment being compiled. + repo = Rugged::Repository.discover(File.join(environmentpath, environment)) + head = repo.head - #add something to find the remote url + # First 12 characters of the sha1 hash of the newest commit. + commit_id = head.target_id[0...11] - puts head_sha + # Show the compiling master, environment name, and commit ID. + puts "#{compiling_master}-#{environment}-#{commit_id}" end diff --git a/scripts/config_version.sh b/scripts/config_version.sh index bc77213..8dd8086 100755 --- a/scripts/config_version.sh +++ b/scripts/config_version.sh @@ -3,10 +3,10 @@ if [ -e $1/$2/.r10k-deploy.json ] then /opt/puppetlabs/puppet/bin/ruby $1/$2/scripts/code_manager_config_version.rb $1 $2 elif [ -e /opt/puppetlabs/server/pe_version ] -then - /opt/puppetlabs/puppet/bin/ruby $1/$2/scripts/config_version.rb $1 $2 +then + /opt/puppetlabs/puppet/bin/ruby $1/$2/scripts/config_version.rb $1 $2 else /usr/bin/git --version > /dev/null 2>&1 && /usr/bin/git --git-dir $1/$2/.git rev-parse HEAD || date +%s -fi +fi |