audiolize / vagrant-softlayer

This is a Vagrant plugin that adds a SoftLayer provider to Vagrant, allowing Vagrant to control and provision SoftLayer CCI instances.
MIT License
42 stars 15 forks source link

SoftLayerAPIException #34

Closed david-feldsine closed 9 years ago

david-feldsine commented 9 years ago

Last night this worked fine, but starting this morning, When running "vagrant up --provider=softlayer" I get the following error message. Exception class: SoftLayer::SoftLayerAPIException Exception message: Argument 1 passed to SoftLayer_WebService_Rest::resolveDataType() must be of the type array, null given, called in /home/ims/ims_v3/releases/primary-JIRA-2679-d7e732936b6d843f3d25cd53270f07196953c70c/Library/Application/SoftLayer/WebService/Rest.class.php on line 966 and defined

david-feldsine commented 9 years ago

Looks to me like SoftLayer has made a change to their API.

ju2wheels commented 9 years ago

Hi @david-feldsine can you please let us know which version of vagrant-softlayer you are using and if possible provide a debug output of what happens when you run vagrant up by setting VAGRANT_LOG=debug in your shell environment before running vagrant up.

poflynn commented 9 years ago

I logged a ticket with SL & got this reply

Greetings,

Our development and API team are aware of this issue and are currently investigating this as a critical issue. We will update you as soon as we have more information.

ju2wheels commented 9 years ago

Im not even sure what SoftLayer_WebService_Rest is to be honest, i cant find it anywhere, is that from another tool?

david-feldsine commented 9 years ago

It is how the vagrant softlayer plugin talks to the softlayer infrastructure.

ju2wheels commented 9 years ago

I am not seeing this issue with vagrant-softlayer 0.4.0:

$ vagrant up vagranttest5
Bringing machine 'vagranttest5' up with 'softlayer' provider...
==> vagranttest5: Creating a new SoftLayer instance...
==> vagranttest5: Waiting for instance provisioning. This may take a few minutes...
==> vagranttest5: SoftLayer instance successfully provisioned!
==> vagranttest5: Waiting for machine to boot. This may take a few minutes...

Recommendation would be to upgrade, they probably broke something in the API that only affects softlayer_api 1.x branch.

ju2wheels commented 9 years ago

@emyl any cycles to push the gems for the last two releases to resolve this?

SLsthompson commented 9 years ago

SoftLayer_WebService_Rest is a reference to the internal service that handles REST calls through the SoftLayer API. Can you provide a reduced test case that reproduces the error by any chance (send it to sthompson at softlayer.com)

ju2wheels commented 9 years ago

@SLsthompson heres the stack trace using vagrant-softlayer 0.3.3/softlayer_api 1.0.8, im still trying to figure out the exact spot its blowing up at:

==> vagranttest5: Creating a new SoftLayer instance...
ERROR warden: Error occurred: Vagrant returned an exception while calling the SoftLayer API.

Exception class: SoftLayer::SoftLayerAPIException
Exception message: Argument 1 passed to SoftLayer_WebService_Rest::resolveDataType() must be of the type array, null given, called in /home/ims/ims_v3/releases/primary-JIRA-2680-7a485574d6f609ba9d501b31666aca0fdc118d92/Library/Application/SoftLayer/WebService/Rest.class.php on line 966 and defined
 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: Vagrant returned an exception while calling the SoftLayer API.

Exception class: SoftLayer::SoftLayerAPIException
Exception message: Argument 1 passed to SoftLayer_WebService_Rest::resolveDataType() must be of the type array, null given, called in /home/ims/ims_v3/releases/primary-JIRA-2680-7a485574d6f609ba9d501b31666aca0fdc118d92/Library/Application/SoftLayer/WebService/Rest.class.php on line 966 and defined
 INFO warden: Beginning recovery process...
 INFO warden: Recovery complete.
ERROR warden: Error occurred: Vagrant returned an exception while calling the SoftLayer API.

Exception class: SoftLayer::SoftLayerAPIException
Exception message: Argument 1 passed to SoftLayer_WebService_Rest::resolveDataType() must be of the type array, null given, called in /home/ims/ims_v3/releases/primary-JIRA-2680-7a485574d6f609ba9d501b31666aca0fdc118d92/Library/Application/SoftLayer/WebService/Rest.class.php on line 966 and defined
 INFO warden: Beginning recovery process...
 INFO warden: Calling recover: #<Vagrant::Action::Builtin::Call:0x000000029877e8>
 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 environment: Released process lock: machine-action-6dfd5f623e904e28bb796894b462b803
 INFO environment: Running hook: environment_unload
 INFO runner: Preparing hooks for middleware sequence...
 INFO runner: 1 hooks defined.
 INFO runner: Running action: #<Vagrant::Action::Builder:0x00000001e12660>
