Sorry for not responding to this sooner.. replies inline.. On Wed, Oct 19, 2011 at 2:48 AM, Salvatore Orlando <[email protected]> wrote: > Thanks Brad for starting the discussion on this important point. > > Some comments inline. > > > > Salvatore > > > > From: netstack-bounces+salvatore.orlando=eu.citrix....@lists.launchpad.net > [mailto:netstack-bounces+salvatore.orlando=eu.citrix....@lists.launchpad.net] > On Behalf Of Dan Wendlandt > Sent: 19 October 2011 01:01 > To: Brad Hall > Cc: [email protected] > Subject: Re: [Netstack] Changing the update_{network,port} calls > > > > > > On Tue, Oct 18, 2011 at 1:42 PM, Brad Hall <[email protected]> wrote: > > Hey Everyone, > > Since the change to make the create() calls take a parameter of k/v > pairs has gotten approval I wanted to propose a change to make the > update calls do the same. The review is here: > https://review.openstack.org/#change,929 .. I've posted this review in > order to get feedback and to have some code as a discussion starting > point. > > This has a few unfortunate consequences: > > 1) Rename_net and set_port_state .. both of these are what we had for > our "update" calls, except they weren't very generic ;) I've changed > the plugin interface to remove these calls and replace them with > generic update_port. This will break any plugins not in the tree :( > > > > I think it might be worth spending some time trying to devise a solution > avoiding plugin breakage when we change the plugin interface. In the same > way in which we strive to achieve backward compatibility on the API, it > probably makes sense to do the same with plugins. > > For instance, we might have a ‘1.0’ plugin interface and a ‘1.1’ interface. > When a plugin is loaded, its configuration file (or a constant in the main > .py file) states the version of the plugin. This way we should be able to > invoke rename_port on plugins compliant with 1.0 interface, and update_port > on plugins compliant with 1.1 interface. > > However, this is just an idea lurking in the back of my mind at the moment; > there are probably several problems I’m not seeing at the moment, especially > as concerns relationships between plugin versioning and API versioning. > > Any thoughts? >
I think its a good idea but not sure we want to go through the effort to do it right now. If anyone feels strongly I can do it but otherwise I'd rather just change the plugins at this point and file an item to add versioning support later. > > 2) The CLI will have to change. Instead of "bin/cli rename_net <tid> > <nid> foo" we'll have to do something like "bin/cli update_net <tid> > <nid> name=foo". Does that seem reasonable? Looking for feedback > here. > > > > this makes sense to me. when doing this, you should take into consideration > the design summit discussion about CLI extensibility, as a particular plugin > may want to introduce more k-v pairs for a network or port. > > > > Agree on changes to CLI. I would also be happy to see a blueprint on CLI > extensibility; this should probably be part of the work on improvements to > the API extensions framework. > Yeah.. I was hoping someone was going to volunteer to submit this blueprint but maybe I'll just do it since I'm breaking stuff anyways :) > > > Salvatore has a proposal out for changing the API to be more like nova > with a better deserialize that will (I think) do the same thing here. > If I'm not mistaken we will still have to change the plugins so if we > decide to go with his proposal we'll have to do this work anyways. > > > > The change I am proposing does not touch the plugin interface at all. It is > about replacing _parse_request_params with a better de-serializer. > I mean, _parse_request_params is good, and Brad’s changes now allow us to > pass any extra parameter into the request body directly to the plugin; > nevertheless I think we will be better off with code which is shared with > nova and possibly other Openstack projects, and therefore likely to become > part of Openstack-commons. > I agree with this completely. Are you planning to work on this? Maybe we can divide up the work some how. > Also note that I didn't change the cisco plugins yet .. but I will. I > just wanted to see if people are OK with this before I go and do that > since it is fairly time consuming. Must be the shear number of tests! > > > > that is a good reason for a task to be time consuming :) > > > > dan > > > > Thanks, > Brad > > -- > Mailing list: https://launchpad.net/~netstack > Post to : [email protected] > Unsubscribe : https://launchpad.net/~netstack > More help : https://help.launchpad.net/ListHelp > > > > -- > ~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Dan Wendlandt > Nicira Networks, Inc. > www.nicira.com | www.openvswitch.org > Sr. Product Manager > cell: 650-906-2650 > ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Thanks, Brad -- Mailing list: https://launchpad.net/~netstack Post to : [email protected] Unsubscribe : https://launchpad.net/~netstack More help : https://help.launchpad.net/ListHelp

