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

Reply via email to