Re: [openstack-dev] [python-openstackclient][python-openstacksdk][neutron][nova] supporting resource extensions with our CLI
2017-08-08 23:12 GMT+09:00 Akihiro Motoki: > 2017-08-08 22:41 GMT+09:00 Boden Russell : >> On 8/7/17 10:39 PM, Clint Byrum wrote: >>> If the thing you're doing doesn't fit in the mainline API, then what >>> you're doing is making a new API. Extensions just bypass the important >>> part where that API gets designed and thought through. >> >> Irrespective of opinions as to if API extensions are good or not, the >> fact of the matter is we support them in neutron today and as a result >> we have users that rely on them as well as the ability to interface >> (CLI) with such extensions via python-neutronclient. That said, I think >> this concern has been heard [1] and we will work to address it >> short-to-mid term. > > I totally agree with other comments that all API features should be > upstreamed. > > Replying to Boden's question on the short-term solution. > If you need CLI support, you can implement OSC plugin to support your > API extensions > rather than extending OSC or OSC plugin provided by python-neutronclient. > If you need SDK support, you can provide your own python bindings > (perhaps it will be most stable) > or continue to use the python-neutronclient CLI extension mechanism > (which extends methods > based on "neutronclient.extension" entry points. > > Does it answer to you, Boden? My above reply does not answer the original question. The subject of the thread says "resource extension" but this is actually on attribute extension. My reply applies to 'resource' extension but does not apply to 'attribute extension' > > Akihiro > >> As to neutron's longer-term goals W/R/T API extensions; I can't speak to >> that. >> >> [1] >> http://lists.openstack.org/pipermail/openstack-dev/2017-August/120759.html >> >> __ >> OpenStack Development Mailing List (not for usage questions) >> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev __ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [python-openstackclient][python-openstacksdk][neutron][nova] supporting resource extensions with our CLI
2017-08-08 22:41 GMT+09:00 Boden Russell: > On 8/7/17 10:39 PM, Clint Byrum wrote: >> If the thing you're doing doesn't fit in the mainline API, then what >> you're doing is making a new API. Extensions just bypass the important >> part where that API gets designed and thought through. > > Irrespective of opinions as to if API extensions are good or not, the > fact of the matter is we support them in neutron today and as a result > we have users that rely on them as well as the ability to interface > (CLI) with such extensions via python-neutronclient. That said, I think > this concern has been heard [1] and we will work to address it > short-to-mid term. I totally agree with other comments that all API features should be upstreamed. Replying to Boden's question on the short-term solution. If you need CLI support, you can implement OSC plugin to support your API extensions rather than extending OSC or OSC plugin provided by python-neutronclient. If you need SDK support, you can provide your own python bindings (perhaps it will be most stable) or continue to use the python-neutronclient CLI extension mechanism (which extends methods based on "neutronclient.extension" entry points. Does it answer to you, Boden? Akihiro > As to neutron's longer-term goals W/R/T API extensions; I can't speak to > that. > > [1] > http://lists.openstack.org/pipermail/openstack-dev/2017-August/120759.html > > __ > OpenStack Development Mailing List (not for usage questions) > Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev __ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [python-openstackclient][python-openstacksdk][neutron][nova] supporting resource extensions with our CLI
On 8/7/17 10:39 PM, Clint Byrum wrote: > If the thing you're doing doesn't fit in the mainline API, then what > you're doing is making a new API. Extensions just bypass the important > part where that API gets designed and thought through. Irrespective of opinions as to if API extensions are good or not, the fact of the matter is we support them in neutron today and as a result we have users that rely on them as well as the ability to interface (CLI) with such extensions via python-neutronclient. That said, I think this concern has been heard [1] and we will work to address it short-to-mid term. As to neutron's longer-term goals W/R/T API extensions; I can't speak to that. [1] http://lists.openstack.org/pipermail/openstack-dev/2017-August/120759.html __ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [python-openstackclient][python-openstacksdk][neutron][nova] supporting resource extensions with our CLI
On 08/08/2017 12:39 AM, Clint Byrum wrote: Excerpts from Matt Riedemann's message of 2017-08-07 14:33:22 -0500: There is nothing like this for Nova so I'm not sure why Nova should be involved here. We dropped all support for extending the API via stevedore extension loading in Pike [1]. The virt drivers don't extend the REST API either. [1] https://blueprints.launchpad.net/nova/+spec/api-no-more-extensions-pike And there was much rejoicing. If the thing you're doing doesn't fit in the mainline API, then what you're doing is making a new API. Extensions just bypass the important part where that API gets designed and thought through. 100 times this. -jay __ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [python-openstackclient][python-openstacksdk][neutron][nova] supporting resource extensions with our CLI
Excerpts from Matt Riedemann's message of 2017-08-07 14:33:22 -0500: > On 8/3/2017 1:39 PM, Boden Russell wrote: > > I think we have a gap in our OSC CLI for non-stadium plugin/driver > > projects (neutron plugin projects, nova driver projects) that implement > > RESTful resource API attribute extensions. > > > > For details, go directly to [1]. > > For a summary read on... > > > > > > For OpenStack APIs that support extensions (ex [2]), the classic > > python-client CLIs worked "out of the box" for extensions > > adding attributes to existing RESTful resources. > > > > For example, your project has a neutron plugin that adds a 'my_bool' > > boolean attribute to 'network' resources that can be set via POST/PUT > > and is returned with GET. This just works with the python-neutronclient > > CLI without any client-side code changes. > > > > > > However, with OSC resource attributes must be added directly/statically > > to the sdk's resource and then consumed in the client; the support does > > not come "for free" in the CLI. While this is fine for stadium projects > > (they can contribute directly to the sdk/client), non-stadium projects > > have no viable option to plugin/extend the CLI today for this type of > > API extension mechanism. > > > > With the phasing out of the python clients, a number of our users will > > be left without a CLI to interface with these extensions. > > > > I'd like to try and close this gap in Queens and welcome discussion in [1]. > > > > Thanks > > > > > > [1] https://bugs.launchpad.net/python-openstacksdk/+bug/1705755 > > [2] https://wiki.openstack.org/wiki/NeutronDevelopment#API_Extensions > > > > __ > > OpenStack Development Mailing List (not for usage questions) > > Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe > > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > > > There is nothing like this for Nova so I'm not sure why Nova should be > involved here. We dropped all support for extending the API via > stevedore extension loading in Pike [1]. The virt drivers don't extend > the REST API either. > > [1] https://blueprints.launchpad.net/nova/+spec/api-no-more-extensions-pike > And there was much rejoicing. If the thing you're doing doesn't fit in the mainline API, then what you're doing is making a new API. Extensions just bypass the important part where that API gets designed and thought through. __ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [python-openstackclient][python-openstacksdk][neutron][nova] supporting resource extensions with our CLI
On 8/3/2017 1:39 PM, Boden Russell wrote: I think we have a gap in our OSC CLI for non-stadium plugin/driver projects (neutron plugin projects, nova driver projects) that implement RESTful resource API attribute extensions. For details, go directly to [1]. For a summary read on... For OpenStack APIs that support extensions (ex [2]), the classic python-client CLIs worked "out of the box" for extensions adding attributes to existing RESTful resources. For example, your project has a neutron plugin that adds a 'my_bool' boolean attribute to 'network' resources that can be set via POST/PUT and is returned with GET. This just works with the python-neutronclient CLI without any client-side code changes. However, with OSC resource attributes must be added directly/statically to the sdk's resource and then consumed in the client; the support does not come "for free" in the CLI. While this is fine for stadium projects (they can contribute directly to the sdk/client), non-stadium projects have no viable option to plugin/extend the CLI today for this type of API extension mechanism. With the phasing out of the python clients, a number of our users will be left without a CLI to interface with these extensions. I'd like to try and close this gap in Queens and welcome discussion in [1]. Thanks [1] https://bugs.launchpad.net/python-openstacksdk/+bug/1705755 [2] https://wiki.openstack.org/wiki/NeutronDevelopment#API_Extensions __ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev There is nothing like this for Nova so I'm not sure why Nova should be involved here. We dropped all support for extending the API via stevedore extension loading in Pike [1]. The virt drivers don't extend the REST API either. [1] https://blueprints.launchpad.net/nova/+spec/api-no-more-extensions-pike -- Thanks, Matt __ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
[openstack-dev] [python-openstackclient][python-openstacksdk][neutron][nova] supporting resource extensions with our CLI
I think we have a gap in our OSC CLI for non-stadium plugin/driver projects (neutron plugin projects, nova driver projects) that implement RESTful resource API attribute extensions. For details, go directly to [1]. For a summary read on... For OpenStack APIs that support extensions (ex [2]), the classic python-client CLIs worked "out of the box" for extensions adding attributes to existing RESTful resources. For example, your project has a neutron plugin that adds a 'my_bool' boolean attribute to 'network' resources that can be set via POST/PUT and is returned with GET. This just works with the python-neutronclient CLI without any client-side code changes. However, with OSC resource attributes must be added directly/statically to the sdk's resource and then consumed in the client; the support does not come "for free" in the CLI. While this is fine for stadium projects (they can contribute directly to the sdk/client), non-stadium projects have no viable option to plugin/extend the CLI today for this type of API extension mechanism. With the phasing out of the python clients, a number of our users will be left without a CLI to interface with these extensions. I'd like to try and close this gap in Queens and welcome discussion in [1]. Thanks [1] https://bugs.launchpad.net/python-openstacksdk/+bug/1705755 [2] https://wiki.openstack.org/wiki/NeutronDevelopment#API_Extensions __ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev