Feature #407

manage user groups

Added by olivier sallou over 10 years ago. Updated about 10 years ago.

Status:ClosedStart date:11/11/2010
Priority:NormalDue date:
Assignee:Carlos Martín% Done:

0%

Category:Core & System
Target version:Release 3.0
Resolution:fixed Pull request:

Description

one should manage user groups so that a team can manage the vms all together.

Cloud is a feature used by (research) teams for their work, especially with private cloud. Users should be able to group themselves to manage their vms. We have to think on VMs in a team context.

A "onegroup" as "oneuser" could be created. Admin would create groups on user request, and add a user to the group. Then user could add other users to the group (should their be an admin group or should all users of the group be admin of the group ? I would rather choose the second option).

Then all users of the group could manage the VMs of the group (could be an optional parameter of the vm deployment file, the group notion should be optional at deployment, one user may want to keep some private VMs, or manage VMs for multiple groups).

Then for viewing or managing VMs, opennebula would check if vm is part of a group iand if user is part of this group.

Associated revisions

Revision 829d34c4
Added by Carlos Martín over 10 years ago

Feature #407: Code refactor, ObjectXML moved to main source tree

Revision ebf66e0f
Added by Carlos Martín over 10 years ago

Feature #407: Host object uses new DB schema, storing the contents as XML

Revision 0b995517
Added by Ruben S. Montero over 10 years ago

feature #407: Minor changes in Host class refactor

Revision 18b9a9b3
Added by Ruben S. Montero over 10 years ago

feature #407: Added xpath method to ObjectXML and tests

Revision 1bc4615d
Added by Ruben S. Montero over 10 years ago

feature #407: Added static xpath access method and test

Revision 63ca42e4
Added by Carlos Martín over 10 years ago

Feature #407: HostPool::discover updated to new DB schema, tests fixed

Revision f1157f52
Added by Carlos Martín over 10 years ago

Feature #407: Use new xpath methods in Host unmarshall

Revision d3828b30
Added by Carlos Martín over 10 years ago

Feature #407: Image uses new DB blob schema

Revision 13b93bcf
Added by Ruben S. Montero over 10 years ago

feature #407: Added tests for from_xml methods

Revision b05e6096
Added by Ruben S. Montero over 10 years ago

feature #407: Performance Test for the HostPool

Revision 2eee00a1
Added by Carlos Martín over 10 years ago

Feature #407: Host code cleanup and better error checks

Revision 3e7b2b73
Added by Carlos Martín over 10 years ago

Feature #407: Image Allocation bug fixed, and test cleanup

Revision 493a9e9c
Added by Carlos Martín over 10 years ago

Feature #407: Virtual Machine uses new xml blob DB schema

Revision e22e1cc2
Added by Carlos Martín over 10 years ago

Feature #407: VM's last_seq deleted, it is not needed any more

Revision 0bcf29fb
Added by Carlos Martín over 10 years ago

Feature #407: VNet uses new XML DB schema

Revision de03c285
Added by Carlos Martín over 10 years ago

Feature #407: User object modified for new XML DB schema

Revision 58f37426
Added by Carlos Martín over 10 years ago

Feature #407: Fix for UserPool initialization bug

Revision e18675bf
Added by Ruben S. Montero over 10 years ago

feature #407: Refactor of base classes to include names and uid. Also the pool now has an index to get objects by name

Revision fadbe3a4
Added by Ruben S. Montero over 10 years ago

feature #407: All resources now uses the base classes and index

Revision 9288a79a
Added by Ruben S. Montero over 10 years ago

feature #407: Several bug fixes. Better index for names.

Revision ea84e9da
Added by Ruben S. Montero over 10 years ago

feature #407: Removed uid from VirtualMachine class

Revision ed513e5b
Added by Ruben S. Montero over 10 years ago

feature #407: Minor changes in ImagePool

Revision 4ef82d3e
Added by Carlos Martín over 10 years ago

Feature #407: Let images have duplicated names if they are owned by different users

Revision ac6c5644
Added by Ruben S. Montero over 10 years ago

