Hi, The current implementation require that the applications, built upon the OCA API, check that kind of things. This functionality will be added to the OpenNebula Core in upcoming releases, this way the application wont have to take into account this kind of stuff.
Regards. On 4 February 2011 00:06, Piotr Kandziora <[email protected]> wrote: > 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@main:~$ oneuser list > ID USER PASSWORD > 0 oneadmin 4ff88aaddbd209d8026924c2cc2836b408698823 > 3 test11 4ff88aaddbd209d8026924c2cc2836b408698823 > > oneadmin@main:~$ onevm list > ID USER NAME STAT CPU MEM HOSTNAME TIME > 4014 test11 one-4014 runn 0 0K root24 00 00:00:32 > > oneadmin@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@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 > > > > > _______________________________________________ > Users mailing list > [email protected] > http://lists.opennebula.org/listinfo.cgi/users-opennebula.org > > -- Daniel Molina, Cloud Technology Engineer/Researcher DSA Research Group: web http://dsa-research.org and blog http://blog.dsa-research.org OpenNebula Open Source Toolkit for Cloud Computing: http://www.OpenNebula.org _______________________________________________ Users mailing list [email protected] http://lists.opennebula.org/listinfo.cgi/users-opennebula.org
