diff --git a/fog.gemspec b/fog.gemspec index 8dec99f34..2b473d129 100644 --- a/fog.gemspec +++ b/fog.gemspec @@ -11,7 +11,7 @@ Gem::Specification.new do |s| ## If your rubyforge_project name is different, then edit it and comment out ## the sub! line in the Rakefile s.name = 'fog' - s.version = '1.24.0' + s.version = '1.24.1' s.date = '2014-10-24' s.rubyforge_project = 'fog' diff --git a/lib/fog/dynect/dns.rb b/lib/fog/dynect/dns.rb index 2bad8ffab..55ece3ab4 100644 --- a/lib/fog/dynect/dns.rb +++ b/lib/fog/dynect/dns.rb @@ -102,8 +102,16 @@ module Fog raise Error, response.body['msgs'].first['INFO'] end - if response.status == 307 && params[:path] !~ %r{^/REST/Job/} - response = poll_job(response, params[:expects], @job_poll_timeout) + if params[:path] !~ %r{^/REST/Job/} + if response.status == 307 + response = poll_job(response, params[:expects], @job_poll_timeout) + + # Dynect intermittently returns 200 with an incomplete status. When this + # happens, the job should still be polled. + elsif response.status == 200 && response.body['status'].eql?('incomplete') + response.headers['Location'] = "/REST/Job/#{ response.body['job_id'] }" + response = poll_job(response, params[:expects], @job_poll_timeout) + end end response diff --git a/lib/fog/version.rb b/lib/fog/version.rb index e9d4f2ddf..3ce1ad675 100644 --- a/lib/fog/version.rb +++ b/lib/fog/version.rb @@ -1,3 +1,3 @@ module Fog - VERSION = '1.24.0' + VERSION = '1.24.1' end