diff options
author | Claire McQuin <mcquin@users.noreply.github.com> | 2014-10-13 16:17:07 -0700 |
---|---|---|
committer | Claire McQuin <mcquin@users.noreply.github.com> | 2014-10-13 16:17:07 -0700 |
commit | 54f474a0545e43d3d9a02d39999da2328bdfddca (patch) | |
tree | 1250512ecc03eed1971c9d88ae57610309f9dc1c | |
parent | ac082c86f0a086be1f54fd4b788c9b6b1372995f (diff) | |
parent | 0a70d539b3c8fe2533db3f9bca4538107b7e37d0 (diff) | |
download | ohai-54f474a0545e43d3d9a02d39999da2328bdfddca.tar.gz |
Merge pull request #368 from opscode/btm/eucalyptus_404
Eucalyptus metadata server, presume 'latest' API version on 404
-rw-r--r-- | CHANGELOG.md | 2 | ||||
-rw-r--r-- | lib/ohai/mixin/ec2_metadata.rb | 5 | ||||
-rw-r--r-- | spec/unit/mixin/ec2_metadata_spec.rb | 7 |
3 files changed, 9 insertions, 5 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 78085e3b..9e962c3c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -68,7 +68,7 @@ * root_group provider not implemented for Windows (OHAI-491) * `Ohai::Exceptions::AttributeNotFound` errors in Chef's ohai resource * Be reluctant to call something an LXC host (OHAI-573) - +* Assume 'latest' metadata versions on 404 ## Release: 7.0.4 diff --git a/lib/ohai/mixin/ec2_metadata.rb b/lib/ohai/mixin/ec2_metadata.rb index d01d5cc1..8d775719 100644 --- a/lib/ohai/mixin/ec2_metadata.rb +++ b/lib/ohai/mixin/ec2_metadata.rb @@ -76,7 +76,10 @@ module Ohai def best_api_version response = http_client.get("/") - unless response.code == '200' + if response.code == '404' + Ohai::Log.debug("Received HTTP 404 from metadata server while determining API version, assuming 'latest'") + return "latest" + elsif response.code != '200' raise "Unable to determine EC2 metadata version (returned #{response.code} response)" end # Note: Sorting the list of versions may have unintended consequences in diff --git a/spec/unit/mixin/ec2_metadata_spec.rb b/spec/unit/mixin/ec2_metadata_spec.rb index 1f5a65a2..c9543fe3 100644 --- a/spec/unit/mixin/ec2_metadata_spec.rb +++ b/spec/unit/mixin/ec2_metadata_spec.rb @@ -53,11 +53,12 @@ describe Ohai::Mixin::Ec2Metadata do end end + # Presume 'latest' when we get a 404 for Eucalyptus back-compat context "when the response code is 404" do - let(:response) { double("Net::HTTP Response", :body => "1.0\n2011-05-01\n2012-01-12\nUnsupported", :code => "404") } + let(:response) { double("Net::HTTP Response", :code => "404") } - it "raises an error" do - lambda { mixin.best_api_version}.should raise_error + it "returns 'latest' as the version" do + mixin.best_api_version.should == 'latest' end end |