| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-sdks - 2018-03-15 | |||
| 10:00:51 | niraj_singh | hi i am getting AttributeError: Service Descriptors cannot be set error | |
| 10:01:04 | niraj_singh | i dont understand the error please help | |
| 12:09:32 | openstackgerrit | Chris Dent proposed openstack/microversion-parse master: Provide a helper method to get headers from environ https://review.openstack.org/495356 | |
| 12:09:33 | openstackgerrit | Chris Dent proposed openstack/microversion-parse master: Import functions from placement https://review.openstack.org/496212 | |
| 12:09:33 | openstackgerrit | Chris Dent proposed openstack/microversion-parse master: Improve Version.matches() method https://review.openstack.org/550251 | |
| 12:09:34 | openstackgerrit | Chris Dent proposed openstack/microversion-parse master: Add MicroversionMiddleware https://review.openstack.org/550252 | |
| 12:09:34 | openstackgerrit | Chris Dent proposed openstack/microversion-parse master: Allow passing a json_error_formatter to the middleware https://review.openstack.org/550263 | |
| 12:09:35 | openstackgerrit | Chris Dent proposed openstack/microversion-parse master: Clean up package version and python version support https://review.openstack.org/550264 | |
| 12:10:20 | cdent | elmiko, edleafe: I'd like to merge that ^ stuff to make a release of microversion parse that has it, but it needs some review and probably a bit of tuneup to dust the cdent-ness off it. | |
| 12:22:12 | elmiko | cdent: ack, i'll add it to my queue for today | |
| 12:23:00 | openstackgerrit | Emilien Macchi proposed openstack/python-openstackclient master: neutron: add --mtu for create/set network https://review.openstack.org/553374 | |
| 12:23:28 | cdent | thanks elmiko | |
| 12:23:42 | cdent | I probably use %s a lot so you'll love it | |
| 12:57:20 | edleafe | cdent: Can you refresh my memory about extract_version? https://review.openstack.org/#/c/496212/4/microversion_parse/__init__.py@165 | |
| 12:57:37 | edleafe | Where is the 'versions_list' supposed to come from? | |
| 12:58:59 | cdent | see line 58 on this DNM of placement using these changes https://review.openstack.org/#/c/550265/3/nova/api/openstack/placement/deploy.py | |
| 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 | |