I’d like to see if we can come up with some solution for this issue. Having ‘add these lines to commands.properties’ is not really an acceptable installation step for plugins/extensions/etc.
So, the ideas I’ve seen are: -Turn commands.properties into a blacklist instead of a whitelist -Dynamically discover additional commands.properties Darren - is there any chance that the Spring modularization stuff you’ve done would make the latter any easier? Are there any others? -Chris -- Chris Suich chris.su...@netapp.com NetApp Software Engineer Data Center Platforms – Cloud Solutions Citrix, Cisco & Red Hat On Oct 9, 2013, at 3:49 PM, SuichII, Christopher <chris.su...@netapp.com> wrote: > I just wanted to add a little clarification from a plugin perspective. > > Having commands.properties as a whitelist just adds another place that > plugins have to register with CloudStack. For plugins that do not intend on > being a part of the CloudStack source, this is actually quite tricky. > Currently, to add entries to commands.properties, any plugin like this would > either need to tell the CS administrator to manually modify this file (error > prone, laborious and an uncommon installation practice) or develop an > installation script to modify commands.properties when installing, updating > or uninstalling the plugin (also error prone and scary). > > -- > Chris Suich > chris.su...@netapp.com > NetApp Software Engineer > Data Center Platforms – Cloud Solutions > Citrix, Cisco & Red Hat > > On Oct 9, 2013, at 1:08 AM, Darren Shepherd <darren.s.sheph...@gmail.com> > wrote: > >> So I'm saying if you want to disable a command you put myBadCmd=0 in >> the commands.properties. So yes, a blacklist over a whitelist. For >> people paranoid about maybe some command exists that they don't know >> about, we can even add a "blacklist=false to the command properties. >> Then the commands.properites becomes the all mighty master of what is >> allowed (a whitelist). But by default, I think the file should be >> empty and default to what is defined by the API annotation. >> >> Darren >> >> On Tue, Oct 8, 2013 at 5:45 PM, SuichII, Christopher >> <chris.su...@netapp.com> wrote: >>> Maybe we could consider switching from a whitelist to a blacklist, then. A >>> whitelist is certainly easier in terms of a one-step configuration, but a >>> blacklist would allow for much easier plugin development, installation and >>> removal. Perhaps we could find write a script that generates the complete >>> list of APIs to create the blacklist from (I know this API exists >>> currently, but not in the format of commands.properties). >>> >>> -- >>> Chris Suich >>> chris.su...@netapp.com >>> NetApp Software Engineer >>> Data Center Platforms – Cloud Solutions >>> Citrix, Cisco & Red Hat >>> >>> On Oct 8, 2013, at 7:11 PM, Prachi Damle <prachi.da...@citrix.com> wrote: >>> >>>> I think commands.properties is not just providing ACL on the API - but it >>>> also serves as a whitelist of APIs available on the deployment. >>>> It can be a one-step configuration option to disable certain functionality. >>>> >>>> Prachi >>>> >>>> >>>> -----Original Message----- >>>> From: Darren Shepherd [mailto:darren.s.sheph...@gmail.com] >>>> Sent: Tuesday, October 08, 2013 3:24 PM >>>> To: dev@cloudstack.apache.org >>>> Subject: [DISCUSS] make commands.properties the exception, not the rule >>>> >>>> I would like to largely remove commands.properties. I think most API >>>> commands naturally have a default ACL that should be applied. I think it >>>> makes sense to add to the @APICommand flags for user, domain, admin. >>>> Then, as an override mechanism, people can edit commands.properties to >>>> change the default ACL. This would make it such that people could add new >>>> commands without the need to edit commands.properties. >>>> >>>> Thoughts? How will this play with whatever is being done with rbac? >>>> >>>> Darren >>> >