feature #407: Minor changes for the VirtualMachine Pool

Revision 351ad626
Added by Carlos Martín over 10 years ago

Feature #407: Let vnets have duplicated names if they are owned by different users

Revision daf7b709
Added by Carlos Martín over 10 years ago

Feature #407: Fix small mem. leak in Image

Revision be33cd53
Added by Ruben S. Montero over 10 years ago

feature #407: Minor changes in VirtualNetwork Pool

Revision b2f1051e
Added by Carlos Martín over 10 years ago

Feature #407: Refactor of pool dumps to be performed in PoolSQL class

Revision cd8c19f9
Added by Carlos Martín over 10 years ago

Feature #407: Refator of PoolObjectSQL class

Revision c4f4e1c9
Added by Ruben S. Montero over 10 years ago

feature #407: User pool uses de indexing methods of PoolSQL

Revision 6ea29d68
Added by Ruben S. Montero over 10 years ago

feature #407: moved dump to .h

Revision 05a8d170
Added by Ruben S. Montero over 10 years ago

feature #407: fix minor leak in tests

Revision cc81b3cf
Added by Carlos Martín over 10 years ago

Feature #407: ClusterPool is now a full PoolSQL class

Revision 829a48e5
Added by Carlos Martín over 10 years ago

Feature #407: Fix deadlock when adding a Host to a non existing Cluster

Revision c61186bc
Added by Carlos Martín over 10 years ago

Feature #407: Tests for clusters and some minor host-cluster dependencies moved

Revision 88aa07ed
Added by Carlos Martín over 10 years ago

Feature #407: Eliminate the extended flag for xml-rpc call one.vmpool.info

Revision 3a833878
Added by Ruben S. Montero over 10 years ago

feature #407: Minor modification on Cluster and Host classes

Revision 546aa9e8
Added by Ruben S. Montero over 10 years ago

feature #407: Solves deadlock in cluster-host pool interaction

Revision 3c3edb9c
Added by Carlos Martín over 10 years ago

Feature #407: Better duplicated name detection for Hosts

Revision 96b01044
Added by Carlos Martín over 10 years ago

Feature #407: PoolSQL, remove unused variable and tests for name_pool index

Revision 1e1cb17e
Added by Carlos Martín over 10 years ago

Features #539, #527, #407: Basic consistency checks for User, Cluster and VNet creation

Revision 3ab7e17a
Added by Carlos Martín over 10 years ago

Feature #407: Add cluster tests to do_tests.sh script

Revision 5071e854
Added by Carlos Martín over 10 years ago

Features #539, #407: Consistency checks for Hosts and Images

Revision 27341b66
Added by Carlos Martín over 10 years ago

Features #539, #407: Small consistency checks for VMs

Revision dd17d6db
Added by Ruben S. Montero over 10 years ago

feature #407: Minor change in host allocate

Revision 1e4e4f2c
Added by Ruben S. Montero over 10 years ago

feature #523, #407, #488: Template is now part of base class PoolObjectSQL

Revision ae53d437
Added by Carlos Martín about 10 years ago

Feature #407: Base implementation for groups.

So far groups can be managed, but resources can't be associated to a group.
Tasks done:

  • New basic onegroup command
  • RequestManager XML-RPC methods
  • New group pool
  • New GROUP authorization symbol
  • Basic GroupPool tests
  • Ruby OCA methods

Revision 09c93c75
Added by Carlos Martín about 10 years ago

Feature #407: Remove usernames from owned resources, only user-id is stored now.

Revision 211eed32
Added by Carlos Martín about 10 years ago

Feature #407: Create default groups 'oneadmin' and 'users'. Make regular groups start from ID 100. Fix tests.
Feature #591: Add group_pool table to the DB migration script.

Revision 3fa10a2d
Added by Carlos Martín about 10 years ago

