Skip to content

Instantly share code, notes, and snippets.

@xeon22
Last active August 29, 2015 14:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xeon22/b3861fe5af6e7128f312 to your computer and use it in GitHub Desktop.
Save xeon22/b3861fe5af6e7128f312 to your computer and use it in GitHub Desktop.
* ruby_block[check_domain_membership] action run[2015-02-12T14:32:08-05:00] INFO: Processing ruby_block[check_domain_membership] action run (pcc_site::windows line 33)
================================================================================
Error executing action `run` on resource 'ruby_block[check_domain_membership]'
================================================================================
NoMethodError
-------------
undefined method `powershell_out' for Chef::Resource::RubyBlock
Resource Declaration:
---------------------
# In C:/chef/cache/cookbooks/pcc_site/recipes/windows.rb
33: ruby_block "check_domain_membership" do
34: block do
35: # require 'mixlib/shellout'
36:
37: # cmd = Mixlib::ShellOut.new("powershell (gwmi win32_computersystem).partofdomain")
38: # cmd.run_command
39: # node.run_state['is_domain_member'] = cmd.stdout.chop.downcase
40:
41: node.run_state['is_domain_member'] = powershell_out(
42: "powershell (gwmi win32_computersystem).partofdomain"
43: ).stdout.chop
44:
45: Chef::Log.warn "Is domain member: #{node.run_state['is_domain_member']}"
46: end
47: end
48:
49: #
50: # Run the domain join powershell script
51: #
52: begin
53: reg_path = ['HKLM', 'Software', 'JavaSoft', 'Java Development Kit']
54: jdk_major_version = registry_get_values(reg_path.join('\\'), :machine).last
55: jdk_home = registry_get_values(reg_path.concat([jdk_major_version[:data]]).join('\\'), :machine).first
56: node.run_state['java_home'] = jdk_home[:data]
57: Chef::Log.info "Found a JAVA_HOME @ #{node.run_state['java_home']}"
58: rescue Exception => e
59: Chef::Log.warn 'No registry information for the JDK is available'
60: Chef::Log.warn e.message
61: end
62:
63: # Obtain the creds from the enc. data bag
64: begin
65: Chef::Log.warn "Is domain member: #{node.run_state['is_domain_member']}"
66:
67: unless true
68: creds = Chef::EncryptedDataBagItem.load('secrets', 'qa')
69:
70: powershell_script File.join(ENV['TEMP'], "join_domain.ps1") do
71: code <<-EOH
72: $username = "#{creds['username']}"
73: $password = ConvertTo-SecureString #{creds['password'].gsub('$', '`$')} -asPlainText -Force
74: $credential = New-Object System.Management.Automation.PSCredential($username,$password)
75: $domain = Add-Computer -domainname #{node['pcc']['windows']['domain']['name']} -Credential $credential -passthru
76: Write-EventLog -LogName Application -EventId 1 -Source EC2Config -Message "Domain addition: $domain"
77: EOH
78:
79: notifies :request, 'windows_reboot[60]'
80: end
81: end
82: rescue Exception => e
83: Chef::Log.error "Error loading encrypted data bag"
84: Chef::Log.error e.message
85: end
Compiled Resource:
------------------
# Declared in C:/chef/cache/cookbooks/pcc_site/recipes/windows.rb:33:in `from_file'
ruby_block("check_domain_membership") do
action "run"
retries 0
retry_delay 2
default_guard_interpreter :default
block_name "check_domain_membership"
declared_type :ruby_block
cookbook_name "pcc_site"
recipe_name "windows"
block #<Proc:0x33dbe88@C:/chef/cache/cookbooks/pcc_site/recipes/windows.rb:34>
end
[2015-02-12T14:32:08-05:00] INFO: Running queued delayed notifications before re-raising exception
Running handlers:
[2015-02-12T14:32:08-05:00] ERROR: Running exception handlers
Running handlers complete
[2015-02-12T14:32:08-05:00] ERROR: Exception handlers complete
[2015-02-12T14:32:08-05:00] FATAL: Stacktrace dumped to C:/chef/cache/chef-stacktrace.out
Chef Client failed. 4 resources updated in 35.807 seconds
[2015-02-12T14:32:08-05:00] FATAL: NoMethodError: ruby_block[check_domain_membership] (pcc_site::windows line 33) had an error: NoMethodError: undefined method `powershell_out' for Chef::Resource::RubyBlock
---- Stacktrace.out -------
Generated at 2015-02-12 14:32:34 -0500
NoMethodError: ruby_block[check_domain_membership] (pcc_site::windows line 33) had an error: NoMethodError: undefined method `powershell_out' for Chef::Resource::RubyBlock
C:/opscode/chef/embedded/apps/chef/lib/chef/resource.rb:212:in `method_missing'
C:/chef/cache/cookbooks/pcc_site/recipes/windows.rb:41:in `block (2 levels) in from_file'
C:/opscode/chef/embedded/apps/chef/lib/chef/provider/ruby_block.rb:35:in `call'
C:/opscode/chef/embedded/apps/chef/lib/chef/provider/ruby_block.rb:35:in `block in action_run'
C:/opscode/chef/embedded/apps/chef/lib/chef/mixin/why_run.rb:52:in `call'
C:/opscode/chef/embedded/apps/chef/lib/chef/mixin/why_run.rb:52:in `add_action'
C:/opscode/chef/embedded/apps/chef/lib/chef/provider.rb:180:in `converge_by'
C:/opscode/chef/embedded/apps/chef/lib/chef/provider/ruby_block.rb:34:in `action_run'
C:/opscode/chef/embedded/apps/chef/lib/chef/provider.rb:145:in `run_action'
C:/opscode/chef/embedded/apps/chef/lib/chef/resource.rb:582:in `run_action'
C:/opscode/chef/embedded/apps/chef/lib/chef/runner.rb:49:in `run_action'
C:/opscode/chef/embedded/apps/chef/lib/chef/runner.rb:81:in `block (2 levels) in converge'
C:/opscode/chef/embedded/apps/chef/lib/chef/runner.rb:81:in `each'
C:/opscode/chef/embedded/apps/chef/lib/chef/runner.rb:81:in `block in converge'
C:/opscode/chef/embedded/apps/chef/lib/chef/resource_collection/resource_list.rb:83:in `block in execute_each_resource'
C:/opscode/chef/embedded/apps/chef/lib/chef/resource_collection/stepable_iterator.rb:116:in `call'
C:/opscode/chef/embedded/apps/chef/lib/chef/resource_collection/stepable_iterator.rb:116:in `call_iterator_block'
C:/opscode/chef/embedded/apps/chef/lib/chef/resource_collection/stepable_iterator.rb:85:in `step'
C:/opscode/chef/embedded/apps/chef/lib/chef/resource_collection/stepable_iterator.rb:104:in `iterate'
C:/opscode/chef/embedded/apps/chef/lib/chef/resource_collection/stepable_iterator.rb:55:in `each_with_index'
C:/opscode/chef/embedded/apps/chef/lib/chef/resource_collection/resource_list.rb:81:in `execute_each_resource'
C:/opscode/chef/embedded/apps/chef/lib/chef/runner.rb:80:in `converge'
C:/opscode/chef/embedded/apps/chef/lib/chef/client.rb:315:in `converge'
C:/opscode/chef/embedded/apps/chef/lib/chef/client.rb:400:in `block in run'
C:/opscode/chef/embedded/apps/chef/lib/chef/client.rb:399:in `catch'
C:/opscode/chef/embedded/apps/chef/lib/chef/client.rb:399:in `run'
C:/opscode/chef/embedded/apps/chef/lib/chef/application.rb:243:in `run_with_graceful_exit_option'
C:/opscode/chef/embedded/apps/chef/lib/chef/application.rb:220:in `block in run_chef_client'
C:/opscode/chef/embedded/apps/chef/lib/chef/local_mode.rb:38:in `with_server_connectivity'
C:/opscode/chef/embedded/apps/chef/lib/chef/application.rb:201:in `run_chef_client'
C:/opscode/chef/embedded/apps/chef/lib/chef/application/client.rb:328:in `run_application'
C:/opscode/chef/embedded/apps/chef/lib/chef/application.rb:58:in `run'
C:/opscode/chef/embedded/apps/chef/bin/chef-client:26:in `<top (required)>'
C:/opscode/chef/bin/chef-client:52:in `load'
C:/opscode/chef/bin/chef-client:52:in `<main>'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment