postgresql_extension install fails - NoMethodError: undefined method `[]' for nil:NilClass
noellowry opened this issue · comments
👻 Brief Description
Trying to install extension but fails with NoMethodError: undefined method `[]' for nil:NilClass
🥞 Cookbook version
9.0.3
👩🍳 Chef-Infra Version
17.4.38
🎩 Platform details
vSphere
🚓 Expected behavior
Expect that extension gets installed but it ends in error
postgresql_extension 'pg_stat_statements' do
database 'postgres'
end
17:43:52 �[0;32m vsphere-iso: * postgresql_extension[pg_stat_statements] action create�[0m
17:43:52 �[0;32m vsphere-iso: * bash[CREATE EXTENSION pg_stat_statements] action run�[0m
17:43:52 �[0;32m vsphere-iso:�[0m
17:43:52 �[0;32m vsphere-iso: ================================================================================�[0m
17:43:52 �[0;32m vsphere-iso: Error executing action `run` on resource 'bash[CREATE EXTENSION pg_stat_statements]'�[0m
17:43:52 �[0;32m vsphere-iso: ================================================================================�[0m
17:43:52 �[0;32m vsphere-iso:�[0m
17:43:52 �[0;32m vsphere-iso: NoMethodError�[0m
17:43:52 �[0;32m vsphere-iso: -------------�[0m
17:43:52 �[0;32m vsphere-iso: undefined method `[]' for nil:NilClass�[0m
17:43:52 �[0;32m vsphere-iso:�[0m
17:43:52 �[0;32m vsphere-iso: Cookbook Trace: (most recent call first)�[0m
17:43:52 �[0;32m vsphere-iso: ----------------------------------------�[0m
17:43:52 �[0;32m vsphere-iso: /tmp/packer-chef-solo/local-mode-cache/cache/cookbooks/postgresql/libraries/helpers.rb:147:in `data_dir'�[0m
17:43:52 �[0;32m vsphere-iso: /tmp/packer-chef-solo/local-mode-cache/cache/cookbooks/postgresql/libraries/helpers.rb:175:in `follower?'�[0m
17:43:52 �[0;32m vsphere-iso: /tmp/packer-chef-solo/local-mode-cache/cache/cookbooks/postgresql/resources/extension.rb:36:in `block (3 levels) in class_from_file'�[0m
17:43:52 �[0;32m vsphere-iso: /tmp/packer-chef-solo/local-mode-cache/cache/cookbooks/postgresql/resources/extension.rb:31:in `block in class_from_file'�[0m
17:43:52 �[0;32m vsphere-iso:�[0m
17:43:52 �[0;32m vsphere-iso: Resource Declaration:�[0m
17:43:52 �[0;32m vsphere-iso: ---------------------�[0m
17:43:52 �[0;32m vsphere-iso: # In /tmp/packer-chef-solo/local-mode-cache/cache/cookbooks/postgresql/resources/extension.rb�[0m
17:43:52 �[0;32m vsphere-iso:�[0m
17:43:52 �[0;32m vsphere-iso: 31: bash "CREATE EXTENSION #{new_resource.name}" do�[0m
17:43:52 �[0;32m vsphere-iso: 32: code create_extension_sql(new_resource)�[0m
17:43:52 �[0;32m vsphere-iso: 33: user 'postgres'�[0m
17:43:52 �[0;32m vsphere-iso: 34: action :run�[0m
17:43:52 �[0;32m vsphere-iso: 35: environment(psql_environment)�[0m
17:43:52 �[0;32m vsphere-iso: 36: not_if { follower? || extension_installed?(new_resource) }�[0m
17:43:52 �[0;32m vsphere-iso: 37: end�[0m
17:43:52 �[0;32m vsphere-iso: 38: end�[0m
17:43:52 �[0;32m vsphere-iso:�[0m
17:43:52 �[0;32m vsphere-iso: Compiled Resource:�[0m
17:43:52 �[0;32m vsphere-iso: ------------------�[0m
17:43:52 �[0;32m vsphere-iso: # Declared in /tmp/packer-chef-solo/local-mode-cache/cache/cookbooks/postgresql/resources/extension.rb:31:in `block in class_from_file'�[0m
17:43:52 �[0;32m vsphere-iso:�[0m
17:43:52 �[0;32m vsphere-iso: bash("CREATE EXTENSION pg_stat_statements") do�[0m
17:43:52 �[0;32m vsphere-iso: action [:run]�[0m
17:43:52 �[0;32m vsphere-iso: default_guard_interpreter :default�[0m
17:43:52 �[0;32m vsphere-iso: interpreter "bash"�[0m
17:43:52 �[0;32m vsphere-iso: declared_type :bash�[0m
17:43:52 �[0;32m vsphere-iso: cookbook_name "resilient-app-packer"�[0m
17:43:52 �[0;32m vsphere-iso: code "/usr/bin/psql -c \"CREATE EXTENSION IF NOT EXISTS \\\"pg_stat_statements\\\"\" -d postgres -U postgres --port 5432"�[0m
17:43:52 �[0;32m vsphere-iso: domain nil�[0m
17:43:52 �[0;32m vsphere-iso: user "postgres"�[0m
17:43:52 �[0;32m vsphere-iso: environment {}�[0m
17:43:52 �[0;32m vsphere-iso: not_if { #code block }�[0m
17:43:52 �[0;32m vsphere-iso: end�[0m
17:43:52 �[0;32m vsphere-iso:�[0m
17:43:52 �[0;32m vsphere-iso: System Info:�[0m
17:43:52 �[0;32m vsphere-iso: ------------�[0m
17:43:52 �[0;32m vsphere-iso: chef_version=17.4.38�[0m
17:43:52 �[0;32m vsphere-iso: platform=redhat�[0m
17:43:52 �[0;32m vsphere-iso: platform_version=7.8�[0m
17:43:52 �[0;32m vsphere-iso: ruby=ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux]�[0m
17:43:52 �[0;32m vsphere-iso: program_name=/bin/chef-solo�[0m
17:43:52 �[0;32m vsphere-iso: executable=/opt/chef/bin/chef-solo�[0m
17:43:52 �[0;32m vsphere-iso:�[0m
17:43:52 �[0;32m vsphere-iso:�[0m
17:43:52 �[0;32m vsphere-iso: ================================================================================�[0m
17:43:52 �[0;32m vsphere-iso: Error executing action `create` on resource 'postgresql_extension[pg_stat_statements]'�[0m
17:43:52 �[0;32m vsphere-iso: ================================================================================�[0m
17:43:52 �[0;32m vsphere-iso:�[0m
17:43:52 �[0;32m vsphere-iso: NoMethodError�[0m
17:43:52 �[0;32m vsphere-iso: -------------�[0m
17:43:52 �[0;32m vsphere-iso: bash[CREATE EXTENSION pg_stat_statements] (/tmp/packer-chef-solo/local-mode-cache/cache/cookbooks/postgresql/resources/extension.rb line 31) had an error: NoMethodError: undefined method `[]' for nil:NilClass�[0m
17:43:52 �[0;32m vsphere-iso:�[0m
17:43:52 �[0;32m vsphere-iso: Cookbook Trace: (most recent call first)�[0m
17:43:52 �[0;32m vsphere-iso: ----------------------------------------�[0m
17:43:52 �[0;32m vsphere-iso: /tmp/packer-chef-solo/local-mode-cache/cache/cookbooks/postgresql/libraries/helpers.rb:147:in `data_dir'�[0m
17:43:52 �[0;32m vsphere-iso: /tmp/packer-chef-solo/local-mode-cache/cache/cookbooks/postgresql/libraries/helpers.rb:175:in `follower?'�[0m
17:43:52 �[0;32m vsphere-iso: /tmp/packer-chef-solo/local-mode-cache/cache/cookbooks/postgresql/resources/extension.rb:36:in `block (3 levels) in class_from_file'�[0m
17:43:52 �[0;32m vsphere-iso: /tmp/packer-chef-solo/local-mode-cache/cache/cookbooks/postgresql/resources/extension.rb:31:in `block in class_from_file'�[0m
17:43:52 �[0;32m vsphere-iso:�[0m
17:43:52 �[0;32m vsphere-iso: Resource Declaration:�[0m
17:43:52 �[0;32m vsphere-iso: ---------------------�[0m
17:43:52 �[0;32m vsphere-iso: # In /tmp/packer-chef-solo/local-mode-cache/cache/cookbooks/resilient-app-packer/recipes/default.rb�[0m
17:43:52 �[0;32m vsphere-iso:�[0m
17:43:52 �[0;32m vsphere-iso: 1: postgresql_extension 'pg_stat_statements' do�[0m
17:43:52 �[0;32m vsphere-iso: 2: database 'postgres'�[0m
17:43:52 �[0;32m vsphere-iso: 3: end�[0m
17:43:52 �[0;32m vsphere-iso:�[0m
17:43:52 �[0;32m vsphere-iso: Compiled Resource:�[0m
17:43:52 �[0;32m vsphere-iso: ------------------�[0m
17:43:52 �[0;32m vsphere-iso: # Declared in /tmp/packer-chef-solo/local-mode-cache/cache/cookbooks/resilient-app-packer/recipes/default.rb:1:in `from_file'�[0m
17:43:52 �[0;32m vsphere-iso:�[0m
17:43:52 �[0;32m vsphere-iso: postgresql_extension("pg_stat_statements") do�[0m
17:43:52 �[0;32m vsphere-iso: action [:create]�[0m
17:43:52 �[0;32m vsphere-iso: default_guard_interpreter :default�[0m
17:43:52 �[0;32m vsphere-iso: declared_type :postgresql_extension�[0m
17:43:52 �[0;32m vsphere-iso: cookbook_name "resilient-app-packer"�[0m
17:43:52 �[0;32m vsphere-iso: recipe_name "default"�[0m
17:43:52 �[0;32m vsphere-iso: database "postgres"�[0m
17:43:52 �[0;32m vsphere-iso: extension "pg_stat_statements"�[0m
17:43:52 �[0;32m vsphere-iso: user "postgres"�[0m
17:43:52 �[0;32m vsphere-iso: end�[0m
17:43:52 �[0;32m vsphere-iso:�[0m
17:43:52 �[0;32m vsphere-iso: System Info:�[0m
17:43:52 �[0;32m vsphere-iso: ------------�[0m
17:43:52 �[0;32m vsphere-iso: chef_version=17.4.38�[0m
17:43:52 �[0;32m vsphere-iso: platform=redhat�[0m
17:43:52 �[0;32m vsphere-iso: platform_version=7.8�[0m
17:43:52 �[0;32m vsphere-iso: ruby=ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux]�[0m
17:43:52 �[0;32m vsphere-iso: program_name=/bin/chef-solo�[0m
17:43:52 �[0;32m vsphere-iso: executable=/opt/chef/bin/chef-solo�[0m
17:43:52 �[0;32m vsphere-iso:�[0m
17:43:52 �[0;32m vsphere-iso: Recipe: timezone_iii::rhel7�[0m
17:43:52 �[0;32m vsphere-iso: * execute[tzdata-update] action run (skipped due to only_if)�[0m
17:43:52 �[0;32m vsphere-iso:�[0m
17:43:52 �[0;32m vsphere-iso: Running handlers:�[0m
17:43:52 �[0;32m vsphere-iso: [2021-09-03T16:43:52+00:00] ERROR: Running exception handlers�[0m
17:43:52 �[0;32m vsphere-iso: Running handlers complete�[0m
17:43:52 �[0;32m vsphere-iso: [2021-09-03T16:43:52+00:00] ERROR: Exception handlers complete�[0m
17:43:52 2021/09/03 16:43:52 [INFO] 0 bytes written for 'stderr'
17:43:52 2021/09/03 16:43:52 packer-builder-vsphere-iso plugin: [ERROR] Remote command exited with '1': sudo chef-solo --no-color -c /tmp/packer-chef-solo/solo.rb -j /tmp/packer-chef-solo/node.json
17:43:52 2021/09/03 16:43:52 packer-builder-vsphere-iso plugin: [INFO] RPC endpoint: Communicator ended with: 1
17:43:52 2021/09/03 16:43:52 [INFO] 14219 bytes written for 'stdout'
17:43:52 2021/09/03 16:43:52 [INFO] RPC client: Communicator ended with: 1
17:43:52 2021/09/03 16:43:52 [INFO] RPC endpoint: Communicator ended with: 1
17:43:52 2021/09/03 16:43:52 packer-provisioner-chef-solo plugin: [INFO] 14219 bytes written for 'stdout'
17:43:52 2021/09/03 16:43:52 packer-provisioner-chef-solo plugin: [INFO] 0 bytes written for 'stderr'
17:43:52 2021/09/03 16:43:52 packer-provisioner-chef-solo plugin: [INFO] RPC client: Communicator ended with: 1
17:43:52 �[0;32m vsphere-iso: Infra Phase failed. 49 resources updated in 08 minutes 30 seconds�[0m
17:43:52 �[0;32m vsphere-iso: [2021-09-03T16:43:52+00:00] FATAL: Stacktrace dumped to /tmp/packer-chef-solo/local-mode-cache/cache/chef-stacktrace.out�[0m
17:43:52 �[0;32m vsphere-iso: [2021-09-03T16:43:52+00:00] FATAL: ---------------------------------------------------------------------------------------�[0m
17:43:52 �[0;32m vsphere-iso: [2021-09-03T16:43:52+00:00] FATAL: PLEASE PROVIDE THE CONTENTS OF THE stacktrace.out FILE (above) IF YOU FILE A BUG REPORT�[0m
17:43:52 �[0;32m vsphere-iso: [2021-09-03T16:43:52+00:00] FATAL: ---------------------------------------------------------------------------------------�[0m
17:43:52 �[0;32m vsphere-iso: [2021-09-03T16:43:52+00:00] FATAL: NoMethodError: postgresql_extension[pg_stat_statements] (resilient-app-packer::default line 1) had an error: NoMethodError: bash[CREATE EXTENSION adminpack] (/tmp/packer-chef-solo/local-mode-cache/cache/cookbooks/postgresql/resources/extension.rb line 31) had an error: NoMethodError: undefined method `[]' for nil:NilClass�[0m
➕ Additional context
Is postgresql_extension
working as described in readme?