0
아래 요리사 요리법을 만들고 있습니다. 그러나, 내 shell_out 호출은 확장 변수의 16 진수 값을 반환합니다. 정크 16 진수 값이 아닌 변수에서 찾기 명령의 값을 얻는 방법?요리사가 쉘 값을 16 진수로 바꾼다
여기 여기 :: 내 조리법에서
so = nil
bash "getPath" do
Chef::Resource::RubyBlock.send(:include, Chef::Mixin::ShellOut)
command = "find \/ -path \\*ohai\/plugins"
so = shell_out(command)
end
listOfFiles = ["#{so}\cert.rb","#{so}\key.rb","#{so}\perms.rb","#{so}\propertiesFiles.rb","#{so}\warFiles.rb","#{so}\yum.rb"]
templates = { 1 => "cert.rb", 2 => "key.rb", 3 => "perms.rb", 4 => "propertiesFiles.rb", 5 => "warFiles.rb", 6 => "yum.rb" }
i = 1
listOfFiles.each do |remote|
template "#{remote}" do
source 'cert.rb' #this is going to be a variable once I figure out how to call it from the "templates" hash. Just doing a static file for troubleshooting purposes now
owner 'root'
group 'root'
mode '0644'
action :create
end
end
관련 코드 snipet 인 요리사 클라이언트 실행 출력의 일부입니다 거의 다
- create new file #<Mixlib::ShellOut:0x00000004dd88b8>yum.rb
- update content in file #<Mixlib::ShellOut:0x00000004dd88b8>yum.rb from none to fccd51
--- #<Mixlib::ShellOut:0x00000004dd88b8>yum.rb 2016-10-31 11:52:40.652276263 -0400
+++ ./.chef-#<Mixlib::ShellOut:0x00000004dd88b8>yum20161031-8408-1svdruo.rb 2016-10-31 11:52:40.652276263 -0400
@@ -1 +1,17 @@
+#
+# Cookbook Name:: inventory
+# Recipe:: default
+#
+# Copyright (c) 2016 me, All Rights Reserved.
+
+Ohai.plugin(:Cert) do
+ provides 'certFiles'
+
+ collect_data(:linux) do
+ certFiles Mash.new
+ so = shell_out("find \/ -name \"*.crt\"")
+ certFiles[:values] = so.stdout
+ end
+end
+
- change mode from '' to '0644'
- change owner from '' to 'root'
- change group from '' to 'root'
- restore selinux security context
* ohai[reload] action reloadPuTTYPuTTYPuTTYPuTTYPuTTY
- re-run ohai and merge results into node attributes
Running handlers:
Running handlers complete
Chef Client finished, 8/20 resources updated in 05 seconds
[[email protected] plugins]# PuTTYPuTTYPuTTYPuTTYPuTTY^C