ERROR vagrant: Vagrant experienced an error! Details:
ERROR vagrant: #<VagrantPlugins::SoftLayer::Errors::SLApiError: Vagrant returned an exception while calling the SoftLayer API.

Exception class: SoftLayer::SoftLayerAPIException
Exception message: Argument 1 passed to SoftLayer_WebService_Rest::resolveDataType() must be of the type array, null given, called in /home/ims/ims_v3/releases/primary-JIRA-2680-7a485574d6f609ba9d501b31666aca0fdc118d92/Library/Application/SoftLayer/WebService/Rest.class.php on line 966 and defined>
ERROR vagrant: Vagrant returned an exception while calling the SoftLayer API.

Exception class: SoftLayer::SoftLayerAPIException
Exception message: Argument 1 passed to SoftLayer_WebService_Rest::resolveDataType() must be of the type array, null given, called in /home/ims/ims_v3/releases/primary-JIRA-2680-7a485574d6f609ba9d501b31666aca0fdc118d92/Library/Application/SoftLayer/WebService/Rest.class.php on line 966 and defined
ERROR vagrant: /home/jalajara/.vagrant.d/gems/gems/vagrant-softlayer-0.3.3/lib/vagrant-softlayer/util/warden.rb:31:in `rescue in sl_warden'
/home/jalajara/.vagrant.d/gems/gems/vagrant-softlayer-0.3.3/lib/vagrant-softlayer/util/warden.rb:17:in `sl_warden'
/home/jalajara/.vagrant.d/gems/gems/vagrant-softlayer-0.3.3/lib/vagrant-softlayer/action/create_instance.rb:18:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/warden.rb:34:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/builtin/synced_folders.rb:84:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/warden.rb:34:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/builtin/provision.rb:80:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/warden.rb:34:in `call'
/home/jalajara/.vagrant.d/gems/gems/vagrant-softlayer-0.3.3/lib/vagrant-softlayer/action/setup_softlayer.rb:34:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/warden.rb:34:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/warden.rb:34:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/warden.rb:34:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/builder.rb:116:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/runner.rb:66:in `block in run'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/util/busy.rb:19:in `busy'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/runner.rb:66:in `run'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/builtin/call.rb:53:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/warden.rb:34:in `call'
/home/jalajara/.vagrant.d/gems/gems/vagrant-softlayer-0.3.3/lib/vagrant-softlayer/action/setup_softlayer.rb:34:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/warden.rb:34:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/builtin/config_validate.rb:25:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/warden.rb:34:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/builtin/handle_box.rb:56:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/warden.rb:34:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/builder.rb:116:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/runner.rb:66:in `block in run'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/util/busy.rb:19:in `busy'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/action/runner.rb:66:in `run'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/machine.rb:196:in `action_raw'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/machine.rb:173:in `block in action'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/environment.rb:434:in `lock'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/machine.rb:161:in `call'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/machine.rb:161:in `action'
/opt/vagrant/embedded/gems/gems/vagrant-1.6.3/lib/vagrant/batch_action.rb:82:in `block (2 levels) in run'
 INFO interface: error: Vagrant returned an exception while calling the SoftLayer API.
ju2wheels commented 9 years ago

@SLsthompson test case emailed, its blowing up on SoftLayer_Proudct_Order verifyOrder.

SLsthompson commented 9 years ago

Just getting there myself ;-)

SLsthompson commented 9 years ago

I've given the test case, reduced down to a single "curl" command to one of our engineers. This should not happen on newer versions of the softlayer_api gem because it uses the XML-RPC interface rather than Rest.

Nevertheless, the problem should be fixed. Is there a great urgency to have this fixed right away?

causton81 commented 9 years ago

Looks like they fixed the REST service yesterday as it is working for me again.

ju2wheels commented 9 years ago

Confirmed now working for me as well, closing as resolved, please let us know if you are still having the issue.

poflynn commented 9 years ago

Fixed for me too

david-feldsine commented 9 years ago

Thanks all, Things are working for me as well.