*** tellesnobrega_ has joined #openstack-sdks | 00:05 | |
*** rmcall has joined #openstack-sdks | 00:15 | |
*** pm90_ has quit IRC | 00:40 | |
*** etoews has quit IRC | 00:48 | |
*** bknudson has joined #openstack-sdks | 01:13 | |
*** rmcall has quit IRC | 01:28 | |
*** etoews has joined #openstack-sdks | 01:37 | |
openstackgerrit | OpenStack Proposal Bot proposed openstack/python-openstackclient: Updated from global requirements https://review.openstack.org/155587 | 02:00 |
---|---|---|
*** jamielennox is now known as jamielennox|away | 02:01 | |
*** ayoung has joined #openstack-sdks | 02:16 | |
*** etoews has quit IRC | 02:27 | |
*** etoews has joined #openstack-sdks | 02:28 | |
*** etoews has quit IRC | 02:33 | |
*** tellesnobrega_ has quit IRC | 02:36 | |
*** pm90_ has joined #openstack-sdks | 02:55 | |
*** etoews has joined #openstack-sdks | 02:57 | |
*** tellesnobrega_ has joined #openstack-sdks | 02:57 | |
*** etoews has quit IRC | 03:03 | |
*** tellesnobrega_ has quit IRC | 03:34 | |
*** tellesnobrega_ has joined #openstack-sdks | 03:34 | |
*** tellesnobrega_ has quit IRC | 03:34 | |
*** etoews has joined #openstack-sdks | 04:00 | |
*** ayoung is now known as ayoung_ZZZzzzZZZ | 04:03 | |
*** etoews has quit IRC | 04:04 | |
*** etoews has joined #openstack-sdks | 04:14 | |
*** etoews has quit IRC | 04:19 | |
*** pm90_ has quit IRC | 04:58 | |
*** etoews has joined #openstack-sdks | 05:15 | |
*** etoews has quit IRC | 05:21 | |
*** pm90_ has joined #openstack-sdks | 05:28 | |
*** pm90_ has quit IRC | 05:33 | |
*** terrylhowe has quit IRC | 05:50 | |
*** terrylhowe has joined #openstack-sdks | 05:55 | |
*** srinsriv has joined #openstack-sdks | 06:04 | |
*** srinsriv is now known as newuser | 06:05 | |
*** newuser is now known as newuser121 | 06:05 | |
*** newuser121 has quit IRC | 06:10 | |
*** srinsriv has joined #openstack-sdks | 06:11 | |
*** srinsriv has quit IRC | 06:32 | |
*** srinsriv_ has joined #openstack-sdks | 06:32 | |
*** jamielennox|away is now known as jamielennox | 06:44 | |
*** etoews has joined #openstack-sdks | 06:57 | |
*** rmcall has joined #openstack-sdks | 07:01 | |
*** etoews has quit IRC | 07:01 | |
*** srinsriv_ has quit IRC | 07:18 | |
*** Miouge has joined #openstack-sdks | 07:35 | |
*** rmcall has quit IRC | 07:38 | |
*** terrylhowe has quit IRC | 07:40 | |
*** stevemar has quit IRC | 07:56 | |
*** srinsriv has joined #openstack-sdks | 08:19 | |
*** srinsriv has quit IRC | 08:25 | |
*** openstackgerrit has quit IRC | 08:42 | |
*** openstackgerrit has joined #openstack-sdks | 08:42 | |
*** etoews has joined #openstack-sdks | 08:59 | |
*** etoews has quit IRC | 09:03 | |
*** chlong has quit IRC | 09:49 | |
*** Miouge_ has joined #openstack-sdks | 10:45 | |
*** Miouge has quit IRC | 10:46 | |
*** Miouge_ is now known as Miouge | 10:46 | |
*** etoews has joined #openstack-sdks | 12:14 | |
*** terrylhowe has joined #openstack-sdks | 12:25 | |
*** etoews has quit IRC | 12:49 | |
*** etoews has joined #openstack-sdks | 12:49 | |
*** srinsriv has joined #openstack-sdks | 13:06 | |
*** srinsriv has quit IRC | 13:11 | |
*** Miouge has quit IRC | 13:53 | |
*** Miouge has joined #openstack-sdks | 14:03 | |
*** rmcall has joined #openstack-sdks | 14:31 | |
*** Miouge has quit IRC | 14:34 | |
*** sigmavirus24_awa is now known as sigmavirus24 | 14:40 | |
*** Miouge has joined #openstack-sdks | 14:41 | |
*** edleafe is now known as figleaf | 14:50 | |
*** stevemar has joined #openstack-sdks | 14:54 | |
*** rmcall has quit IRC | 14:55 | |
*** srinsriv has joined #openstack-sdks | 15:02 | |
*** ayoung_ZZZzzzZZZ is now known as ayoung | 15:10 | |
*** Miouge has quit IRC | 15:32 | |
*** Miouge has joined #openstack-sdks | 15:34 | |
*** Miouge has quit IRC | 15:54 | |
*** Miouge has joined #openstack-sdks | 15:54 | |
*** Miouge has quit IRC | 15:58 | |
openstackgerrit | Julien Danjou proposed stackforge/python-openstacksdk: telemetry: add missing alarm property severity https://review.openstack.org/155797 | 16:01 |
*** pm90_ has joined #openstack-sdks | 16:03 | |
*** pm90_ has quit IRC | 16:05 | |
briancurtin | ugh, i wish gerrit was dynamic in that it could update comments so i don't respond with the same thing minutes later :/ | 16:05 |
*** pm90_ has joined #openstack-sdks | 16:06 | |
*** rmcall has joined #openstack-sdks | 16:06 | |
*** bknudson has quit IRC | 16:12 | |
openstackgerrit | Merged stackforge/python-openstacksdk: telemetry: add missing alarm property severity https://review.openstack.org/155797 | 16:21 |
*** bknudson has joined #openstack-sdks | 16:27 | |
openstackgerrit | Terry Howe proposed stackforge/python-openstacksdk: add metric proxy and service https://review.openstack.org/155811 | 16:35 |
*** bnemec has joined #openstack-sdks | 16:52 | |
dstufft | So here's the thing I've got - https://github.com/dstufft/python-openstacksdk/compare/use-providers It's untested currently and the tests are failing because I didn't update them all yet, but essentially this limits the use of entry points just to alias a short name (like "rackspace") to a Provider class, and the Provider class indicates the auth_plugin or the services, so all an end user has to do is Connection(provider="rackspace") or | 16:53 |
dstufft | Connection(preference=UserPreference(provider="rackspace")) | 16:53 |
dstufft | on the vendor side, you just subclass BaseProvider and override whatever attributes you want to specify your own custom implementations of | 16:54 |
briancurtin | awesome, checking it out | 16:56 |
openstackgerrit | Julien Danjou proposed stackforge/python-openstacksdk: telemetry: fix threshold rule in alarm to be dict https://review.openstack.org/155821 | 16:58 |
bnemec | Hi, sdk folks | 17:01 |
bnemec | We're having some discussions about what our deployment CLI should look like, and one of the suggestions has been to have it wrap all of the OpenStack services into one uber CLI. | 17:01 |
bnemec | Which is basically python-openstackclient. So I suggested using it and got some pushback because "it's not suited for deployment". | 17:01 |
bnemec | Before I go to the mat with them over this, I wanted to verify that we could plug in a deployment tool to openstackclient. | 17:01 |
bnemec | Glancing through the code it looks like we can, but I wanted to ask just to be sure. | 17:01 |
openstackgerrit | Julien Danjou proposed openstack/python-openstackclient: telemetry: add support for alarm creation https://review.openstack.org/155822 | 17:02 |
dtroyer | bnemec: you could plug dang near anything into the framework | 17:02 |
dtroyer | My original plugin demo was a github api command | 17:02 |
bnemec | dtroyer: Perfect, thanks | 17:02 |
* bnemec is off to fight reinventing the wheel | 17:02 | |
dtroyer | the tricky part is command name collisions and having it be not confusing for the user | 17:03 |
*** srinsriv has quit IRC | 17:03 | |
*** stevemar has quit IRC | 17:11 | |
briancurtin | dstufft: so that branch works on the SDK side to let me run to my devstack, and then on the plugin side i changed my original plugin to https://github.com/briancurtin/rackspace-sdk-plugin/compare/provider-entry_points and that now allows Connection(provider="rackspace", **auth_args) -- if you need help getting tests passing i can help out with that, i'd love | 17:33 |
briancurtin | to see this on gerrit and have terrylhowe take a look | 17:33 |
dstufft | briancurtin: I'm kind of impressed that it works since I haven't really ran it at all | 17:35 |
dstufft | I'm gonna be poking the tests shortly | 17:36 |
briancurtin | i'm not 100% sure i like being able to only specify one of provider and preference, but it's currently functional fwiw | 17:38 |
terrylhowe | so that was with https://review.openstack.org/#/c/155362/ briancurtin ? you couldn’t just add openstack.service = object_store = rackspace.... | 17:40 |
terrylhowe | If the loading of the entry points is nondeterministic, maybe there should be an openstack.extensions one | 17:42 |
terrylhowe | there also was some talk at one point about not allowing people to override the SDK services which is why I added Jamie to that review | 17:42 |
briancurtin | if you can't override a service with what your vendor provides then how would you use it? | 17:43 |
terrylhowe | not sure if we should be insisting you use rax_object_store or something like that so the user is forced to acknowledge what they want | 17:43 |
terrylhowe | I agree with that, but I thought Jamie felt differently | 17:44 |
dstufft | briancurtin: well the reason you can only specify one is because Connection(provider="rackspace") is only a shortcut for Connection(preference=UserPreference(provider="rackspace")) | 17:44 |
dstufft | if you specified them both you'd have to specify them to the same thing | 17:44 |
briancurtin | terrylhowe: i think by loading hte plugin you're acknowledging that you want what the plugin offers, but having different module names for all of that is a poor experience and it also makes it unusable anywhere else | 17:45 |
terrylhowe | I agree, I just wanted to hear Jamie’s side | 17:46 |
briancurtin | dstufft: i see | 17:46 |
terrylhowe | my question is still why do you have to override UserPreference? | 17:47 |
dstufft | it's similar in concept to def foo(provider=None) -> foo("rackspace", provider="other-thing") | 17:47 |
dstufft | terrylhowe: Not sure I udnerstand the question, you don't have to override it | 17:47 |
briancurtin | terrylhowe: are you talking about what's there today in master with how my plugin has its own preference? | 17:48 |
terrylhowe | so your UserPreference isn’t using that patch I threw together? | 17:48 |
dstufft | which "your" are you talking about :) | 17:49 |
terrylhowe | briancurtin: github changes | 17:49 |
briancurtin | terrylhowe: i made one that does work with that, but it's the one that once you've loaded Rackspace you can only do Rackspace, since with the way the module loader and the entry points are setup, last one wins | 17:49 |
terrylhowe | and it is nondeterministic? | 17:50 |
dstufft | it's deterministic but not controllable | 17:50 |
terrylhowe | should we add a openstack.extension entry point | 17:50 |
briancurtin | terrylhowe: this one works with your current branch but it will then only work for this plugin, or whatever is the last plugin https://github.com/briancurtin/rackspace-sdk-plugin/compare/entry_points | 17:50 |
terrylhowe | and load that after the services are loaded? | 17:50 |
dstufft | stevedore uses pkg_resources under the covers, and under the covers it's goign to load the last one it finds on sys.path | 17:50 |
dstufft | which means if you have vendor plugins for say hp installed, you'll never get them because openstack comes after h, or if you have rackspace installed you'll always get that, becuase r comes after o | 17:51 |
dstufft | unless you're using easy_install | 17:51 |
dstufft | in which case it'll be in the order you installed | 17:52 |
dstufft | or if you're using Debian and you installed one with pip and one with apt you'll get the one that you installed using pip | 17:52 |
terrylhowe | so is that what the provider is for? | 17:52 |
terrylhowe | the entrypoint becomes provider.services? | 17:52 |
dstufft | the provider just maps a short name to a class, the idea is that the short name would be "unique" (although not guarenteed to be unique by any mechanism, just by convention) string to a class, we load the class and the class has attributes that lets you discover the services | 17:53 |
dstufft | so you don't use entry points for anything except mapping a string to a python class | 17:53 |
dstufft | the provider entrypint* | 17:54 |
terrylhowe | well, the idea that someone could specify what extensions to load might sastisfy everyone including jamie | 17:54 |
*** stevemar has joined #openstack-sdks | 17:54 | |
dstufft | the way it's written, the entry points are actually just a convience | 17:57 |
dstufft | you can pass the class itself in too | 17:57 |
dstufft | ``from rackspace.providers import Rackspace; connection.Connect(provider=Rackspace)`` for example | 17:57 |
dstufft | the entry points are just a convience that allows people to just pass a string through | 17:57 |
terrylhowe | are you guys going to submit a patch with something that works better? | 17:58 |
dstufft | once I get the tests working and the new code written I'll submit a CR | 17:58 |
terrylhowe | sweet, thanks | 17:58 |
terrylhowe | insteaad of provider dstufft might want to say extensions and make it a list someone might develop their own sdk that uses the openstacksdk that isn’t a provider | 18:01 |
dstufft | I can change the name to whatever, but I don't think accepting a list makes sense, the class is essentially a namespace that maps service names to service class | 18:02 |
dstufft | I'm not sure what the sematnics of accepting a list would be | 18:03 |
terrylhowe | I was thinking someone might want to load multiple extensions like if they were working on two stackforge projects that are not in the sdk | 18:05 |
terrylhowe | it could always be added later I suppose | 18:05 |
briancurtin | plugin instead of provider might work for a name | 18:06 |
dstufft | Ah I see, you mean about adding new service types which aren't part of the SDK already? | 18:06 |
dstufft | briancurtin: one thing in https://github.com/briancurtin/rackspace-sdk-plugin/compare/provider-entry_points is that i'd name it "Rackspace" instead of "Identity" | 18:08 |
briancurtin | Yeah I just threw that in there, can figure it out | 18:09 |
briancurtin | terrylhowe: great point about multiple extensions | 18:09 |
dstufft | currently you'd be required to make a subclass (possibly subclassing multiple things) to handle combining multiple things, we could do something conceptually similar a ChainMap though to accept a list | 18:11 |
terrylhowe | if UserPreference takes extensions[] and loads whatever services the user wants *after* the regular sdk ones | 18:13 |
terrylhowe | I’d think it would be good to go | 18:13 |
terrylhowe | is there anything else you guys needed to change in user preferences? | 18:13 |
dstufft | by "loaded after" you mean, "takes precedence over" right? | 18:13 |
terrylhowe | right, if one of the extensions included ‘compute’ it would use that | 18:14 |
dstufft | moment | 18:14 |
*** rmcall has quit IRC | 18:27 | |
*** pm90_ has quit IRC | 18:30 | |
dstufft | terrylhowe: briancurtin ok, my branch now supports a list of providers, if you do something like Connection(provider=["rackspace", "something else"]) you'll get the services from *both* providers, left most wins | 18:47 |
briancurtin | dstufft: works well when given a list, but fyi a single string is still going through the collections.Iterable case in UserPreference.__init__ | 18:56 |
briancurtin | it looks good though | 18:56 |
dstufft | briancurtin: ah right, stupid strings | 18:57 |
dstufft | fixed! | 18:58 |
*** britthouser has quit IRC | 19:02 | |
dstufft | I gotta run for a bit, I'll rename provider to plugin and get tests done after that | 19:03 |
*** britthouser has joined #openstack-sdks | 19:03 | |
briancurtin | it works, and awesome. let me know if i can help | 19:03 |
*** britthouser has quit IRC | 19:04 | |
*** britthouser has joined #openstack-sdks | 19:04 | |
*** pm90_ has joined #openstack-sdks | 19:07 | |
*** pm90_ has quit IRC | 19:11 | |
*** pm90_ has joined #openstack-sdks | 19:11 | |
*** stevemar has quit IRC | 19:13 | |
*** stevemar has joined #openstack-sdks | 19:33 | |
*** rmcall has joined #openstack-sdks | 19:36 | |
*** rmcall has quit IRC | 19:42 | |
*** rmcall has joined #openstack-sdks | 19:43 | |
*** rmcall has quit IRC | 19:52 | |
*** etoews has quit IRC | 20:07 | |
*** etoews has joined #openstack-sdks | 20:11 | |
*** pm90_ has quit IRC | 20:32 | |
*** bnemec is now known as beekneemech | 20:37 | |
*** etoews has quit IRC | 20:47 | |
*** etoews has joined #openstack-sdks | 20:50 | |
*** stevemar has quit IRC | 21:45 | |
*** pm90_ has joined #openstack-sdks | 21:46 | |
*** etoews_ has joined #openstack-sdks | 22:15 | |
*** etoews has quit IRC | 22:19 | |
*** pm90_ has quit IRC | 22:46 | |
*** etoews_ has quit IRC | 23:19 | |
*** sigmavirus24 is now known as sigmavirus24_awa | 23:30 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!