manage user groups
|Assignee:||Carlos Martín||% Done:|
|Category:||Core & System|
|Target version:||Release 3.0|
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.
feature #407: Refactor of base classes to include names and uid. Also the pool now has an index to get objects by name
Feature #407: Let images have duplicated names if they are owned by different users
Feature #407: Let vnets have duplicated names if they are owned by different users
Feature #407: Base implementation for groups.
So far groups can be managed, but resources can't be associated to a group.
- New basic onegroup command
- RequestManager XML-RPC methods
- New group pool
- New GROUP authorization symbol
- Basic GroupPool tests
- Ruby OCA methods
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
-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.
Feature #407: Use Cluster-ids instead of cluster names for Hosts. Update onedb 1.rb, tests and CLI for this change
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.
feature #407: order of uid, gid the same for constructors. Solved som issues with fix_times
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.
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
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
feature #407: Removed cluster help. Removed cluster file references from installer
feature #407: Fixes Image tests. persistent method returns 0 (not true) for successful operations
Feature #407: Added Sunstone support to template update in Templates and Images.
Fixed other issues, indents, tabs...
Feature #407: Code clean up
Tabs removed, whitespaces removed, corrected indentation etc...
- 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)
#1 Updated by Carlos Martín about 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).