[one-users] OCA API / deleting user
Piotr Kandziora
raveenpl at gmail.com
Thu Feb 3 15:06:10 PST 2011
Hi,
I have been performing tests with OpenNebula and noticed that using command
line I am not able to delete user while it has some VMs running (it is ok).
But, using OCA API this operation is possible and causes some strange
behaviour. Details below:
a) using command line (deleting user test11 is not possible, because it has
running one-4014 vm instance):
oneadmin at main:~$ oneuser list
ID USER PASSWORD
0 oneadmin 4ff88aaddbd209d8026924c2cc2836b408698823
3 test11 4ff88aaddbd209d8026924c2cc2836b408698823
oneadmin at main:~$ onevm list
ID USER NAME STAT CPU MEM HOSTNAME TIME
4014 test11 one-4014 runn 0 0K root24 00 00:00:32
oneadmin at main:~$ oneuser delete 3
The user 3 still has VMs defined, aborting user delete.
b) using OCA API (in my case Python OCA API):
So, I am deleting user 'test11' using following code:
#!/usr/bin/python
import oca
c = oca.Client('oneadmin:free','http://localhost:2633/RPC2')
usr = oca.user.UserPool(c)
usr.info(oca.ALL)
for i in usr:
if i.name == 'test11':
i.delete()
After it command 'onevm list' returns output:
oneadmin at main:~$ onevm list
ID USER NAME STAT CPU MEM HOSTNAME TIME
/usr/lib/one/ruby/client_utilities.rb:143:in `Float': invalid value for
Float(): "" (ArgumentError)
from /usr/lib/one/ruby/client_utilities.rb:143:in `data_str'
from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `collect'
from /usr/lib/one/ruby/client_utilities.rb:139:in `each'
from /usr/lib/one/ruby/client_utilities.rb:139:in `collect'
from /usr/lib/one/ruby/client_utilities.rb:139:in `data_str'
from /usr/lib/one/ruby/client_utilities.rb:138:in `collect'
from /usr/lib/one/ruby/client_utilities.rb:138:in `data_str'
from /usr/bin/onevm:208:in `list_short'
from /usr/bin/onevm:682
At this moment I am not able to perform any action using onevm command.
In this situation I had to fix it by manual modifcation in vm_pool table in
opennebula database (I removed records that belonged to deleted user).
Question is following: Do I have to ensure before deleting user that it does
not have any running VM instances? Or this is unplanned behaviour and should
be fixed?
I am using OpenNebula version 2.0.1.
Best regards
Piotr Kandziora
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opennebula.org/pipermail/users-opennebula.org/attachments/20110204/ef7cb3cc/attachment-0002.htm>
More information about the Users
mailing list