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.rb62
1 files changed, 31 insertions, 31 deletions
diff --git a/lib/ohai/mixin/ec2_metadata.rb b/lib/ohai/mixin/ec2_metadata.rb
index 4a100161..14a122d3 100644
--- a/lib/ohai/mixin/ec2_metadata.rb
+++ b/lib/ohai/mixin/ec2_metadata.rb
@@ -17,8 +17,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-require 'net/http'
-require 'socket'
+require "net/http"
+require "socket"
module Ohai
module Mixin
@@ -41,15 +41,15 @@ module Ohai
module Ec2Metadata
EC2_METADATA_ADDR = "169.254.169.254" unless defined?(EC2_METADATA_ADDR)
- EC2_SUPPORTED_VERSIONS = %w( 1.0 2007-01-19 2007-03-01 2007-08-29 2007-10-10 2007-12-15
+ EC2_SUPPORTED_VERSIONS = %w{ 1.0 2007-01-19 2007-03-01 2007-08-29 2007-10-10 2007-12-15
2008-02-01 2008-09-01 2009-04-04 2011-01-01 2011-05-01 2012-01-12
- 2014-11-05 2014-02-25 )
+ 2014-11-05 2014-02-25 }
- EC2_ARRAY_VALUES = %w(security-groups)
- EC2_ARRAY_DIR = %w(network/interfaces/macs)
- EC2_JSON_DIR = %w(iam)
+ EC2_ARRAY_VALUES = %w{security-groups}
+ EC2_ARRAY_DIR = %w{network/interfaces/macs}
+ EC2_JSON_DIR = %w{iam}
- def can_metadata_connect?(addr, port, timeout=2)
+ def can_metadata_connect?(addr, port, timeout = 2)
t = Socket.new(Socket::Constants::AF_INET, Socket::Constants::SOCK_STREAM, 0)
saddr = Socket.pack_sockaddr_in(port, addr)
connected = false
@@ -57,7 +57,7 @@ module Ohai
begin
t.connect_nonblock(saddr)
rescue Errno::EINPROGRESS
- r,w,e = IO::select(nil,[t],nil,timeout)
+ r, w, e = IO.select(nil, [t], nil, timeout)
if !w.nil?
connected = true
else
@@ -77,19 +77,19 @@ module Ohai
def best_api_version
response = http_client.get("/")
- if response.code == '404'
+ if response.code == "404"
Ohai::Log.debug("ec2 metadata mixin: Received HTTP 404 from metadata server while determining API version, assuming 'latest'")
return "latest"
- elsif response.code != '200'
+ 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
# non-EC2 environments. It appears to be safe in EC2 as of 2013-04-12.
versions = response.body.split("\n")
versions = response.body.split("\n").sort
- until (versions.empty? || EC2_SUPPORTED_VERSIONS.include?(versions.last)) do
+ until versions.empty? || EC2_SUPPORTED_VERSIONS.include?(versions.last)
pv = versions.pop
- Ohai::Log.debug("ec2 metadata mixin: EC2 shows unsupported metadata version: #{pv}") unless pv == 'latest'
+ Ohai::Log.debug("ec2 metadata mixin: EC2 shows unsupported metadata version: #{pv}") unless pv == "latest"
end
Ohai::Log.debug("ec2 metadata mixin: EC2 metadata version: #{versions.last}")
if versions.empty?
@@ -99,7 +99,7 @@ module Ohai
end
def http_client
- Net::HTTP.start(EC2_METADATA_ADDR).tap {|h| h.read_timeout = 600}
+ Net::HTTP.start(EC2_METADATA_ADDR).tap { |h| h.read_timeout = 600 }
end
# Get metadata for a given path and API version
@@ -113,9 +113,9 @@ module Ohai
path = "/#{api_version}/meta-data/#{id}"
response = http_client.get(path)
case response.code
- when '200'
+ when "200"
response.body
- when '404'
+ when "404"
Ohai::Log.debug("ec2 metadata mixin: Encountered 404 response retreiving EC2 metadata path: #{path} ; continuing.")
nil
else
@@ -123,7 +123,7 @@ module Ohai
end
end
- def fetch_metadata(id='', api_version=nil)
+ def fetch_metadata(id = "", api_version = nil)
api_version ||= best_api_version
return {} if api_version.nil?
@@ -132,7 +132,7 @@ module Ohai
if retrieved_metadata
retrieved_metadata.split("\n").each do |o|
key = expand_path("#{id}#{o}")
- if key[-1..-1] != '/'
+ if key[-1..-1] != "/"
metadata[metadata_key(key)] =
if EC2_ARRAY_VALUES.include? key
retr_meta = metadata_get(key, api_version)
@@ -140,7 +140,7 @@ module Ohai
else
metadata_get(key, api_version)
end
- elsif not key.eql?(id) and not key.eql?('/')
+ elsif not key.eql?(id) and not key.eql?("/")
name = key[0..-2]
sym = metadata_key(name)
if EC2_ARRAY_DIR.include?(name)
@@ -148,7 +148,7 @@ module Ohai
elsif EC2_JSON_DIR.include?(name)
metadata[sym] = fetch_json_dir_metadata(key, api_version)
else
- fetch_metadata(key, api_version).each{|k,v| metadata[k] = v}
+ fetch_metadata(key, api_version).each { |k, v| metadata[k] = v }
end
end
end
@@ -162,10 +162,10 @@ module Ohai
if retrieved_metadata
retrieved_metadata.split("\n").each do |o|
key = expand_path(o)
- if key[-1..-1] != '/'
+ if key[-1..-1] != "/"
retr_meta = metadata_get("#{id}#{key}", api_version)
- metadata[metadata_key(key)] = retr_meta ? retr_meta : ''
- elsif not key.eql?('/')
+ metadata[metadata_key(key)] = retr_meta ? retr_meta : ""
+ elsif not key.eql?("/")
metadata[key[0..-2]] = fetch_dir_metadata("#{id}#{key}", api_version)
end
end
@@ -179,13 +179,13 @@ module Ohai
if retrieved_metadata
retrieved_metadata.split("\n").each do |o|
key = expand_path(o)
- if key[-1..-1] != '/'
+ if key[-1..-1] != "/"
retr_meta = metadata_get("#{id}#{key}", api_version)
- data = retr_meta ? retr_meta : ''
+ data = retr_meta ? retr_meta : ""
json = StringIO.new(data)
parser = FFI_Yajl::Parser.new
metadata[metadata_key(key)] = parser.parse(json)
- elsif not key.eql?('/')
+ elsif not key.eql?("/")
metadata[key[0..-2]] = fetch_json_dir_metadata("#{id}#{key}", api_version)
end
end
@@ -203,15 +203,15 @@ module Ohai
private
def expand_path(file_name)
- path = file_name.gsub(/\=.*$/, '/')
+ path = file_name.gsub(/\=.*$/, "/")
# ignore "./" and "../"
- path.gsub(%r{/\.\.?(?:/|$)}, '/').
- sub(%r{^\.\.?(?:/|$)}, '').
- sub(%r{^$}, '/')
+ path.gsub(%r{/\.\.?(?:/|$)}, "/").
+ sub(%r{^\.\.?(?:/|$)}, "").
+ sub(%r{^$}, "/")
end
def metadata_key(key)
- key.gsub(/\-|\//, '_')
+ key.gsub(/\-|\//, "_")
end
end