On 8/3/2011 10:21 AM, Dan Wendlandt wrote:

Hi Tyler,

If we go this route, I still hope that people will be able to make "generic" clients that manage the "core" functionality of Quantum regardless of the plugin (I would expect that the dashboard will work this way). It may, however, be that we tell people to write these clients in such a way that they ignore any fields that they do not understand, thus, so that the client doesn't choke on any extra "data extensions".

Yeah, perhaps I should have been more clear on that. What I was referring to was a client that would say, attempt to automatically handle a "QoS" field, or something else non-standard. A client (such as the CLI) would still be able to perform core operations to any Quantum server.

Salvatore's issue was a client that may handle "QoS" from a cisco plugin, that would fail when trying to talk to a different plugin with a "QoS" field. What I was saying is that I think clients will need to only be able to handle extra extensions from a set list of plugins.

Yes, no matter what we decide on data extensions in particular, I definitely would like to see the client be able to confirm what API extensions are running. I would imagine a flow like:

conn = create_api_connection()
conn.confirm_extension_support("Cisco-awesome-extension1")
conn.confirm_extension_support("Cisco-awesome-extension2")
conn.create_network()
conn.create_port() // perhaps this call takes another field when using cisco-awesome-extension1, if we support data extension of default objects conn.do_request("v1.0/csco/do_something_awesome2", { "foo" : "bar"}) // do_request allows you to access entirely new calls introduced by an API extension
Thoughts?

Dan


That's exactly what I had in mind. create_network(), create_port(), etc, can already send/receive any data you want. You would only need the extension verification to ensure you're sending the data you want.


-Tyler

--
Mailing list: https://launchpad.net/~netstack
Post to     : netstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~netstack
More help   : https://help.launchpad.net/ListHelp

Reply via email to