Earlier  
Posted Nick Remark
#openstack-sdks - 2018-03-15
12:59:32 cdent in placement as it stands right now the VERSIONS are used directly, but since as a library we wouldn't have access to that global, we have to pass it in somehow
13:01:08 edleafe What is the need to have this check in the library? IOW, why can't the lib return the version, and have the caller do whatever checking it might need?
13:04:35 cdent It's a) a convenience, b) later the MicroversionMiddleware uses the method and there is no interaction with the caller
13:05:01 cdent later == two patches further in the stack
13:06:17 cdent edleafe: the patches you're looking at so far are what amount to a "middleware construction kit". Most people will not use any of these features if they use the middleware
13:06:44 edleafe got it
13:07:10 edleafe but I am still not clear on what is supposed to be authoritative when it comes to "acceptable versions"
13:07:31 edleafe how do you see this middleware knowing that for a service?
13:08:05 cdent that version_list, which is a thing like: https://github.com/openstack/nova/blob/master/nova/api/openstack/placement/microversion.py#L36
13:08:34 cdent the DNM think I linked before passes VERSIONS into the middleware
13:10:14 edleafe I saw that; I'm still not clear on the benefit of passing that from the service to the middleware
13:10:42 edleafe With it, every service using the middleware has to implement a versions list and pass it during setup
13:11:07 edleafe Without it, services that care about checking specific versions can do so locally
13:12:11 cdent the job of the middleware is twofold:
13:12:31 cdent extract a version and put it in the environ to be used by the app
13:12:51 cdent to return a 4xx is the microversion is malformed or out of range
13:13:17 cdent in order for it to "out of range" is has to know the range
13:13:38 cdent we want it to do that job, because we want it to fail early
13:15:04 cdent and yes, it does require everyone have a versions list but that strikes me as a good bit of housekeeping (and you also need it for Version.matches()
13:17:33 edleafe Is there a way to say "any version is ok" for those that do not do such housekeeping?
13:18:04 cdent If you don't do that housekeeping you can't do matches()
13:18:13 cdent and you can't do version_handler
13:18:29 cdent so you may as well not use microversion-parse
13:18:58 cdent I guess I'm not understanding how/when you wouldn't want to do the housekeeping?
13:19:09 edleafe *I* would want to do it
13:19:26 edleafe Just wondering if that is the standard approach
13:19:43 edleafe Thinking about projects that have not yet adopted microversions
13:20:04 edleafe Would this be an attractive feature, or a turn-off
13:20:57 edleafe Maybe it will encourage good microversion behavior :)
13:21:00 cdent I think the versions_list provides a useful bit of cognitive scaffodling, without it, you aren't really thinking like a microversioner
13:22:54 edleafe I believe the correct term is 'microversioneer'
13:23:11 cdent nova does a similar thing, but instead of a list it uses a min and max, but I think that's limiting
13:23:24 cdent you can't easily disable a microversion in the middle
13:25:08 elmiko cdent: re: %s, i read a really cool blog that actually explained when it would be more efficient to use %s vs. format
13:27:19 cdent string interpolation is a mess. I'm of the "pick one and stick to it" school and my choice appears to be because of when I showed up to the party
13:27:57 elmiko i was kinda shocked to learn about the performance differences
13:28:12 elmiko but i agree, would be cool if they could pick one and stick to it
13:28:51 elmiko "string interpolation choice as a carbon dating of python usage" XD
13:29:18 edleafe F-strings FTW!
13:29:39 edleafe They would also force people to upgrade to Ptyhon 3.6
13:30:47 edleafe (and they are faster!)
13:31:45 elmiko ++
13:49:19 openstackgerrit Hengqing Hu proposed openstack/python-openstacksdk master: Allow cascade deletion of load balancer https://review.openstack.org/553404
13:51:03 openstackgerrit Emilien Macchi proposed openstack/python-openstackclient master: neutron: add --mtu for create/set network https://review.openstack.org/553374
14:01:42 openstackgerrit Hengqing Hu proposed openstack/python-openstacksdk master: Allow cascade deletion of load balancer https://review.openstack.org/553404
14:19:58 cdent elmiko: line 45 https://review.openstack.org/#/c/550251/2/microversion_parse/tests/test_extract_version.py
14:24:25 elmiko cdent: ack, i /thought/ that was it but wanted to make sure. thanks!
14:44:44 cdent thanks elmiko end edleafe, I'll do some of the suggested tidy ups and push a new stack. I'm perfectly happy to have things be less than perfect, we can always fix stuff
14:44:55 cdent released bugs are the gasoline of opensource
14:46:14 edleafe so... you want to burn it all down? :)
14:47:07 cdent only some of it
14:49:22 openstackgerrit Andrey Volkov proposed openstack/cliff master: Allow finding command by partial name https://review.openstack.org/552970
14:50:33 elmiko edleafe: lol
14:51:12 openstackgerrit Andrey Volkov proposed openstack/cliff master: Allow finding command by partial name https://review.openstack.org/552970
14:57:02 openstackgerrit Dmitry Tantsur proposed openstack/api-wg master: Add guideline on exposing microversions in SDKs https://review.openstack.org/532814
14:57:05 dtantsur updates with the PTG outcome ^^^
14:57:15 cdent dtantsur++
14:57:37 elmiko nice
16:00:57 elmiko cdent: ping
16:01:09 cdent oops
17:11:11 cdent dtantsur, edleafe, elmiko https://etherpad.openstack.org/p/api-sig-newsletter I started out with some energy and then fizzled out, please proof
17:12:53 edleafe wow, I opened up that link, and I could hear the fizzing!
17:17:37 cdent you happy with it edleafe ?
17:19:52 edleafe Made two micro-nit corrections, and now LGTM
17:20:14 cdent nice
17:20:45 cdent I'm often confused on project names, because back when docs wrote docs they preferred lowercase project names
18:01:53 elmiko cdent: sorry got pulled away
18:02:02 cdent no worries
18:08:46 elmiko ooh, i had not noticed that we are cross-posting those to openstack-sigs now as well. i will update my proceedures
18:09:33 cdent i don't always remember
18:09:42 cdent but I think we said at some point that it was maybe a good idea
18:13:05 elmiko yeah, it is a good idea. i had just forgotten we said that
18:24:59 openstackgerrit Chris Dent proposed openstack/microversion-parse master: Provide a helper method to get headers from environ https://review.openstack.org/495356
18:24:59 openstackgerrit Chris Dent proposed openstack/microversion-parse master: Import functions from placement https://review.openstack.org/496212
18:25:00 openstackgerrit Chris Dent proposed openstack/microversion-parse master: Improve Version.matches() method https://review.openstack.org/550251
18:25:00 openstackgerrit Chris Dent proposed openstack/microversion-parse master: Add MicroversionMiddleware https://review.openstack.org/550252
18:25:01 openstackgerrit Chris Dent proposed openstack/microversion-parse master: Allow passing a json_error_formatter to the middleware https://review.openstack.org/550263
18:25:01 openstackgerrit Chris Dent proposed openstack/microversion-parse master: Clean up package version and python version support https://review.openstack.org/550264
18:25:14 cdent elmiko, edleafe ^ I think I got the things you mentioned
18:32:13 elmiko cdent: ack
18:39:07 openstackgerrit James Penick proposed openstack/python-openstackclient master: Stop prefetching images in server list https://review.openstack.org/553577
18:49:53 edleafe cdent: will look again soon-ish
18:50:14 cdent thanks edleafe, elmiko
19:26:19 edleafe cdent: Looking over the HTTP Guidelines doc, it looks like it is logically 3 documents: HTTP caching, HTTP response code guidance, and HTTP method guidance
19:26:56 cdent yes, breaking things up is probably warranted
19:27:06 edleafe Perhaps breaking it into 3 separate docs would make them more "discoverable"
19:27:17 edleafe due to the more specific titles
19:27:37 edleafe If you like, I can take a crack at it.
19:30:07 elmiko edleafe: that sounds like a nice idea
19:30:26 cdent edleafe: feel free to go for it if you're feeling motivated
19:30:41 cdent do we want to leave redirects or something?
19:32:52 edleafe not sure - does sound like a good idea just in case someone has bookmarked the current page
19:33:11 cdent it would be very bad form for the API-SIG to break the web
19:43:14 elmiko cdent: ++
19:43:18 elmiko lol
19:45:17 cdent edleafe: bah, broken client code is broken client code
19:45:43 cdent and in any case when I say "the web" i mean public document urls. I went to library school after all.
19:45:54 elmiko can we just have the page return 4xx, "we're not the problem, you are!"
19:46:50 edleafe elmiko: "Figure it out yourself!"
19:47:03 elmiko so helpful XD

Earlier   Later