[Engine-devel] Engine Configuration API

I am adding the ability to display and update engine configuration parameters through the REST API. Working on this has raised a lot of dilemmas. The one I want to focus on here is: "Which configuration items do you think should be managed through the API?" Possible answers (you can add different ones too): 1) All items (the entire contents of VDC_OPTIONS, mirrored in the engine enum: ConfigValues.java). 2) Only the items in engine enum ConfigurationValues.java (an enum which IIUC was created in the past for GUI, and contains a subset of the items in the engine enum ConfigValues.java) 3) Only the items exposed by engine-config-tool. When I set out to work on this task, I was under the assumption that the API should show what the GUI shows (option 2). But since then I've found out that the set of items in engine-config-tool isn't identical to that in ConfigurationValues.java, and I've also heard the opinion that the API should show all values in vdc_options (option 1), because the clients of the API (& SDK, & CLI) are developers (as opposed to clients of GUI, which can be more though of as 'users'). I'd be glad to hear some opinions about this, especially PM input would be appreciated. Thanks, Ori.

----- Original Message -----
From: "Ori Liel" <oliel@redhat.com> To: "engine-devel" <engine-devel@ovirt.org> Sent: Monday, March 4, 2013 5:24:52 PM Subject: [Engine-devel] Engine Configuration API
I am adding the ability to display and update engine configuration parameters through the REST API.
Working on this has raised a lot of dilemmas. The one I want to focus on here is:
"Which configuration items do you think should be managed through the API?"
Possible answers (you can add different ones too):
1) All items (the entire contents of VDC_OPTIONS, mirrored in the engine enum: ConfigValues.java). 2) Only the items in engine enum ConfigurationValues.java (an enum which IIUC was created in the past for GUI, and contains a subset of the items in the engine enum ConfigValues.java) 3) Only the items exposed by engine-config-tool.
+1 Other values are internal and should not be exposed to the user
When I set out to work on this task, I was under the assumption that the API should show what the GUI shows (option 2). But since then I've found out that the set of items in engine-config-tool isn't identical to that in ConfigurationValues.java, and I've also heard the opinion that the API should show all values in vdc_options (option 1), because the clients of the API (& SDK, & CLI) are developers (as opposed to clients of GUI, which can be more though of as 'users').
I'd be glad to hear some opinions about this, especially PM input would be appreciated.
Thanks,
Ori.
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel

----- Original Message -----
From: "Eli Mesika" <emesika@redhat.com> To: "Ori Liel" <oliel@redhat.com> Cc: "engine-devel" <engine-devel@ovirt.org> Sent: Tuesday, March 5, 2013 1:39:10 AM Subject: Re: [Engine-devel] Engine Configuration API
----- Original Message -----
From: "Ori Liel" <oliel@redhat.com> To: "engine-devel" <engine-devel@ovirt.org> Sent: Monday, March 4, 2013 5:24:52 PM Subject: [Engine-devel] Engine Configuration API
I am adding the ability to display and update engine configuration parameters through the REST API.
Working on this has raised a lot of dilemmas. The one I want to focus on here is:
"Which configuration items do you think should be managed through the API?"
Possible answers (you can add different ones too):
1) All items (the entire contents of VDC_OPTIONS, mirrored in the engine enum: ConfigValues.java). 2) Only the items in engine enum ConfigurationValues.java (an enum which IIUC was created in the past for GUI, and contains a subset of the items in the engine enum ConfigValues.java) 3) Only the items exposed by engine-config-tool.
+1 Other values are internal and should not be exposed to the user
Who is the 'user' of an API? A simple field of 'internal'/'private' per variable should be sufficient to warn developers aka 'user' not to expose it to end-'user'.
When I set out to work on this task, I was under the assumption that the API should show what the GUI shows (option 2). But since then I've found out that the set of items in engine-config-tool isn't identical to that in ConfigurationValues.java, and I've also heard the opinion that the API should show all values in vdc_options (option 1), because the clients of the API (& SDK, & CLI) are developers (as opposed to clients of GUI, which can be more though of as 'users').
I'd be glad to hear some opinions about this, especially PM input would be appreciated.
Thanks,
Ori.
_______________________________________________ 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

----- Original Message ----- > From: "Alon Bar-Lev" <alonbl@redhat.com> > To: "Eli Mesika" <emesika@redhat.com> > Cc: "engine-devel" <engine-devel@ovirt.org>, "Ori Liel" <oliel@redhat.com> > Sent: Tuesday, March 5, 2013 8:10:06 AM > Subject: Re: [Engine-devel] Engine Configuration API > > > > ----- Original Message ----- > > From: "Eli Mesika" <emesika@redhat.com> > > To: "Ori Liel" <oliel@redhat.com> > > Cc: "engine-devel" <engine-devel@ovirt.org> > > Sent: Tuesday, March 5, 2013 1:39:10 AM > > Subject: Re: [Engine-devel] Engine Configuration API > > > > > > > > ----- Original Message ----- > > > From: "Ori Liel" <oliel@redhat.com> > > > To: "engine-devel" <engine-devel@ovirt.org> > > > Sent: Monday, March 4, 2013 5:24:52 PM > > > Subject: [Engine-devel] Engine Configuration API > > > > > > I am adding the ability to display and update engine > > > configuration > > > parameters through the REST API. > > > > > > Working on this has raised a lot of dilemmas. The one I want to > > > focus > > > on here is: > > > > > > "Which configuration items do you think should be managed > > > through > > > the API?" > > > > > > Possible answers (you can add different ones too): > > > > > > 1) All items (the entire contents of VDC_OPTIONS, mirrored in the > > > engine enum: ConfigValues.java). > > > 2) Only the items in engine enum ConfigurationValues.java (an > > > enum > > > which IIUC was created in the past for GUI, and contains a subset > > > of > > > the items in the engine enum ConfigValues.java) > > > 3) Only the items exposed by engine-config-tool. > > > > +1 > > Other values are internal and should not be exposed to the user > > Who is the 'user' of an API? The same user running engine-config > A simple field of 'internal'/'private' per variable should be > sufficient to warn developers aka 'user' not to expose it to > end-'user'. I am OK with that if 1) we will add such 'internal' field 2) you will have to explicitly say that you want 'internal' fields, the default will be to skip that > > > > > > > When I set out to work on this task, I was under the assumption > > > that > > > the API should show what the GUI shows (option 2). But since then > > > I've found out that the set of items in engine-config-tool isn't > > > identical to that in ConfigurationValues.java, and I've also > > > heard > > > the opinion that the API should show all values in vdc_options > > > (option 1), because the clients of the API (& SDK, & CLI) are > > > developers (as opposed to clients of GUI, which can be more > > > though > > > of as 'users'). > > > > > > I'd be glad to hear some opinions about this, especially PM input > > > would be appreciated. > > > > > > Thanks, > > > > > > Ori. > > > > > > _______________________________________________ > > > 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 > > >
participants (3)
-
Alon Bar-Lev
-
Eli Mesika
-
Ori Liel