aws-rds-cookbook icon indicating copy to clipboard operation
aws-rds-cookbook copied to clipboard

getaddrinfo: nodename nor servname provided, or not known

Open etagwerker opened this issue 9 years ago • 1 comments

Hi!

I was trying to use aws_rds but I kept getting this error:

[2015-06-04T09:06:55-03:00] DEBUG: providers for generic gem_package resource enabled on node include: [Chef::Provider::Package::Rubygems]
[2015-06-04T09:06:55-03:00] DEBUG: providers that refused resource gem_package[aws-sdk] were: []
[2015-06-04T09:06:55-03:00] DEBUG: providers that support resource gem_package[aws-sdk] include: [Chef::Provider::Package::Rubygems]
[2015-06-04T09:06:55-03:00] DEBUG: providers that survived replacement include: [Chef::Provider::Package::Rubygems]
[2015-06-04T09:06:55-03:00] DEBUG: gem_package[aws-sdk] using gem from running ruby environment
[2015-06-04T09:06:55-03:00] DEBUG: gem_package[aws-sdk] newest installed version of gem aws-sdk is 1.64.0
[2015-06-04T09:06:55-03:00] DEBUG:  found gem aws-sdk version 1.53.0 for platform ruby from #<Gem::Source:0x007fe4c2388868>
[2015-06-04T09:06:55-03:00] DEBUG: gem_package[aws-sdk] aws-sdk 1.64.0 needs updating to 1.53.0
Parsing documentation for aws-sdk-v1-1.53.0
Parsing documentation for aws-sdk-1.53.0
Done installing documentation for aws-sdk-v1, aws-sdk after 13 seconds
Parsing documentation for aws-sdk-1.53.0
Parsing documentation for aws-sdk-v1-1.53.0
Done installing documentation for aws-sdk, aws-sdk-v1 after 14 seconds
[2015-06-04T09:07:26-03:00] INFO: gem_package[aws-sdk] installed aws-sdk at 1.53.0

   - install version 1.53.0 of package aws-sdk
 * aws-rds[rds] action create[2015-06-04T09:07:26-03:00] INFO: Processing aws-rds[rds] action create (rds::default line 18)
[2015-06-04T09:07:26-03:00] DEBUG: providers for generic aws-rds resource enabled on node include: []
[2015-06-04T09:07:26-03:00] DEBUG: providers that refused resource aws-rds[rds] were: []
[2015-06-04T09:07:26-03:00] DEBUG: providers that support resource aws-rds[rds] include: []
[2015-06-04T09:07:26-03:00] DEBUG: no providers supported the resource, falling back to enabled handlers
[2015-06-04T09:07:26-03:00] DEBUG: providers that survived replacement include: []
[2015-06-04T09:07:26-03:00] DEBUG: dynamic provider resolver FAILED to resolve a provider
[2015-06-04T09:07:26-03:00] DEBUG: Platform mac_os_x not found, using all defaults. (Unsupported platform?)
usage: grep [-abcDEFGHhIiJLlmnOoqRSsUVvwxZ] [-A num] [-B num] [-C[num]]
 [-e pattern] [-f file] [--binary-files=value] [--color=when]
 [--context[=num]] [--directories=action] [--label] [--line-buffered]
 [--null] [pattern] [file ...]


   ================================================================================
   Error executing action `create` on resource 'aws-rds[rds]'
   ================================================================================

   SocketError
   -----------
   getaddrinfo: nodename nor servname provided, or not known

   Cookbook Trace:
   ---------------
   /var/chef/cache/cookbooks/aws-rds/providers/default.rb:26:in `load_current_resource'

   Resource Declaration:
   ---------------------
   # In /var/chef/cache/cookbooks/rds/recipes/default.rb

    18: aws_rds node[:rds][:id] do
    19:   aws_access_key        aws_keys['aws_access_key_id']
    20:   aws_secret_access_key aws_keys['aws_secret_access_key']
    21:   availability_zone     aws_keys['availability_zone']
    22:   # db_subnet_group_name  'cluster'
    23:   engine                'postgres'
    24:   engine_version        '9.4.1'
    25:   db_instance_class     node[:rds][:db_instance_class]
    26:   backup_retention_period node[:rds][:backup_retention_period].to_i
    27:   allocated_storage     node[:rds][:storage]
    28:   db_name               node[:rds][:name]
    29:   master_username       secrets['data']['postgresql']['sql_username']
    30:   master_user_password  secrets['data']['postgresql']['sql_password']
    31:   publicly_accessible   true
    32:   # iops                  node[:rds][:iops]
    33:   # multi_az              true
    34:   # vpc_security_group_ids ['sg-123123321']
    35:   # preferred_backup_window '05:30-06:00'
    36: end

   Compiled Resource:
   ------------------
   # Declared in /var/chef/cache/cookbooks/rds/recipes/default.rb:18:in `from_file'

   aws_rds("rds") do
     action :create
     retries 0
     retry_delay 2
     default_guard_interpreter :default
     declared_type :aws_rds
     cookbook_name "rds"
     recipe_name "default"
     aws_access_key "ASLKDFJLKSDFLKSJADFLSJLKDFJ"
     aws_secret_access_key "ADLKJFLAKSJDFLASDJFLKLKASDJFKLSALKDJF"
     availability_zone "us-west-2b"
     engine "postgres"
     engine_version "9.4.1"
     db_instance_class "db.t2.micro"
     backup_retention_period 7
     allocated_storage 1
     db_name "carbide-production"
     master_username "root"
     master_user_password "ALLYOURSECRETSBELONGTOUS"
     publicly_accessible true
     id "rds"
   end

