[one-users] listing images and its vms
Javier Fontan
jfontan at opennebula.org
Wed Feb 5 03:38:14 PST 2014
"img" does not have a method called vms. You can get the IDs of the
VMs using the retrieve_elements method [1]:
vm_ids=img.retrieve_elements("VMS/ID")
As an example you can check the code for oneimage show [2].
[1] http://docs.opennebula.org/doc/4.4/oca/ruby/OpenNebula/XMLElement.html#retrieve_elements-instance_method
[2] https://github.com/OpenNebula/one/blob/one-4.4/src/cli/one_helper/oneimage_helper.rb#L301
On Wed, Feb 5, 2014 at 9:44 AM, João Pagaime <joao.pagaime at gmail.com> wrote:
> Hello all
>
> I'm trying to put together a very simple ruby script that outputs
> opennebula's images and its vms
>
> as far as listing opennebula's images, everything is fine, but I get an
> error when trying, for each image, to lists its vms
>
> acording to the 4.2 API documentation the image class should have a "vms"
> list/array member, but I get an error when I try to instantiate that
>
> where's the script. The offending statement in red. Any help would be
> appreciated
>
> thanks
> joão
>
> -------------------------- (snatched from openneb examples and then
> adapted...)
>
> #!/usr/bin/env ruby
>
> ##############################################################################
> # Environment Configuration
> ##############################################################################
> ONE_LOCATION=ENV["ONE_LOCATION"]
>
> if !ONE_LOCATION
> RUBY_LIB_LOCATION="/usr/lib/one/ruby"
> else
> RUBY_LIB_LOCATION=ONE_LOCATION+"/lib/ruby"
> end
>
> $: << RUBY_LIB_LOCATION
>
> ##############################################################################
> # Required libraries
> ##############################################################################
> require 'opennebula'
>
> include OpenNebula
>
> # OpenNebula credentials
> CREDENTIALS = "oneadmin:(REMOVED)"
> # XML_RPC endpoint where OpenNebula is listening
> ENDPOINT = "http://localhost:2633/RPC2"
>
> client = Client.new(CREDENTIALS, ENDPOINT)
>
> img_pool = ImagePool.new(client, -1)
>
> rc2 = img_pool.info
> if OpenNebula.is_error?(rc2)
> puts rc2.message
> exit -1
> end
>
> img_pool.each do |img|
> puts "img id=#{img.id},#{img.name}"
> img.vms.each do |vm|
> end
> end
>
>
> ---------------------------
>
> _______________________________________________
> Users mailing list
> Users at lists.opennebula.org
> http://lists.opennebula.org/listinfo.cgi/users-opennebula.org
>
--
Javier Fontán Muiños
Developer
OpenNebula - The Open Source Toolkit for Data Center Virtualization
www.OpenNebula.org | @OpenNebula | github.com/jfontan
More information about the Users
mailing list