mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
renamed ipaddress to ip_address
made the .id available and an alias to uuid for server
This commit is contained in:
parent
43bf83cd6b
commit
16275085cf
1 changed files with 13 additions and 15 deletions
|
@ -14,7 +14,7 @@ module Fog
|
|||
|
||||
include Fog::Compute::LibvirtUtil
|
||||
|
||||
identity :uuid
|
||||
identity :id, :aliases => 'uuid'
|
||||
|
||||
attribute :cpus
|
||||
attribute :os_type
|
||||
|
@ -261,7 +261,7 @@ module Fog
|
|||
# Check if another ip_command string was provided
|
||||
ip_command=options[:ip_command].nil? ? "grep #{mac} /var/log/arpwatch.log |cut -d ':' -f 4-| cut -d ' ' -f 4" : options[:ip_command]
|
||||
|
||||
ipaddress=nil
|
||||
ip_address=nil
|
||||
|
||||
if @connection.uri.ssh_enabled?
|
||||
|
||||
|
@ -283,17 +283,17 @@ module Fog
|
|||
begin
|
||||
result=Fog::SSH.new(host, user, ssh_options).run(ip_command)
|
||||
rescue Errno::ECONNREFUSED
|
||||
raise Fog::Errors::Error.new("Connection was refused to host #{host} to retrieve the ipaddress for #{mac}")
|
||||
raise Fog::Errors::Error.new("Connection was refused to host #{host} to retrieve the ip_address for #{mac}")
|
||||
rescue Net::SSH::AuthenticationFailed
|
||||
raise Fog::Errors::Error.new("Error authenticating over ssh to host #{host} and user #{user}")
|
||||
end
|
||||
|
||||
#TODO: We currently just retrieve the ip address through the ip_command
|
||||
#TODO: We need to check if that Ipaddress is still valid for that mac-address
|
||||
#TODO: We need to check if that ip_address is still valid for that mac-address
|
||||
|
||||
# Check for a clean exit code
|
||||
if result.first.status == 0
|
||||
ipaddress=result.first.stdout.strip
|
||||
ip_address=result.first.stdout.strip
|
||||
else
|
||||
# We got a failure executing the command
|
||||
raise Fog::Errors::Error.new("The command #{ip_command} failed to execute with a clean exit code")
|
||||
|
@ -305,38 +305,35 @@ module Fog
|
|||
raise Fog::Errors::Error.new("TlS remote transport is not currently supported, only ssh")
|
||||
end
|
||||
|
||||
# Execute the ip_command locally
|
||||
IO.popen("#{ip_command}") do |p|
|
||||
p.each_line do |l|
|
||||
ipaddress=+l
|
||||
ip_address=+l
|
||||
end
|
||||
status=Process.waitpid2(p.pid)[1].exitstatus
|
||||
if status!=0
|
||||
raise Fog::Errors::Error.new("The command #{ip_command} failed to execute with a clean exit code")
|
||||
end
|
||||
end
|
||||
# TODO for locat execute
|
||||
#No ssh just do it locally
|
||||
#cat /var/log/daemon.log|grep "52:54:00:52:f6:22"|
|
||||
# or local execute arp -an to get the ip (as a last resort)
|
||||
|
||||
end
|
||||
|
||||
if ipaddress==""
|
||||
if ip_address==""
|
||||
#The grep didn't find an ip address result"
|
||||
ipaddress=nil
|
||||
ip_address=nil
|
||||
else
|
||||
# To be sure that the command didn't return another random string
|
||||
# We check if the result is an actual ip-address
|
||||
# otherwise we return nil
|
||||
unless ipaddress=~/^(\d{1,3}\.){3}\d{1,3}$/
|
||||
unless ip_address=~/^(\d{1,3}\.){3}\d{1,3}$/
|
||||
raise Fog::Errors::Error.new(
|
||||
"The command #{ip_command} failed to execute with a clean exit code\n"+
|
||||
"Result was: #{ipaddress}\n"
|
||||
"Result was: #{ip_address}\n"
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
return { :public => [ipaddress], :private => [ipaddress]}
|
||||
return { :public => [ip_address], :private => [ip_address]}
|
||||
end
|
||||
|
||||
def private_ip_address
|
||||
|
@ -472,6 +469,7 @@ module Fog
|
|||
@raw = new_raw
|
||||
|
||||
raw_attributes = {
|
||||
:id => new_raw.uuid,
|
||||
:uuid => new_raw.uuid,
|
||||
:name => new_raw.name,
|
||||
:memory_size => new_raw.info.max_mem,
|
||||
|
|
Loading…
Add table
Reference in a new issue