Re: [Engine-devel] Disk Permissions Feature

2012-03-19 Thread Einav Cohen
1.
According to the wiki, these are the new Action Groups that will be added:
 CREATE_DISK - AddDisk, AddDiskToVm
 EDIT_DISK_PROPERTIES - UpdateDisk, UpdateVM, Activate/Deactivate
 ATTACH_DISK - AttachDiskToVm
 CONFIGURE_DISK_STORAGE - MoveOrCopyDisk
 DELETE_DISK - RemoveDisk, RemoveVm

Currently we have:
CONFIGURE_VM_STORAGE - AddDiskToVm, RemoveDisksFromVm, UpdateVmDisk

So, since AddDiskToVm has moved to CREATE_DISK, it will now be:
CONFIGURE_VM_STORAGE - RemoveDisksFromVm, UpdateVmDisk

- Is there a difference between RemoveDisk and RemoveDisksFromVm? If so, what 
is the difference?
- Is there a difference between UpdateDisk and UpdateVmDisk? If so, what is the 
difference?
[If answer to both questions is no, CONFIGURE_VM_STORAGE action-group should 
be removed; this should be considered in the upgrade process]

2. [Michael/Daniel] (more related to the floating disks feature): In which 
Action Group will DetachDiskFromVm reside?

3. Updated Roles: VM Operator should be extended with permissions on Disk - 
note that all other pre-defined roles that have UpdateVM within them (and 
most of them do, AFAIK) should also be extended with the extra Disk-related 
ActionGroups (otherwise we can reach strange situations in which a Cluster 
Admin can do everything in his cluster except manipulate Disks in his VMs, for 
example).

4. Upgrade DB: Add Disk Operator role to users that have VM Operators to allow 
permissions on Disks: 
- I assume that you mean that Disk Operator *permissions* should be added on 
the relevant *Disks* to the VM Operator users.
- I suggest to add these during upgrade not only for VM Operators but for all 
users that have a direct permission on a VM which is associated with any Role 
that contains the action UpdateVM.

5. GUI will need a new query: GetAllAttachableDisks. 
 - This query should be an Admin + User query and will have two flavors: 
Admin and User (using the isFiltered property).
 - With isFiltered = false (will be used for the admin portal), it should 
return a list of all floating and/or sharable disks.
 - With isFiltered = true (will be used in the power user portal), it should 
return a list of all floating and/or sharable disks on which the user has 
permissions.



Thanks,
Einav

- Original Message -
 From: Moti Asayag masa...@redhat.com
 To: engine-devel@ovirt.org
 Sent: Wednesday, March 14, 2012 2:20:18 AM
 Subject: [Engine-devel] Disk Permissions Feature
 
 Hi all,
 
 Disk Permissions feature description Wiki page:
 http://www.ovirt.org/wiki/Features/DiskPermissions
 
 Please share your comments.
 
 Thanks,
 Moti
 
 ___
 Engine-devel mailing list
 Engine-devel@ovirt.org
 http://lists.ovirt.org/mailman/listinfo/engine-devel
 
___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


Re: [Engine-devel] Disk Permissions Feature

2012-03-19 Thread Oved Ourfalli


- Original Message -
 From: Einav Cohen eco...@redhat.com
 To: Oved Ourfalli ov...@redhat.com
 Cc: engine-devel@ovirt.org
 Sent: Monday, March 19, 2012 10:25:24 AM
 Subject: Re: [Engine-devel] Disk Permissions Feature
 
  - Original Message -
  From: Oved Ourfalli ov...@redhat.com
  Sent: Sunday, March 18, 2012 11:52:33 AM
 
 On 03/15/2012 05:34 PM, Omer Frenkel wrote:
  1. Create disk - requires permissions on the
  Storage
  Domain,
  (can't
  assume Quota is sufficient to permit user creating
  the
  disk
  on the
  Storage Domain, as Quota might be disabled)

  I'd also specify create disk for regular disks is
  at
  storage domain
  level?, while direct lun disks require system level
  permission of
  add disk.

  so, if quota is disabled, how important is it to
  prevent
  creation
  of
  disks (other than direct lun ones, which would
  require
  a
  permission
  similar to storage domain creation)?

  if this is added, it has to be implicitly added /
  not
  needed if
  user has
  quota (i.e., having a quota should be similar to
  having
  a
  permission as
  far as the check goes).

  
We should look into it, how complicate is it to
validate
if
user has
either quota or permission, and allow creating a disk
on
a
SD
if
either
exists.
  this might be confusing to the user as he can disable the
  quota,
  then stuff would stop working.
 
 
 we can't require both quota and permissions from user on
 storage
 domains
 - that's cumbersome.
 question is if we can limit the need for permissions to disks
 only
 to
 places where they are needed (shared, direct, floating)?
+1 on that.
I also think it is only relevant on attaching a disk to a VM,
as
the
other use-cases are simpler:
1. Attach disk to VM - would require having permissions on the
disk
(whether it is shared, direct lun or floating)
2. Add disk to VM - would only require quota (if enforced).
3. Create disk (i.e., floating/shared disk) - would only
require
quota (if enforced).
   
   and if not enforced? anyone can create as much disks as he like?
   we thought of requiring permissions if quota is disabled,
   but i think its confusing to the user as he plays with
  You are right. Need to think this through...
  Also, we need to get a better understanding on the use-cases for
  floating/shared disk... who is supposed to create them, and who to
  attach...
 
 The convention today is that in order to create something, you need
 permissions on the ancestor entity.
 Therefore, I think it should be as follows:
 
 1. In order to create a Disk in a VM context, you need permission on
 the VM (just like in 3.0, IIRC).
 2. In order to create a Floating Disk within a storage domain, you
 need permission on the storage domain

