From 09df4b4961da424319d5208740aebbc9009eaa7b Mon Sep 17 00:00:00 2001 From: Nate McCurdy Date: Fri, 15 Dec 2017 12:48:47 -0600 Subject: [PATCH 1/2] Use the puppet-agent ruby in config_version.rb Prior to this, the config_version.rb script (used for r10k) attempted to use the system ruby to parse the script. This caused problems on Puppet masters that don't have `ruby` in PATH. This fixes that by hardcoding the puppet-agent's ruby in the shebang. --- scripts/config_version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/config_version.rb b/scripts/config_version.rb index 5aade34..9ccd8d5 100755 --- a/scripts/config_version.rb +++ b/scripts/config_version.rb @@ -1,4 +1,4 @@ -#!/usr/bin/env ruby +#!/opt/puppetlabs/puppet/bin/ruby begin require 'rugged' require 'socket' From e5189b5515ea376a7e9763d3ad70e66cf116f24c Mon Sep 17 00:00:00 2001 From: Nate McCurdy Date: Fri, 15 Dec 2017 12:52:14 -0600 Subject: [PATCH 2/2] Show the short hostname, not the FQDN in config_version This is mainly a style and readability change. Prior to this, on masters whose hostname is actually their FQDN, the config_version script would show the entire FQDN. On nodes with really longs FQDN's, it was not very nice to look at. This takes the hostname of the master, splits it on dots (.) and takes the first segment. Now this: compile-master-02.int.lab.dmz.company-name.net-production-48fd18ab Is this: compile-master-02-production-48fd18ab --- scripts/code_manager_config_version.rb | 3 ++- scripts/config_version.rb | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/code_manager_config_version.rb b/scripts/code_manager_config_version.rb index 1ef62af..beacabc 100755 --- a/scripts/code_manager_config_version.rb +++ b/scripts/code_manager_config_version.rb @@ -6,7 +6,8 @@ environmentpath = ARGV[0] environment = ARGV[1] # Get the hostname of the Puppet master compiling the catalog. -compiling_master = Socket.gethostname +# Sometimes the hostname is the fqdn, so we'll take the first segment. +compiling_master = Socket.gethostname.split('.').first # Get the path to the Code Manager deployment info file. r10k_deploy_file_path = File.join(environmentpath, environment, '.r10k-deploy.json') diff --git a/scripts/config_version.rb b/scripts/config_version.rb index 9ccd8d5..3de7104 100755 --- a/scripts/config_version.rb +++ b/scripts/config_version.rb @@ -10,7 +10,8 @@ else environment = ARGV[1] # Get the hostname of the Puppet master compiling the catalog. - compiling_master = Socket.gethostname + # Sometimes the hostname is the fqdn, so we'll take the first segment. + compiling_master = Socket.gethostname.split('.').first # Get the path to the environment being compiled. repo = Rugged::Repository.discover(File.join(environmentpath, environment))