summaryrefslogtreecommitdiff
path: root/lib/ohai/mixin/ec2_metadata.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ohai/mixin/ec2_metadata.rb')
-rw-r--r--lib/ohai/mixin/ec2_metadata.rb12
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/ohai/mixin/ec2_metadata.rb b/lib/ohai/mixin/ec2_metadata.rb
index 14c7932e..703ec8d8 100644
--- a/lib/ohai/mixin/ec2_metadata.rb
+++ b/lib/ohai/mixin/ec2_metadata.rb
@@ -20,6 +20,9 @@
require "net/http" unless defined?(Net::HTTP)
+require_relative "../mixin/json_helper"
+include Ohai::Mixin::JsonHelper
+
module Ohai
module Mixin
##
@@ -229,9 +232,14 @@ module Ohai
@fetch_dynamic_data ||= begin
response = http_client.get("/#{best_api_version}/dynamic/instance-identity/document/", { 'X-aws-ec2-metadata-token': v2_token })
- if json?(response.body) && response.code == "200"
- FFI_Yajl::Parser.parse(response.body)
+ if response.code == "200"
+ json_data = parse_json(response.body, {})
+ if json_data.nil?
+ logger.warn("Mixin Ec2Metadata: Metadata response is NOT valid JSON")
+ end
+ json_data
else
+ logger.warn("Mixin Ec2Metadata: Received response code #{response.code} requesting metadata")
{}
end
end