mitchellh / vagrant-aws

Use Vagrant to manage your EC2 and VPC instances.
MIT License
2.61k stars 574 forks source link

Getting `to_json': wrong argument type when running vagrant up #453

Open paulmaunders opened 8 years ago

paulmaunders commented 8 years ago

I get an error `to_json': wrong argument type when running vagrant up using the vagrant-aws plugin.

It occurs immediate after the 'VPC tenancy specification: default' line

Despite this error, the plugin does successful create an instance on EC2.

Versions:

Mac OS X 10.11.4 (15E65)
Vagrant 1.8.1
vagrant-aws 0.7.0

Debug Output:

==> origin:  -- VPC tenancy specification: default
 INFO machine: New machine ID: "i-388153b4"
ERROR warden: Error occurred: wrong argument type JSON::Pure::Generator::State (expected JSON/Generator/State)
 INFO warden: Beginning recovery process...
 INFO warden: Calling recover: #<VagrantPlugins::AWS::Action::RunInstance:0x0000010427ab00>
 INFO machine: Calling action: read_state on provider AWS (new)
 INFO interface: Machine: action ["read_state", "start", {:target=>:origin}]
 INFO runner: Preparing hooks for middleware sequence...
 INFO runner: 1 hooks defined.
 INFO runner: Running action: machine_action_read_state #<Vagrant::Action::Builder:0x00000102908118>
 INFO warden: Calling IN action: #<Vagrant::Action::Builtin::ConfigValidate:0x00000102900a80>
 INFO warden: Calling IN action: #<VagrantPlugins::AWS::Action::ConnectAWS:0x00000102900a58>
 INFO connect_aws: Connecting to AWS...
 INFO warden: Calling IN action: #<VagrantPlugins::AWS::Action::ReadState:0x00000101d450b0>
 INFO warden: Calling OUT action: #<VagrantPlugins::AWS::Action::ReadState:0x00000101d450b0>
 INFO warden: Calling OUT action: #<VagrantPlugins::AWS::Action::ConnectAWS:0x00000102900a58>
 INFO warden: Calling OUT action: #<Vagrant::Action::Builtin::ConfigValidate:0x00000102900a80>
 INFO interface: Machine: action ["read_state", "end", {:target=>:origin}]
 INFO warden: Recovery complete.
 INFO warden: Beginning recovery process...
 INFO warden: Recovery complete.
 INFO warden: Beginning recovery process...
 INFO warden: Recovery complete.
 INFO warden: Beginning recovery process...
 INFO warden: Recovery complete.
 INFO warden: Beginning recovery process...
 INFO warden: Recovery complete.
ERROR warden: Error occurred: wrong argument type JSON::Pure::Generator::State (expected JSON/Generator/State)
 INFO warden: Beginning recovery process...
 INFO warden: Recovery complete.
ERROR warden: Error occurred: wrong argument type JSON::Pure::Generator::State (expected JSON/Generator/State)
 INFO warden: Beginning recovery process...
 INFO warden: Calling recover: #<Vagrant::Action::Builtin::Call:0x000001049ea3b8>
 INFO warden: Beginning recovery process...
 INFO warden: Recovery complete.
 INFO warden: Recovery complete.
 INFO warden: Beginning recovery process...
 INFO warden: Recovery complete.
 INFO warden: Beginning recovery process...
 INFO warden: Recovery complete.
 INFO warden: Beginning recovery process...
 INFO warden: Recovery complete.
 INFO warden: Beginning recovery process...
 INFO warden: Recovery complete.
 INFO environment: Released process lock: machine-action-eb1b08e8ee7bf929ee591291ccbb4fb7
 INFO environment: Running hook: environment_unload
 INFO runner: Preparing hooks for middleware sequence...
 INFO runner: 1 hooks defined.
 INFO runner: Running action: environment_unload #<Vagrant::Action::Builder:0x00000100e9f718>
