Issue retrieving a User's VMs on their behalf: Not seeing all VMs in other groups

Open Nebula 5.6.1
opennebula gem: 5.8.0

I’m working on a Rails app that uses the opennebula gem to do some Open Nebula operations on our users’ behalf. One issue we’re running into now is that if our user belongs to more than one group; the virtual machine pool will only return the VMs belonging to that user and the VMs in the current group, but not the VMs in other groups owned by other users which our user should be able to see. What am I doing wrong?

I have a work-around where I loop through all of the user’s groups, creating a login token, client and querying the vmpool for each group, but based on the open nebula documentation it doesn’t seem like I should have to do that.

Example:
User 1 belongs to Group-Awesome and Group-Lame.
There are two VMs in each group (4 total) and they all have the Group-Use flag set to true.
One vm in each group belongs to User 1 and the other vm belongs to another user.
With our system oneadmin account, I create a login token for User 1 with the effective group Group-Awesome.
Now using that login token, when I fire off a virtualmachinepool.info_all request I expect to see all 4 VMs.
Instead I only see 3; the two VMs in GroupAwesome and the vm owned by User 1 in Group-Lame.
(Note that using the login token created, I can log into Sunstone as that user and see all 4 VMs.)

Here’s the code I expect to return all VMs a user can see:

    #create a client with our projects Admin account
    su_client = OpenNebula::Client.new( <ADMIN ACCOUNT user/pass IN oneadmin GROUP> , url, open_nebula_connection_options)

    #create a userpool and fetch the users.
    user_pool = OpenNebula::UserPool.new(su_client)
    user_pool.info

    #grab the user on whose behalf we're acting
    open_nebula_user = user_pool.to_a.find {|open_nebula_user| open_nebula_user.name == <USERNAME>}

    #create a login token for the user, for one of the user's group. 
    login_token = open_nebula_user.login(<USERNAME>, '', 180, 1015)

    #create a client with the user and the login token we created
    client = OpenNebula::Client.new("<USERNAME>:#{login_token}", url, open_nebula_connection_options)

    #create a vm pool and fetch the info for all vms 
    pool = OpenNebula::VirtualMachinePool.new(client)
    resp = pool.info_all
    #NOTE: I have also tried "resp = pool.info filter, -1, -1" with filter set from -1 to -4. None of those returned all the VMs either. 


    #display error if there is one.
    if OpenNebula.is_error?(resp)
    	puts resp.message
    else
    	#display vm hashes and the count
    	i = 0
    	pool.each do |vm|
    		puts vm.to_hash
    		i+=1
    	end
    	puts i
    end