Feature #407: Add 'GID' attribute to some pool objects; change *pool.info XML-RPC flag meaning; update onedb migrator; fix tests.

  • VM, VMTEMPLATE, VNET & IMAGE objects have a GID attribute, and a table column. The group id is inherited from the user creating the object, except for VMs created from Templates, that inherit the Template's group.
  • The new flag meaning has been modified in src/rm sources and CLI commands for one.(vm,template,vnet,image)pool.info . It changes from
    -2 all, -1 mine & public, >=0 UID
    to
    -3 mine, -2 all, -1 mine & group
  • USER has a group, but not secondary ones. The user_pool table doesn't have a GID column, we'll deal with it later when the group-users relations are implemented.
  • onedb migrator 1.rb: deleted USERNAME, and GID added.

Revision 6329d8b3
Added by Carlos Martín about 10 years ago

Feature #407: Use Cluster-ids instead of cluster names for Hosts. Update onedb 1.rb, tests and CLI for this change

Revision b0ddfd38
Added by Carlos Martín about 10 years ago

Feature #407: New XML-RPC, Ruby OCA & CLI method 'chown' for VM,TEMPLATE,NET,USER & IMAGE. Work in progress, only basic functionality without authorization or consistency checks.

Revision e77a5f5b
Added by Ruben S. Montero about 10 years ago

feature #407: LastOID is private for the pools. Minor changes in Group classes

Revision 122a45ac
Added by Ruben S. Montero about 10 years ago

feature #407: order of uid, gid the same for constructors. Solved som issues with fix_times

Revision 96a7dc0d
Added by Ruben S. Montero about 10 years ago

feature #407: reuse cluster_id in function

Revision 6230001c
Added by Carlos Martín about 10 years ago

Feature #407: * Chown method: destination user and group are checked, auth. manager request used. * New one.group.chown method. * New ObjectCollection class to store sets of IDs. * New RM user.addgroup user.delgroup methods, users and groups store a cross-reference ID set. * Clusters store a set of Host IDs. The RM part of the add/remove host functionality works, but should be re-done to avoid deadlocks. * Fix onedb schmea for template_pool table bug.

Revision 3db7376b
Added by Carlos Martín about 10 years ago

Feature #407: Fix tests

Revision 91b37ed7
Added by Carlos Martín about 10 years ago

Feature #407: Update onedb for new group-user and cluster-host relations

Revision 3cf5d5e7
Added by Ruben S. Montero about 10 years ago

feature #407: Moved implementation of ObjectCollection to cc file

Revision 532982b6
Added by Ruben S. Montero about 10 years ago

feature #407: Prevent some deadlocks when adding/removing users from groups

Revision e28ad2a6
Added by Carlos Martín about 10 years ago

Feature #662, #407: Delete operator<< from PoolObjectSQL classes. Remove Cluster objects.

Revision 70435d90
Added by Ruben S. Montero about 10 years ago

feature #407, #662: New User methods in RM and some changes in the add/del group interface

Revision 2625cf1c
Added by Ruben S. Montero about 10 years ago

feature #407: Fixes Host related tests

Revision 881d6968
Added by Ruben S. Montero about 10 years ago

feature #662, #407: New chown methods

Revision 8c8ead4f
Added by Ruben S. Montero about 10 years ago

feature #407: new CHOWN operation in AuthManager

Revision ca3d0154
Added by Ruben S. Montero about 10 years ago

feature #662, #407: Better error messages. Added some missing pool updates and mutex unlocks

Revision dd03d3b7
Added by Ruben S. Montero about 10 years ago

feature #407: Added mixing unlock when dropping image

Revision ccde1658
Added by Carlos Martín about 10 years ago

Features #662, #607, #407: Small fixes in ruby OCA for group and template management

Revision 954038d4
Added by Ruben S. Montero about 10 years ago

feature #407: Users gets the gid of user performing the allocate if not oneadmin. Group are added to users groups in constructor. Groups are updated in user allocate

Revision d6206edf
Added by Ruben S. Montero about 10 years ago

feature #407: Changed implementation for user.chown. Removed host.chown. set_gid/uid in PoolObjectSQL does not check gid. Old groups updated when changing users primary groups

Revision 3d4025d5
Added by Ruben S. Montero about 10 years ago

feature #407: Removed cluster help. Removed cluster file references from installer