/Users/paulmaunders/.vagrant.d/gems/gems/json_pure-1.8.3/lib/json/pure/generator.rb:366:in `to_json': wrong argument type JSON::Pure::Generator::State (expected JSON/Generator/State) (TypeError)
    from /Users/paulmaunders/.vagrant.d/gems/gems/json_pure-1.8.3/lib/json/pure/generator.rb:366:in `block in json_transform'
    from /Users/paulmaunders/.vagrant.d/gems/gems/json_pure-1.8.3/lib/json/pure/generator.rb:359:in `each'
    from /Users/paulmaunders/.vagrant.d/gems/gems/json_pure-1.8.3/lib/json/pure/generator.rb:359:in `json_transform'
    from /Users/paulmaunders/.vagrant.d/gems/gems/json_pure-1.8.3/lib/json/pure/generator.rb:341:in `to_json'
    from /Users/paulmaunders/.vagrant.d/gems/gems/json_pure-1.8.3/lib/json/pure/generator.rb:293:in `generate'
    from /Users/paulmaunders/.vagrant.d/gems/gems/json_pure-1.8.3/lib/json/common.rb:223:in `generate'
    from /Users/paulmaunders/.vagrant.d/gems/gems/json_pure-1.8.3/lib/json/common.rb:394:in `dump'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine_index.rb:310:in `block in unlocked_save'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine_index.rb:309:in `open'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine_index.rb:309:in `open'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine_index.rb:309:in `unlocked_save'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine_index.rb:227:in `block (2 levels) in set'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine_index.rb:323:in `block in with_index_lock'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine_index.rb:321:in `open'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine_index.rb:321:in `with_index_lock'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine_index.rb:192:in `block in set'
    from /opt/vagrant/embedded/lib/ruby/2.2.0/monitor.rb:211:in `mon_synchronize'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine_index.rb:191:in `set'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine.rb:318:in `id='
    from /Users/paulmaunders/.vagrant.d/gems/gems/vagrant-aws-0.7.0/lib/vagrant-aws/action/run_instance.rb:130:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call'
    from /Users/paulmaunders/.vagrant.d/gems/gems/vagrant-aws-0.7.0/lib/vagrant-aws/action/elb_register_instance.rb:16:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call'
    from /Users/paulmaunders/.vagrant.d/gems/gems/vagrant-aws-0.7.0/lib/vagrant-aws/action/warn_networks.rb:14:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builtin/synced_folders.rb:87:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builtin/provision.rb:80:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builder.rb:116:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/runner.rb:66:in `block in run'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/util/busy.rb:19:in `busy'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/runner.rb:66:in `run'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builtin/call.rb:53:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call'
    from /Users/paulmaunders/.vagrant.d/gems/gems/vagrant-aws-0.7.0/lib/vagrant-aws/action/connect_aws.rb:43:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builtin/box_check_outdated.rb:36:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builtin/config_validate.rb:25:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builtin/handle_box.rb:56:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builder.rb:116:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/runner.rb:66:in `block in run'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/util/busy.rb:19:in `busy'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/runner.rb:66:in `run'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine.rb:224:in `action_raw'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine.rb:199:in `block in action'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/environment.rb:561:in `lock'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine.rb:185:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine.rb:185:in `action'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/batch_action.rb:82:in `block (2 levels) in run'
paulmaunders commented 8 years ago

I have created a vagrant-aws test project on github which can reproduce the issue if anyone would like to test it.

https://github.com/paulmaunders/vagrant-aws-test

ashashwat commented 8 years ago

I am facing same issue.

==> web1: -- VPC tenancy specification: default /VM/.vagrant.d/gems/gems/json_pure-1.8.3/lib/json/pure/generator.rb:366:in `to_json': wrong argument type JSON::Pure::Generator::State (expected JSON/Generator/State) (TypeError)

ashashwat commented 8 years ago

The issue is, even though vm is successfully created, the provisioning step does not happen.