1 is okay as long as we limit the user from detaching this disk later on, as 
detaching it will make it floating.
Or, we can allow detaching only in case the user has permissions on the storage 
domain, but that will be hard to understand in a user's perspective.

 3. In order to create an External LUN Disk, you need permission on
 System/DC/Whatever we decide the ancestor entity of External LUN is.
 4? Not sure regarding creation of External LUN Disk in a VM context
 (if that scenario exists) - will probably need a permission on both
 VM and External-LUN-ancestor, since this is a special case.
 
 All of the above is regardless quota, meaning, if quota is enforced,
 quota restrictions will apply as relevant *in addition* to the
 permission limitations.
 
  
  

 ___
 Engine-devel mailing list
 Engine-devel@ovirt.org
 http://lists.ovirt.org/mailman/listinfo/engine-devel
 

   ___
   Engine-devel mailing list
   Engine-devel@ovirt.org
   http://lists.ovirt.org/mailman/listinfo/engine-devel
   
  ___
  Engine-devel mailing list
  Engine-devel@ovirt.org
  http://lists.ovirt.org/mailman/listinfo/engine-devel
  
 ___
 Engine-devel mailing list
 Engine-devel@ovirt.org
 http://lists.ovirt.org/mailman/listinfo/engine-devel
 
___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel


Re: [Engine-devel] Disk Permissions Feature

2012-03-19 Thread Moti Asayag
On 03/19/2012 12:47 PM, Einav Cohen wrote:
 1.
 According to the wiki, these are the new Action Groups that will be added:
  CREATE_DISK - AddDisk, AddDiskToVm
  EDIT_DISK_PROPERTIES - UpdateDisk, UpdateVM, Activate/Deactivate
  ATTACH_DISK - AttachDiskToVm
  CONFIGURE_DISK_STORAGE - MoveOrCopyDisk
  DELETE_DISK - RemoveDisk, RemoveVm
 
 Currently we have:
 CONFIGURE_VM_STORAGE - AddDiskToVm, RemoveDisksFromVm, UpdateVmDisk
 
 So, since AddDiskToVm has moved to CREATE_DISK, it will now be:
 CONFIGURE_VM_STORAGE - RemoveDisksFromVm, UpdateVmDisk
 
 - Is there a difference between RemoveDisk and RemoveDisksFromVm? If so, what 
 is the difference?
 - Is there a difference between UpdateDisk and UpdateVmDisk? If so, what is 
 the difference?
 [If answer to both questions is no, CONFIGURE_VM_STORAGE action-group 
 should be removed; this should be considered in the upgrade process]

This point should be taken into consideration when design/implementation
of new verbs (RemoveDisk / UpdateDisk ) is done.

 
 2. [Michael/Daniel] (more related to the floating disks feature): In which 
 Action Group will DetachDiskFromVm reside?
 
 3. Updated Roles: VM Operator should be extended with permissions on Disk - 
 note that all other pre-defined roles that have UpdateVM within them (and 
 most of them do, AFAIK) should also be extended with the extra Disk-related 
 ActionGroups (otherwise we can reach strange situations in which a Cluster 
 Admin can do everything in his cluster except manipulate Disks in his VMs, 
 for example).

Updated wiki:
http://www.ovirt.org/wiki/Features/DiskPermissions#Updated_Roles

 
 4. Upgrade DB: Add Disk Operator role to users that have VM Operators to 
 allow permissions on Disks: 
 - I assume that you mean that Disk Operator *permissions* should be added on 
 the relevant *Disks* to the VM Operator users.
 - I suggest to add these during upgrade not only for VM Operators but for 
 all users that have a direct permission on a VM which is associated with any 
 Role that contains the action UpdateVM.
 

Updated wiki:
http://www.ovirt.org/wiki/Features/DiskPermissions#Upgrade_DB

 5. GUI will need a new query: GetAllAttachableDisks. 
  - This query should be an Admin + User query and will have two flavors: 
 Admin and User (using the isFiltered property).
  - With isFiltered = false (will be used for the admin portal), it should 
 return a list of all floating and/or sharable disks.
  - With isFiltered = true (will be used in the power user portal), it 
 should return a list of all floating and/or sharable disks on which the user 
 has permissions.
 
 
 
 Thanks,
 Einav
 
 - Original Message -
 From: Moti Asayag masa...@redhat.com
 To: engine-devel@ovirt.org
 Sent: Wednesday, March 14, 2012 2:20:18 AM
 Subject: [Engine-devel] Disk Permissions Feature

 Hi all,

 Disk Permissions feature description Wiki page:
 http://www.ovirt.org/wiki/Features/DiskPermissions

 Please share your comments.

 Thanks,
 Moti

 ___
 Engine-devel mailing list
 Engine-devel@ovirt.org
 http://lists.ovirt.org/mailman/listinfo/engine-devel


___
Engine-devel mailing list
Engine-devel@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-devel