Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save jwmatthews/c51dab01d6b2582d2e44dfcd19fdf963 to your computer and use it in GitHub Desktop.
Save jwmatthews/c51dab01d6b2582d2e44dfcd19fdf963 to your computer and use it in GitHub Desktop.
# cat rbo_virt_list_volumes.rb
#!/usr/bin/env ruby
require 'rbovirt'
USER="admin@internal"
PASS="dog8code"
# For 3.6 URL is just IP/api
# For 4.0 URL is IP/ovirt/api/v3
URL="https://192.168.155.11/api"
client = OVIRT::Client.new(USER, PASS, URL, {:ca_no_verify => true})
puts "API Version: #{client.api_version}"
vm_ids = client.vms.map {|v| v.id}
puts "vm_ids = #{vm_ids}"
vm_ids.each do |vid|
volume_data = client.vm_volumes vid
puts "Volume info for #{vid}:"
puts "#{volume_data}"
end
[root@sat ~]# ruby rbo_virt_list_volumes.rb
API Version: 3.6
vm_ids = ["311b3969-4543-4868-8553-835e4902c237", "9ce9d090-6efc-4bef-860c-fcbfbc6d93be"]
Volume info for 311b3969-4543-4868-8553-835e4902c237:
[#<OVIRT::Volume:0x000000027fe0c0 @name="jwm1-ose-master1-example-com_Disk1", @href="/api/vms/311b3969-4543-4868-8553-835e4902c237/disks/8be027af-249f-47c6-8afd-c6faecd4325d", @id="8be027af-249f-47c6-8afd-c6faecd4325d", @client=#<OVIRT::Client:0x0000000244fc30 @api_entrypoint="https://192.168.155.11/api", @credentials={:username=>"admin@internal", :password=>"dog8code"}, @datacenter_id=nil, @cluster_id=nil, @filtered_api=nil, @ca_cert_file=nil, @ca_cert_store=nil, @ca_no_verify=true, @persistent_auth=nil, @jsessionid=nil, @api_version="3.6", @current_datacenter=#<OVIRT::DataCenter:0x000000024cc960 @name="Default", @href="/api/datacenters/00000001-0001-0001-0001-0000000000f2", @id="00000001-0001-0001-0001-0000000000f2", @client=#<OVIRT::Client:0x0000000244fc30 ...>, @description="The default Data Center", @status="up", @local=false, @storage_type=nil, @storage_format="v3", @supported_versions=["3.6"], @version="3.6">>, @storage_domain="c8878c1f-fc87-4326-b46c-9d7012b51125", @size="32212254720", @disk_type=nil, @bootable="true", @interface="virtio", @format="cow", @sparse="true", @status="ok", @vm=#<OVIRT::Link:0x00000002833978 @href="/api/vms/311b3969-4543-4868-8553-835e4902c237", @id="311b3969-4543-4868-8553-835e4902c237", @client=#<OVIRT::Client:0x0000000244fc30 @api_entrypoint="https://192.168.155.11/api", @credentials={:username=>"admin@internal", :password=>"dog8code"}, @datacenter_id=nil, @cluster_id=nil, @filtered_api=nil, @ca_cert_file=nil, @ca_cert_store=nil, @ca_no_verify=true, @persistent_auth=nil, @jsessionid=nil, @api_version="3.6", @current_datacenter=#<OVIRT::DataCenter:0x000000024cc960 @name="Default", @href="/api/datacenters/00000001-0001-0001-0001-0000000000f2", @id="00000001-0001-0001-0001-0000000000f2", @client=#<OVIRT::Client:0x0000000244fc30 ...>, @description="The default Data Center", @status="up", @local=false, @storage_type=nil, @storage_format="v3", @supported_versions=["3.6"], @version="3.6">>>, @quota=nil, @alias="jwm1-ose-master1-example-com_Disk1">, #<OVIRT::Volume:0x000000027ad828 @name="jwm1-ose-master1-example-com_Disk2", @href="/api/vms/311b3969-4543-4868-8553-835e4902c237/disks/0867edb1-2d6d-4a63-be9d-8ab31f6beaf0", @id="0867edb1-2d6d-4a63-be9d-8ab31f6beaf0", @client=#<OVIRT::Client:0x0000000244fc30 @api_entrypoint="https://192.168.155.11/api", @credentials={:username=>"admin@internal", :password=>"dog8code"}, @datacenter_id=nil, @cluster_id=nil, @filtered_api=nil, @ca_cert_file=nil, @ca_cert_store=nil, @ca_no_verify=true, @persistent_auth=nil, @jsessionid=nil, @api_version="3.6", @current_datacenter=#<OVIRT::DataCenter:0x000000024cc960 @name="Default", @href="/api/datacenters/00000001-0001-0001-0001-0000000000f2", @id="00000001-0001-0001-0001-0000000000f2", @client=#<OVIRT::Client:0x0000000244fc30 ...>, @description="The default Data Center", @status="up", @local=false, @storage_type=nil, @storage_format="v3", @supported_versions=["3.6"], @version="3.6">>, @storage_domain="c8878c1f-fc87-4326-b46c-9d7012b51125", @size="32212254720", @disk_type=nil, @bootable="false", @interface="virtio", @format="cow", @sparse="true", @status="ok", @vm=#<OVIRT::Link:0x000000027fef98 @href="/api/vms/311b3969-4543-4868-8553-835e4902c237", @id="311b3969-4543-4868-8553-835e4902c237", @client=#<OVIRT::Client:0x0000000244fc30 @api_entrypoint="https://192.168.155.11/api", @credentials={:username=>"admin@internal", :password=>"dog8code"}, @datacenter_id=nil, @cluster_id=nil, @filtered_api=nil, @ca_cert_file=nil, @ca_cert_store=nil, @ca_no_verify=true, @persistent_auth=nil, @jsessionid=nil, @api_version="3.6", @current_datacenter=#<OVIRT::DataCenter:0x000000024cc960 @name="Default", @href="/api/datacenters/00000001-0001-0001-0001-0000000000f2", @id="00000001-0001-0001-0001-0000000000f2", @client=#<OVIRT::Client:0x0000000244fc30 ...>, @description="The default Data Center", @status="up", @local=false, @storage_type=nil, @storage_format="v3", @supported_versions=["3.6"], @version="3.6">>>, @quota=nil, @alias="jwm1-ose-master1-example-com_Disk2">]
Volume info for 9ce9d090-6efc-4bef-860c-fcbfbc6d93be:
[#<OVIRT::Volume:0x00000001f86c80 @name="jwm1-ose-node1-example-com_Disk1", @href="/api/vms/9ce9d090-6efc-4bef-860c-fcbfbc6d93be/disks/3bf80387-5021-46ed-95c3-c201dd05a951", @id="3bf80387-5021-46ed-95c3-c201dd05a951", @client=#<OVIRT::Client:0x0000000244fc30 @api_entrypoint="https://192.168.155.11/api", @credentials={:username=>"admin@internal", :password=>"dog8code"}, @datacenter_id=nil, @cluster_id=nil, @filtered_api=nil, @ca_cert_file=nil, @ca_cert_store=nil, @ca_no_verify=true, @persistent_auth=nil, @jsessionid=nil, @api_version="3.6", @current_datacenter=#<OVIRT::DataCenter:0x000000024cc960 @name="Default", @href="/api/datacenters/00000001-0001-0001-0001-0000000000f2", @id="00000001-0001-0001-0001-0000000000f2", @client=#<OVIRT::Client:0x0000000244fc30 ...>, @description="The default Data Center", @status="up", @local=false, @storage_type=nil, @storage_format="v3", @supported_versions=["3.6"], @version="3.6">>, @storage_domain="c8878c1f-fc87-4326-b46c-9d7012b51125", @size="16106127360", @disk_type=nil, @bootable="true", @interface="virtio", @format="cow", @sparse="true", @status="ok", @vm=#<OVIRT::Link:0x00000002894f48 @href="/api/vms/9ce9d090-6efc-4bef-860c-fcbfbc6d93be", @id="9ce9d090-6efc-4bef-860c-fcbfbc6d93be", @client=#<OVIRT::Client:0x0000000244fc30 @api_entrypoint="https://192.168.155.11/api", @credentials={:username=>"admin@internal", :password=>"dog8code"}, @datacenter_id=nil, @cluster_id=nil, @filtered_api=nil, @ca_cert_file=nil, @ca_cert_store=nil, @ca_no_verify=true, @persistent_auth=nil, @jsessionid=nil, @api_version="3.6", @current_datacenter=#<OVIRT::DataCenter:0x000000024cc960 @name="Default", @href="/api/datacenters/00000001-0001-0001-0001-0000000000f2", @id="00000001-0001-0001-0001-0000000000f2", @client=#<OVIRT::Client:0x0000000244fc30 ...>, @description="The default Data Center", @status="up", @local=false, @storage_type=nil, @storage_format="v3", @supported_versions=["3.6"], @version="3.6">>>, @quota=nil, @alias="jwm1-ose-node1-example-com_Disk1">, #<OVIRT::Volume:0x00000002894070 @name="jwm1-ose-node1-example-com_Disk2", @href="/api/vms/9ce9d090-6efc-4bef-860c-fcbfbc6d93be/disks/39c4834c-375d-4d8f-b36d-48d3ddf0a165", @id="39c4834c-375d-4d8f-b36d-48d3ddf0a165", @client=#<OVIRT::Client:0x0000000244fc30 @api_entrypoint="https://192.168.155.11/api", @credentials={:username=>"admin@internal", :password=>"dog8code"}, @datacenter_id=nil, @cluster_id=nil, @filtered_api=nil, @ca_cert_file=nil, @ca_cert_store=nil, @ca_no_verify=true, @persistent_auth=nil, @jsessionid=nil, @api_version="3.6", @current_datacenter=#<OVIRT::DataCenter:0x000000024cc960 @name="Default", @href="/api/datacenters/00000001-0001-0001-0001-0000000000f2", @id="00000001-0001-0001-0001-0000000000f2", @client=#<OVIRT::Client:0x0000000244fc30 ...>, @description="The default Data Center", @status="up", @local=false, @storage_type=nil, @storage_format="v3", @supported_versions=["3.6"], @version="3.6">>, @storage_domain="c8878c1f-fc87-4326-b46c-9d7012b51125", @size="32212254720", @disk_type=nil, @bootable="false", @interface="virtio", @format="cow", @sparse="true", @status="ok", @vm=#<OVIRT::Link:0x000000028d1740 @href="/api/vms/9ce9d090-6efc-4bef-860c-fcbfbc6d93be", @id="9ce9d090-6efc-4bef-860c-fcbfbc6d93be", @client=#<OVIRT::Client:0x0000000244fc30 @api_entrypoint="https://192.168.155.11/api", @credentials={:username=>"admin@internal", :password=>"dog8code"}, @datacenter_id=nil, @cluster_id=nil, @filtered_api=nil, @ca_cert_file=nil, @ca_cert_store=nil, @ca_no_verify=true, @persistent_auth=nil, @jsessionid=nil, @api_version="3.6", @current_datacenter=#<OVIRT::DataCenter:0x000000024cc960 @name="Default", @href="/api/datacenters/00000001-0001-0001-0001-0000000000f2", @id="00000001-0001-0001-0001-0000000000f2", @client=#<OVIRT::Client:0x0000000244fc30 ...>, @description="The default Data Center", @status="up", @local=false, @storage_type=nil, @storage_format="v3", @supported_versions=["3.6"], @version="3.6">>>, @quota=nil, @alias="jwm1-ose-node1-example-com_Disk2">]
[root@sat ~]#
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment