e5189b5515
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
26 lines
763 B
Ruby
Executable File
26 lines
763 B
Ruby
Executable File
#!/opt/puppetlabs/puppet/bin/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.
|
|
# 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))
|
|
head = repo.head
|
|
|
|
# First 12 characters of the sha1 hash of the newest commit.
|
|
commit_id = head.target_id[0...11]
|
|
|
|
# Show the compiling master, environment name, and commit ID.
|
|
puts "#{compiling_master}-#{environment}-#{commit_id}"
|
|
end
|