[2015-06-04T09:08:44-03:00] INFO: Running queued delayed notifications before re-raising exception
[2015-06-04T09:08:44-03:00] DEBUG: Re-raising exception: SocketError - aws-rds[rds] (rds::default line 18) had an error: SocketError: getaddrinfo: nodename nor servname provided, or not known
/Users/etagwerker/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:879:in `initialize'
 /Users/etagwerker/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:879:in `open'
 /Users/etagwerker/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:879:in `block in connect'
 /Users/etagwerker/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/timeout.rb:91:in `block in timeout'
 /Users/etagwerker/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/timeout.rb:101:in `call'
 /Users/etagwerker/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/timeout.rb:101:in `timeout'
 /Users/etagwerker/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:878:in `connect'
 /Users/etagwerker/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:863:in `do_start'
 /Users/etagwerker/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:858:in `start'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/aws-sdk-v1-1.64.0/lib/aws/core/http/connection_pool.rb:327:in `start_session'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/aws-sdk-v1-1.64.0/lib/aws/core/http/connection_pool.rb:127:in `session_for'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/aws-sdk-v1-1.64.0/lib/aws/core/http/net_http_handler.rb:56:in `handle'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/aws-sdk-v1-1.64.0/lib/aws/core/client.rb:253:in `block in make_sync_request'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/aws-sdk-v1-1.64.0/lib/aws/core/client.rb:289:in `retry_server_errors'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/aws-sdk-v1-1.64.0/lib/aws/core/client.rb:249:in `make_sync_request'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/aws-sdk-v1-1.64.0/lib/aws/core/client.rb:511:in `block (2 levels) in client_request'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/aws-sdk-v1-1.64.0/lib/aws/core/client.rb:391:in `log_client_request'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/aws-sdk-v1-1.64.0/lib/aws/core/client.rb:477:in `block in client_request'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/aws-sdk-v1-1.64.0/lib/aws/core/client.rb:373:in `return_or_raise'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/aws-sdk-v1-1.64.0/lib/aws/core/client.rb:476:in `client_request'
 (eval):3:in `describe_db_instances'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/aws-sdk-v1-1.64.0/lib/aws/rds/db_instance.rb:210:in `get_resource'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/aws-sdk-v1-1.64.0/lib/aws/rds/db_instance.rb:197:in `exists?'
 /var/chef/cache/cookbooks/aws-rds/providers/default.rb:26:in `load_current_resource'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/provider.rb:113:in `run_action'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/resource.rb:562:in `run_action'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/runner.rb:49:in `run_action'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/runner.rb:81:in `block (2 levels) in converge'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/runner.rb:81:in `each'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/runner.rb:81:in `block in converge'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/resource_collection/resource_list.rb:83:in `block in execute_each_resource'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/resource_collection/stepable_iterator.rb:116:in `call'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/resource_collection/stepable_iterator.rb:116:in `call_iterator_block'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/resource_collection/stepable_iterator.rb:85:in `step'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/resource_collection/stepable_iterator.rb:104:in `iterate'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/resource_collection/stepable_iterator.rb:55:in `each_with_index'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/resource_collection/resource_list.rb:81:in `execute_each_resource'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/runner.rb:80:in `converge'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/client.rb:339:in `block in converge'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/client.rb:334:in `catch'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/client.rb:334:in `converge'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/client.rb:353:in `converge_and_save'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/client.rb:457:in `run'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/application.rb:271:in `block in fork_chef_client'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/application.rb:259:in `fork'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/application.rb:259:in `fork_chef_client'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/application.rb:225:in `block in run_chef_client'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/local_mode.rb:39:in `with_server_connectivity'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/application.rb:213:in `run_chef_client'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/application/client.rb:402:in `block in interval_run_chef_client'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/application/client.rb:392:in `loop'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/application/client.rb:392:in `interval_run_chef_client'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/application/client.rb:382:in `run_application'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/lib/chef/application.rb:60:in `run'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/gems/chef-12.3.0/bin/chef-client:26:in `<top (required)>'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/bin/chef-client:23:in `load'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/bin/chef-client:23:in `<main>'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/bin/ruby_executable_hooks:15:in `eval'
 /Users/etagwerker/.rvm/gems/ruby-2.1.2@chef/bin/ruby_executable_hooks:15:in `<main>'

I think that the problem was that I wasn't specifying a region within the aws_rds block and this cookbook couldn't determine the region using this: https://github.com/gosuri/aws-rds-cookbook/blob/08a41933423d4adf19b78d237aae2674313f54c2/libraries/rds.rb#L132

It started working when I changed my recipe to this:

aws_keys = data_bag_item('cluster', 'main')

aws_rds node[:rds][:id] do
  aws_access_key        aws_keys['aws_access_key_id']
  aws_secret_access_key aws_keys['aws_secret_access_key']
  availability_zone     aws_keys['availability_zone']
  region                aws_keys['region']
  # ... 
end

Maybe you could add information about the region parameter to https://github.com/gosuri/aws-rds-cookbook/blob/master/README.md

What do you think?

Thanks!

etagwerker avatar Jun 04 '15 13:06 etagwerker

Hello!

I had this problem too, when I ran this recipe using Chef-Zero (and Chef-solo + Vagrant). The (partial) solution for this issue, is run this recipe within a EC2 machine with RDS (or greater) IAM credentials.

As I saw, its ocour due the way that this cookbook searches for the RDS region (using the 169.254 Webservice interface on AWS machines, instead of Amazon regular API).

dfduarte avatar Aug 02 '15 05:08 dfduarte