From 03751baf8e426ea45c47167357ec0f9278134a8e Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Fri, 21 Nov 2014 18:18:15 -0500 Subject: add custom fact, providing ssh_version --- lib/facter/ssh_version.rb | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 lib/facter/ssh_version.rb (limited to 'lib') diff --git a/lib/facter/ssh_version.rb b/lib/facter/ssh_version.rb new file mode 100644 index 0000000..eb157ce --- /dev/null +++ b/lib/facter/ssh_version.rb @@ -0,0 +1,5 @@ +Facter.add("ssh_version") do + setcode do + ssh_version = Facter::Util::Resolution.exec('ssh -V 2>&1').chomp.split(' ')[0].split('_')[1] + end +end -- cgit v1.2.3 From 52fd60c9f65025d32be275d98bcc2c88b3408de2 Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Fri, 27 Mar 2015 15:24:02 -0400 Subject: Given that ssh -V prints the info we want on stderr, made it so we are 100% sure we are only parsing the expected string --- lib/facter/ssh_version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/facter/ssh_version.rb b/lib/facter/ssh_version.rb index eb157ce..51d8a00 100644 --- a/lib/facter/ssh_version.rb +++ b/lib/facter/ssh_version.rb @@ -1,5 +1,5 @@ Facter.add("ssh_version") do setcode do - ssh_version = Facter::Util::Resolution.exec('ssh -V 2>&1').chomp.split(' ')[0].split('_')[1] + ssh_version = Facter::Util::Resolution.exec('ssh -V 2>&1 1>/dev/null').chomp.split(' ')[0].split('_')[1] end end -- cgit v1.2.3 From 5c9ce49321f4ea5d502eca98d9e9a23bae57b1da Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Thu, 18 Dec 2014 11:50:32 -0500 Subject: change the ssh_keygen function to use different methods depending on if its puppet 3 or puppet 2 --- lib/puppet/parser/functions/ssh_keygen.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/puppet/parser/functions/ssh_keygen.rb b/lib/puppet/parser/functions/ssh_keygen.rb index b732b87..e304f24 100644 --- a/lib/puppet/parser/functions/ssh_keygen.rb +++ b/lib/puppet/parser/functions/ssh_keygen.rb @@ -19,10 +19,12 @@ Puppet::Parser::Functions::newfunction(:ssh_keygen, :type => :rvalue, :doc => FileUtils.mkdir_p(dir, :mode => 0700) end unless [private_key_path,public_key_path].all?{|path| File.exists?(path) } - output = Puppet::Util::Execution.execute( + executor = (Facter.value(:puppetversion).to_i < 3) ? Puppet::Util : Puppet::Util::Execution + output = executor.execute( ['/usr/bin/ssh-keygen','-t', 'rsa', '-b', '4096', '-f', private_key_path, '-P', '', '-q']) raise Puppet::ParseError, "Something went wrong during key generation! Output: #{output}" unless output.empty? end [File.read(private_key_path),File.read(public_key_path)] end + -- cgit v1.2.3