| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-sdks - 2018-01-22 | |||
| 17:34:35 | jeremyfreudberg | mordred: it's not much work, but that solution also seems a bit sad | |
| 17:34:53 | jeremyfreudberg | i'd like to hear the other options for sake of completeness | |
| 17:35:32 | mordred | ksa will keep the project-id if it finds it on the endpoint in the catalog, even if it finds a different endpoint via version negotiation | |
| 17:37:21 | mordred | SO - that way if you have an existing deployment that has versioned endpoints with project-ids in their catalog already, then they update to a new version of sahara that has v2 available, and the user requests that they want to use v2, version discovery can get from sahara.example.com/v1/{project-id} to saraha.example.com/ for discover, discover saraha.example.com/v2 exists, then append {project-id} | |
| 17:37:23 | mordred | because it was on the original url | |
| 17:37:29 | mordred | k. that's about enough for that option :) | |
| 17:38:55 | jeremyfreudberg | argh, pushed the wrong button in the irc client | |
| 17:39:04 | jeremyfreudberg | i'm paying attention | |
| 17:39:05 | mordred | jeremyfreudberg: :) | |
| 17:39:36 | mordred | another option is we could potentially add a flag to ksa to tell it to append project-id to discovered endpoints regardless of whether it found a project-id originally | |
| 17:40:16 | mordred | that shouldn't be terribly hard - but I worry about what the impact is on non-python/non-ksa users | |
| 17:41:03 | mordred | actually - let's back up real quick ... | |
| 17:42:16 | mordred | there's a few cases: existing deployments that already have v1/project-id in the catalog, new deployments that are going to register unversioned endpoint in the catalog ... and existing deployments that have v1/project-id in the catalog who want to upgrade to having v2 be the default | |
| 17:42:34 | mordred | jeremyfreudberg: are there any use-cases we're missing there ^^? | |
| 17:43:21 | jeremyfreudberg | mordred: i believe that's all of them | |
| 17:43:34 | mordred | for the first one, you should be set with no changes - existing catalogs have appended project-id, ksa will do version discovery, find v2, append project-id, all should be fine, so existing users should be fine | |
| 17:44:44 | jeremyfreudberg | i'm not sure about that | |
| 17:44:52 | mordred | for the second one, v2 will work via discovery properly if it doesn't require project-ids in the url, but v1 will not work if it does continue to require project-ids (and v2 will also not work if it requires project ids in the urls) | |
| 17:44:58 | jeremyfreudberg | or sorry, yes i am sure, got confused | |
| 17:45:22 | jeremyfreudberg | yes, so far the first two your analysis is correct | |
| 17:46:28 | mordred | for the third, if the deployer switches to a versioned endpoint in the catalog with /v2/{project-id} the existing setup will work for both versions - although users with old versions of saharaclient would be broken since they wouldn't understand the /v2 in the catalog | |
| 17:47:39 | mordred | (sorry for all the words, basically thinking out loud) :) | |
| 17:47:49 | jeremyfreudberg | mordred: right, but putting /v2/{project_id} in the catalog would be an undesirable hack | |
| 17:47:57 | jeremyfreudberg | although it would work | |
| 17:49:01 | mordred | so - quick question - when you say "that solution also seems a bit sad" - is that because you desire keeping project-ids in the urls? or a different reason? | |
| 17:50:15 | mordred | (making sure before walking down other options we grok all the inputs) | |
| 17:52:51 | jeremyfreudberg | mordred: hmm, no, i don't desire to keep project-id in the url, but that solution seems to introduce an even tighter coupling of sahara version vs saharaclient version vs catalog antics | |
| 17:54:47 | jeremyfreudberg | hmm, but that might just be how it feels in my mind | |
| 17:54:56 | jeremyfreudberg | trying to think if there is actually a difference in practice | |
| 17:54:59 | mordred | gotcha. so - I think it *should* help to decouple those | |
| 17:55:13 | mordred | for cases 2 and 3, a consumer is going to need a new/updated client no matter what | |
| 17:55:49 | mordred | the old client isn't going to grok unversioned urls or v2 urls, but it's a new deployment so requiring a newer client sohuld be ok, yeah? | |
| 17:56:13 | mordred | for case one- the existing deployment with v1/{project-id} in the catalog | |
| 17:56:31 | openstackgerrit | Merged openstack/python-openstackclient master: Check that Glance returns image data before processing it https://review.openstack.org/531201 | |
| 17:56:32 | openstackgerrit | Merged openstack/python-openstackclient master: Replace assert with condition https://review.openstack.org/536300 | |
| 17:56:59 | mordred | old saharaclient should work since it's got v1/project-id in the catalog like it expects, and old client will still send project-id in urls to saraha which will continue to work | |
| 17:57:09 | openstackgerrit | Merged openstack/python-openstackclient master: Updated from global requirements https://review.openstack.org/535769 | |
| 17:57:51 | jeremyfreudberg | mordred, alright, i guess i'm convinced | |
| 17:57:55 | mordred | I think what can be gained by making project-id in the url optional is that a user with an updated saharaclient could use v1 on a catalog with unversioned endpoint as well | |
| 17:58:41 | mordred | NOW - other options would be to update saharaclient to pre-pend project-ids for v1 if it does't have them already - your API docs already indicate project-id is a required part of the API call | |
| 17:59:21 | mordred | that would also get you people being able to use unversioned catalog endpoints with newer saharaclient | |
| 17:59:48 | mordred | and non-python things are going to need to deal with unversioned endpoints to be ableto consume those *anyway* | |
| 18:01:05 | mordred | so the biggest issue with doing appending in saharaclient itself would be, amusingly enough, python consumers who are using ksa but not python-saharaclient | |
| 18:01:20 | mordred | (like openstacksdk) | |
| 18:01:26 | jeremyfreudberg | mordred: right | |
| 18:01:45 | jeremyfreudberg | ok, so i guess making project-id optional on the server-side is the best way forward | |
| 18:02:06 | mordred | yah- I think it enables the largest number of people | |
| 18:02:46 | mordred | we could also talk to cdent and edleafe and elmiko about adding an optional field to the version discovery document specification | |
| 18:03:21 | mordred | so that a discovery doc with an endpoint could have an optional field 'requires-project-id' | |
| 18:03:34 | jeremyfreudberg | mordred: yes, i was thinking of that too, to extend version discovery (and have keystoneauth understand those new extensions), but i'm also assuming that situations like Sahara's are only getting rarer as time goes on | |
| 18:03:40 | jeremyfreudberg | so it might be a lot of work for nothing | |
| 18:03:49 | mordred | and we could update the consumption docs and ksa to look for that field and know to append a project id to any endpoint it finds that has that field | |
| 18:04:29 | mordred | jeremyfreudberg: yah. it might be - otoh, I haven't looked to see how many services we have in a similar place to where sahara is now ... | |
| 18:05:21 | mordred | and if we made it a systemic flag like that, we could update things at a base layer in ksa, gophercloud, fog, etc and then people wouldn't necessarily need sahara-specific logic in base clients | |
| 18:05:33 | mordred | like - maybe it's a one-two punch | |
| 18:06:19 | mordred | do 'make project-id optional for sahara v1' and also look in to adding an optional field to version docs and getting base clients updated to understand it | |
| 18:06:42 | jeremyfreudberg | indeed | |
| 18:06:50 | mordred | it wouldn't be much work to add to ksa or to add to the version spec (other than bikshedding of course) | |
| 18:07:32 | mordred | cdent, elmiko, edleafe: ^^ any thoughts on that? | |
| 18:08:15 | edleafe | mordred: current heads-down on placement, with feature freeze this week | |
| 18:08:49 | mordred | edleafe: kk. I guess that's important :) | |
| 18:09:43 | edleafe | :) | |
| 18:09:48 | jeremyfreudberg | mordred: i agree it's not too much work. and happy to have contributed to circumstances that lead to its inspiration | |
| 18:09:53 | jeremyfreudberg | should be interesting to see if it goes somewhere | |
| 18:17:00 | elmiko | mordred: about to leave for the airport, but i'll catch up on the plane | |
| 18:19:04 | cdent | mordred, jeremyfreudberg : nova made it optional but I don't recall the details on how that was managed service catalog or version-wise. sdague will probably know | |
| 18:19:18 | cdent | my preference would be to _not_ add something to version discovery | |
| 18:19:53 | cdent | but then I have a pathalogical problem with project id in uris | |
| 18:20:05 | cdent | (except where they actually mean something) | |
| 18:23:39 | mordred | cdent: yah - I think we're all in strong agreement about them going away (except where they mean something) | |
| 18:24:22 | mordred | cdent: I *think* nova just made them optional, and then over a period of time convinced people to stop putting them into catalog entries | |
| 18:26:15 | cdent | mordred: I would fear that if we make it easy and non-painful to keep them around, then they'll stay around. Which is unfriendly of me, but I can't. be friendly _all_ the time. | |
| 18:27:54 | mordred | cdent: I reject that premise. you're always friendly :) | |
| 18:31:09 | jeremyfreudberg | mordred: thanks again. i'll ping you again if needed (but it looks like we're good) | |
| 19:15:26 | sdague | it was made optional but deprecated. There is a microversion used for signaling that the code can support it | |
| 19:27:24 | openstackgerrit | Merged openstack/os-api-ref master: Remove name from project stanza https://review.openstack.org/536126 | |
| 20:05:18 | openstackgerrit | Slawek Kaplonski proposed openstack/python-openstacksdk master: Make floating IP to be prefered over fixed when looking for IP https://review.openstack.org/536548 | |
| 20:11:54 | openstackgerrit | Slawek Kaplonski proposed openstack/python-openstacksdk master: Make meta.find_best_address() more generic https://review.openstack.org/536553 | |
| 20:14:58 | slaweq | mordred: hi, ^^ two cherry-picks from shade to openstacksdk | |
| 20:15:13 | slaweq | mordred: it was as easy as You said me earlier :) thx | |
| 20:16:06 | mordred | slaweq: woot! | |
| 20:16:38 | mordred | slaweq: there's also a topic i've been using 'merge-shade' - and a few outstanding patches we should make sure get in | |
| 20:17:15 | slaweq | ok, I will change topic then | |
| 20:49:31 | openstackgerrit | Lance Bragstad proposed openstack/python-openstackclient master: Add system role functionality https://review.openstack.org/524416 | |
| 20:54:07 | openstackgerrit | Adrian Turjak proposed openstack/python-openstacksdk master: Raise error when supplying invalid query params https://review.openstack.org/532723 | |
| 22:51:39 | openstackgerrit | Monty Taylor proposed openstack/python-openstackclient master: Rework Network client config for new SDK Connection https://review.openstack.org/524715 | |
| 22:52:34 | mordred | dtroyer: could I impose upon you to +A https://review.openstack.org/#/c/524991/ ? | |
| 22:52:59 | mordred | dtroyer: I'm trying to get the osc-tips jobs added to openstacksdk which kind of fell off the radar a bit | |
| 22:56:30 | mordred | amotoki, dhellmann: also, if either of you have a sec to +A a patch from dtroyer ... https://review.openstack.org/#/c/524715 | |
| 22:56:30 | openstackgerrit | Ihar Hrachyshka proposed openstack/python-openstacksdk master: DNM testing whether lib/neutron switch breaks this repo https://review.openstack.org/535943 | |
| 23:00:25 | mordred | RuiChen: you too re: 524715 | |
| 23:07:33 | openstackgerrit | Colleen Murphy proposed openstack/python-openstackclient master: Add CRUD support for application credentials https://review.openstack.org/536163 | |
| 23:13:03 | openstackgerrit | Colleen Murphy proposed openstack/python-openstackclient master: Add CRUD support for application credentials https://review.openstack.org/536163 | |
| 23:14:44 | mordred | adriant: fyi - the test failure you're seeing on your patch is not related to your patch | |
| 23:16:08 | adriant | mordred: I gathered. I'm just keeping it rebased out of habit. | |
| 23:16:12 | mordred | adriant: it should be fixed by https://review.openstack.org/#/c/533823 - although now that one has a super-fun error about invalid gateways | |
| 23:16:16 | mordred | adriant: ++ | |
| 23:29:06 | openstackgerrit | Merged openstack/python-openstacksdk master: Fix releasenotes builds https://review.openstack.org/536056 | |
| #openstack-sdks - 2018-01-23 | |||
| 01:36:08 | openstackgerrit | Monty Taylor proposed openstack-infra/shade master: Remove inner_exceptions plumbing https://review.openstack.org/536640 | |
| 01:59:39 | mordred | SamYaple, Shrews, adriant, briancurtin: the stuff in https://review.openstack.org/#/q/topic:swift-resource2+status:open should be ready to go - the RETRY_LIMIT errors were actually a zuul bug that we helped track down (go us) | |