so after some initial struggling with the wonderful fog and specific versions of it to get chef rackspace tools working properly, i hit another bit of weirdness:


% knife rackspace server create -f6 -I  -r 'role[base]' -E <env> -S  -N  -VV --rackspace-version v2
DEBUG: version v2
DEBUG: version v2
DEBUG: rackspace_api_key xxxxxxxxxxxxxxxxxxxx
DEBUG: rackspace_username
DEBUG: rackspace_api_username xxxxxxxxxxxxxxxxxxx
DEBUG: rackspace_auth_url 
DEBUG: rackspace_auth_url auth.api.rackspacecloud.com
DEBUG: rackspace_endpoint 
DEBUG: rackspace_endpoint https://dfw.servers.api.rackspacecloud.com/v2
Instance ID: xxxxxxxxxxxxxxxxxxxx
Name:  Flavor: 8GB  Standard InstanceImage: 
Metadata: []

Waiting server................................................................................................................................................................................................................................
        /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/fog-1.10.0/lib/fog/core/wait_for.rb:10:in `wait_for': The specified wait_for timeout (600 seconds) was exceeded (Fog::Errors::TimeoutError)
        from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/fog-1.10.0/lib/fog/core/model.rb:65:in `wait_for'
        from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/knife-rackspace-0.6.2/lib/chef/knife/rackspace_server_create.rb:183:in `run'
        from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/knife.rb:460:in `run_with_pretty_exceptions'
        from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/knife.rb:173:in `run'
        from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/lib/chef/application/knife.rb:123:in `run'
        from /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.4.0/bin/knife:25:in `'
        from /opt/chef/bin/knife:23:in `load'
        from /opt/chef/bin/knife:23:in `
'

hmmh. 600 second timeout. the rackspace api is slow creating a > 8gb v2 box.

here is a temp fix:

edit the fog core timeout.rb file to make up for this:
% vi /opt/chef/embedded/lib/ruby/gems/1.9.1/gems/fog-1.10.0/lib/fog/core/timeout.rb

and replace @timeout = 600 with a more sane number.

i used 1500 to be on the safe side :
@timeout = 1500

again, this is a temp fix. YMMV