Revision 4e03d981
Added by Ruben S. Montero about 10 years ago

feature #407: Removed man page from scons file

Revision 7232e0b1
Added by Ruben S. Montero about 10 years ago

feature #407: Groups are created before users to add oneadmin to oneadmin group

Revision d6f9c2b4
Added by Ruben S. Montero about 10 years ago

feature #407: Fixed bug in user allocate

Revision 589fa7a8
Added by Ruben S. Montero about 10 years ago

feature #407: Fixes Image tests. persistent method returns 0 (not true) for successful operations

Revision 60294c22
Added by Ruben S. Montero about 10 years ago

feature #407: Fixes tests for Users. Groups are added in allocate

Revision 591bee2f
Added by Ruben S. Montero about 10 years ago

feature #407: Recover checks when changing groups

Revision 099b7485
Added by Carlos Martín about 10 years ago

Feature #407, #662: Groups don't have owner

Revision dba0e8c1
Added by Carlos Martín about 10 years ago

Feature #407, #662: Change one.user.chown method name to .chgrp

Revision 4bc55a70
Added by Carlos Martín about 10 years ago

Feature #407, #662: Hosts don't have group

Revision f8e64561
Added by Hector Sanjuan about 10 years ago

Feature #407: Started adding Sunstone support to chown, chgrp, groups

Revision 72fafbdb
Added by Hector Sanjuan about 10 years ago

Feature #407: Added Sunstone support to template update in Templates and Images.

Fixed other issues, indents, tabs...

Revision 683429af
Added by Hector Sanjuan about 10 years ago

Feature #407: Code clean up

Tabs removed, whitespaces removed, corrected indentation etc...

Revision d7787bc4
Added by Carlos Martín almost 10 years ago

Feature #407: Let users see their own group information, using 'onegroup show'

Revision 5f35e0d0
Added by Abel Coronado almost 4 years ago

F #5217 Added ds requirements instantiate VM (#407)

  • Added ds requirements instantiate VM
  • Solved bug in VMGroup datatable cloud view
  • F #5217 Added DS Requirements cloud view instantiate VM
  • F #5217 Added SYSTEM filter in DS datatable
  • F #5217 Made configurable ds and host datatables instantiate VM

Revision d4367953
Added by Abel Coronado almost 4 years ago

F #5217 Added ds requirements instantiate VM (#407)

  • Added ds requirements instantiate VM
  • Solved bug in VMGroup datatable cloud view
  • F #5217 Added DS Requirements cloud view instantiate VM
  • F #5217 Added SYSTEM filter in DS datatable
  • F #5217 Made configurable ds and host datatables instantiate VM

Revision 918579d2
Added by Abel Coronado almost 4 years ago

F #5217 Added ds requirements instantiate VM (#407)

  • Added ds requirements instantiate VM
  • Solved bug in VMGroup datatable cloud view
  • F #5217 Added DS Requirements cloud view instantiate VM
  • F #5217 Added SYSTEM filter in DS datatable
  • F #5217 Made configurable ds and host datatables instantiate VM

(cherry picked from commit 5f35e0d0abc166ad0d824f1045bc160767349fe3)

History

#1 Updated by Carlos Martín over 10 years ago

This branch will be used to change the DB schema to a more NoSQL approach.
That will provide more flexibility to add this kind of new features: groups, rights, quotas, or any other new attribute will be stored along with the rest of the objects as blobs (XML columns).

#2 Updated by Łukasz Oleś over 10 years ago

Would it be possible to add custom attributes(via cli or rpc)? It can be useful for plugins.

#3 Updated by Ruben S. Montero about 10 years ago

  • Category set to Core & System
  • Assignee set to Carlos Martín
  • Target version set to Release 3.0

#4 Updated by Ruben S. Montero about 10 years ago

  • Tracker changed from Request to Feature

#5 Updated by Carlos Martín about 10 years ago

  • Status changed from New to Closed
  • Resolution set to fixed

I'm closing this issue since the functionality has been merged to master and tested.

I've also opened another issue with Łukasz's request to add custom attributes to groups.

Also available in: Atom PDF