1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-02-23 21:57:43 +03:00

feature #378: Small fixes in econe CLI

This commit is contained in:
Daniel Molina 2012-08-17 13:51:38 +02:00
parent 0e5aac62d5
commit 6e862acbe6
8 changed files with 51 additions and 49 deletions

View File

@ -114,7 +114,10 @@ if CloudClient::is_error?(rc)
exit -1
end
addresses = rc['addressesSet']['item']
addresses = []
if rc['addressesSet']
addresses = rc['addressesSet']['item']
end
fmt = "%-12s %s"
@ -123,11 +126,9 @@ if headers
puts "------------------------------------------------------------------------------"
end
if addresses
addresses.each { |addr|
puts fmt % [addr['publicIp'],addr['instanceId']]
}
end
addresses.each { |addr|
puts fmt % [addr['publicIp'],addr['instanceId']]
}
exit 0

View File

@ -51,7 +51,7 @@ Options:
--headers, -H
Display column headers
EOT
require 'econe/EC2QueryClient'
@ -97,7 +97,7 @@ begin
end
rescue Exception => e
exit -1
end
end
auth = "#{access}:#{secret}" if secret && access
@ -115,25 +115,26 @@ if CloudClient::is_error?(rc)
exit -1
end
images = rc['imagesSet']['item']
images = []
if rc['imagesSet']
images = rc['imagesSet']['item']
end
fmt = "%-12s %-13s %-14s %-12s %s"
fmt = "%-12s %-13s %-14s %-12s %s"
if headers
puts fmt % ["Owner", "ImageId", "Status", "Visibility", "Location"]
puts "------------------------------------------------------------------------------"
puts "------------------------------------------------------------------------------"
end
if images
images.each { |img|
if img['isPublic'] == 'true'
visibility = "public"
elsif img['isPublic'] == 'false'
visibility = "private"
end
puts fmt % [img['imageOwnerId'],img['imageId'], img['imageState'], visibility,img['imageLocation']]
}
end
images.each { |img|
if img['isPublic'] == 'true'
visibility = "public"
elsif img['isPublic'] == 'false'
visibility = "private"
end
puts fmt % [img['imageOwnerId'],img['imageId'], img['imageState'], visibility,img['imageLocation']]
}
exit 0

View File

@ -113,7 +113,11 @@ if CloudClient::is_error?(rc)
exit -1
end
instances = rc['reservationSet']['item'][0]['instancesSet']['item']
instances = []
if rc['reservationSet']['item'][0]['instancesSet']
instances = rc['reservationSet']['item'][0]['instancesSet']['item']
end
owner = rc['reservationSet']['item'][0]['ownerId']
fmt = "%-10s %-11s %-13s %-11s %-15s %-10s"
@ -123,9 +127,9 @@ if headers
puts "-----------------------------------------------------------------------------------"
end
if instances
instances.each { |img|
puts fmt % [owner, img['instanceId'],img['imageId'],img['instanceState']['name'],img['dnsName'],img['instanceType']]
}
end
instances.each { |img|
puts fmt % [owner, img['instanceId'],img['imageId'],img['instanceState']['name'],img['dnsName'],img['instanceType']]
}
exit 0

View File

@ -114,7 +114,10 @@ if CloudClient::is_error?(rc)
exit -1
end
volumes = rc['volumeSet']['item']
volumes = []
if rc['volumeSet']
volumes = rc['volumeSet']['item']
end
fmt = "%-15s %-10s %s"
@ -123,18 +126,16 @@ if headers
puts "------------------------------------------------------------------------------"
end
if volumes
volumes.each { |vol|
instances = ""
if vol['attachmentSet'] && vol['attachmentSet']['item']
instances = vol['attachmentSet']['item'].collect{ |item|
item['instanceId']
}.join(',')
end
volumes.each { |vol|
instances = ""
if vol['attachmentSet'] && vol['attachmentSet']['item']
instances = vol['attachmentSet']['item'].collect{ |item|
item['instanceId']
}.join(',')
end
puts fmt % [vol['volumeId'], vol['size'], instances]
}
end
puts fmt % [vol['volumeId'], vol['size'], instances]
}
exit 0

View File

@ -123,11 +123,6 @@ if !volume_id
exit -1
end
if !instance
puts "#{cmd_name}: missing --instance option"
exit -1
end
auth = "#{access}:#{secret}" if secret && access
begin

View File

@ -24,15 +24,15 @@ module EBS
vm_id_ec2 = image["TEMPLATE/EBS/INSTANCE_ID"]
end
vm_id = vm_id_ec2.split('-')[1] if vm_id_ec2[0]==?i
if vm_id.nil?
if vm_id_ec2.nil?
rc = OpenNebula::Error.new("The volume #{params['VolumeId']} is\
not attached to any instance")
logger.error {rc.message}
return rc
end
vm_id = vm_id_ec2.split('-')[1] if vm_id_ec2[0]==?i
# Detach
vm = VirtualMachine.new(VirtualMachine.build_xml(vm_id), @client)

View File

@ -2,7 +2,7 @@
<AttachVolumeResponse xmlns="http://ec2.amazonaws.com/doc/<%=erb_version%>/">
<requestId/>
<volumeId>vol-<%= sprintf('%08i', image_id) %></volumeId>
<instanceId>i-<%= sprintf('%08i', vm_id) %></instanceId>
<%= render_instance_id(vm) %>
<device>/dev/<%= vm["TEMPLATE/DISK[IMAGE_ID=#{image_id.to_i}]/TARGET"] %></device>
<status>attaching</status>
<attachTime><%= Time.at(attach_time).xmlschema %></attachTime>

View File

@ -2,7 +2,7 @@
<DetachVolumeResponse xmlns="http://ec2.amazonaws.com/doc/<%=erb_version%>/">
<requestId/>
<volumeId>vol-<%= sprintf('%08i', image_id) %></volumeId>
<instanceId>i-<%= sprintf('%08i', vm_id) %></instanceId>
<%= render_instance_id(vm) %>
<device><%= target %></device>
<status>detaching</status>
<attachTime/>