| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-sdks - 2018-03-22 | |||
| 14:33:22 | toker_ | Hi guys, Im trying to debug a problem with octavia-dashboard, which makes a call to openstacksdk to find the public endpoint of octavia. I get an exception from the sdk like this 'SDKException: public endpoint for load_balancer service in regionOne region not found'... And I need to figure out why the sdk is giving me that answer, | |
| 14:33:28 | toker_ | totally new at this so .. | |
| 14:33:31 | mordred | so while I used to consider it the clarkb strategy (implement something poorly so that it annoys clark and he fixes it) - I think it's the cmurphy strategy now :) | |
| 14:33:40 | dhellmann | mordred : that's pretty darn zen | |
| 14:34:24 | mordred | toker_: I have a hunch it's going to be a _ vs - thing - I was just looking at an issue related to that this morning | |
| 14:34:52 | toker_ | Well, I tried changing the endpoint to _ | |
| 14:35:03 | toker_ | bit then I got another error instead :/ | |
| 14:35:31 | toker_ | service_type) File "/usr/lib/python2.7/site-packages/openstack/session.py", line 277, in _get_version_match for link in version["links"]: KeyError: 'links' | |
| 14:35:55 | mordred | toker_: are these errors in a test job or just locally for you? | |
| 14:36:15 | toker_ | no these are errrors in our POC of our openstack setup | |
| 14:36:59 | toker_ | so, openstack loadbalancer list works. But when octavia-dashboard tries to get the endpoint through the sdk, it fails. | |
| 14:37:10 | cmurphy | mordred: it was a fairly severe bug | |
| 14:37:23 | toker_ | And Ive been stuck here for hours trying to figure out why :( | |
| 14:38:12 | mordred | toker_: kk. I'm making a quick test script to hand you ... I bet we can figure it out | |
| 14:38:37 | toker_ | Oh, thanks! That's really nice | |
| 14:41:29 | openstackgerrit | Pavlo Shchelokovskyy proposed openstack/os-service-types master: Fix docs link in the README https://review.openstack.org/555324 | |
| 14:42:59 | mordred | toker_: http://paste.openstack.org/show/708969/ <-- if you run that and paste the output into paste.openstack.org we can see what's going wrong. | |
| 14:43:27 | mordred | toker_: (it assumes you're using env vars - if you have a named cloud in a clouds.yaml file, you'll want to change cloud='envvars') | |
| 14:43:58 | johnsom | toker_ note that you are on an older version of OpenStack, not queens | |
| 14:44:29 | mordred | for reference - this is me running that script against the vexxhost public cloud: http://paste.openstack.org/show/708970 | |
| 14:48:29 | toker_ | AttributeError: 'module' object has no attribute 'enable_logging' <-- | |
| 14:48:54 | openstackgerrit | Monty Taylor proposed openstack-infra/shade master: add lower-constraints job https://review.openstack.org/555299 | |
| 14:49:12 | mordred | toker_: ok. that's an older version of sdk then -I'm guessing from the 0.9 range | |
| 14:49:41 | toker_ | we are using OSP 12 (Pike) | |
| 14:50:23 | mordred | nod. and you're installing the octavia-dashboard from OSP 12 as well? | |
| 14:52:44 | toker_ | There is no official octavia-dashboard for OSP12. This is me trying to get the "master" working for OSP 12. | |
| 14:53:11 | toker_ | https://github.com/openstack/octavia-dashboard/blob/master/octavia_dashboard/api/rest/lbaasv2.py#L38 | |
| 14:53:20 | toker_ | There is the connection to the SDK | |
| 14:59:10 | mordred | GOTCHA. so - this is a fun | |
| 14:59:55 | toker_ | Haha yes, very much so. 12 hours ago it was fun. Now its more like "god damn I just want this shit working" | |
| 14:59:57 | toker_ | :D | |
| 15:00:16 | mordred | toker_: :) | |
| 15:00:27 | mordred | toker_: how did you install the octavia-dashboard code? pip? globally or into a virtualenv? | |
| 15:01:20 | mordred | asking because I think running master octavia-dashboard with pike openstacksdk is going to be hard - but also wanting to keep troubleshooting paths to a minimum | |
| 15:01:35 | mordred | dhellmann: http://review.openstack.org/555299 should fix the shade l-c job | |
| 15:01:57 | mordred | dhellmann: it was requests-mock - 1.1.0 is not sufficient. I'm guessing I should go send in a patch to bump the min on it | |
| 15:02:49 | toker_ | mordred: well, I *think* it should work, if just could get the integration to SDK working. | |
| 15:03:15 | toker_ | its installed by cloning the repo "python setup.py install" inside the container running horizon.. | |
| 15:03:55 | toker_ | So basically, /usr/lib/python2.7/site-packages/octavia_dashboard/api/rest/lbaasv2.py <- making changes to this file and restarting the container everytime I try a change. | |
| 15:05:33 | mordred | toker_: gotcha. SO - could you try using the python in that container to run that script I pasted? | |
| 15:06:27 | toker_ | Yes, same error as I posted before. Hm, the guys in #openstack-lbaas channel actually says I need the 0.9.19 SDK | |
| 15:06:37 | toker_ | they got it working with that version... | |
| 15:06:38 | toker_ | hm | |
| 15:07:55 | mordred | for master of octavia-dashboard? that seems weird to me and like something we should track down - but if they can get you unbroken go for it :) | |
| 15:08:30 | toker_ | Well, I don't know.. Thats what one of the guys trying to help me said. | |
| 15:09:15 | toker_ | I would rather try to get it working with the current version of the SDK (then I dont need to try to upgrade the SDK that horizon may be depending on inside the container) | |
| 15:10:40 | toker_ | Is there something obvious with this code https://github.com/openstack/octavia-dashboard/blob/master/octavia_dashboard/api/rest/lbaasv2.py#L38 that makes it not return the endpoint for the loadbalancer ( I mean the error is pretty verbose, right ? "SDKException: public endpoint for load_balancer service in regionOne region not found") | |
| 15:11:15 | toker_ | I'm not sure updating the SDK would help with that error ? | |
| 15:13:23 | toker_ | I want to understand why the SDK cant find the public endpoint - however getting there seems hard | |
| 15:18:03 | toker_ | I also tried to revert one specific commit, https://review.openstack.org/#/c/524011/2/octavia_dashboard/api/rest/lbaasv2.py , which supposedly could make it work with "an older sdk". But I still get the same error from the sdk that it cant find the public endpoint.. | |
| 15:20:32 | mordred | toker_: right - so - there's nothing in that code that would cause an error - the heavy-lifting of discovery is done in keystoneauth | |
| 15:21:33 | mordred | toker_: which is why I was curious about the output of that script - basically hoping something jumps out at me in the rest log | |
| 15:21:59 | toker_ | Can one do a similar script but for the older sDK ? | |
| 15:22:10 | mordred | so I think the things to verify are - which version of openstacksdk is installed in that container with octavia-dashboard | |
| 15:23:02 | toker_ | Ok, that is 0.9.17 | |
| 15:24:06 | mordred | cool. so - now we get to figure out how to debug the old sdk ... one sec | |
| 15:24:35 | toker_ | ok ok | |
| 15:26:59 | mordred | toker_: ok. well - if it makes you feel any better, I can confirm that sdk 0.9.19 does not find the load balancer service in the vexxhost public cloud either - with the same error message | |
| 15:27:20 | toker_ | oh :/ | |
| 15:27:27 | toker_ | Hm, thats interesting | |
| 15:31:22 | mordred | toker_: yah. well - all of the code to handle this was basically completely replaced in the 0.10 release | |
| 15:31:48 | mordred | toker_: but - I'm working on a patch for you ... since I can reproduce your issue here, it's a little easier | |
| 15:31:55 | toker_ | Oh, for the better then you mean ? It wasnt working properly before ? | |
| 15:31:59 | toker_ | Ok thats very nice of you | |
| 15:39:41 | mordred | toker_: ok. don't laugh ... http://paste.openstack.org/show/708978 <-- if you apply that to the files in your container - it should fix you | |
| 15:40:01 | mordred | toker_: it's obviously not a GENERAL fix, but the general fix involves upgrading more things | |
| 15:40:53 | mordred | toker_: part of the issue is that pike octavia doesn't have a working version discovery document ... I believe johnsom got that fixed this last cycle | |
| 15:42:35 | toker_ | laugh ? How could I laugh, you just fixed a problem I've been struggling with for over 10 hours !! | |
| 15:42:57 | toker_ | This is a very hacky setup at the moment, so adding more hacks to it doesn't really matter. | |
| 15:43:09 | toker_ | We are going to reinstall everything when OSP 13 is out anyway. | |
| 15:43:38 | toker_ | Omg, so simple fix! | |
| 15:43:41 | toker_ | Thank you | |
| 15:43:57 | toker_ | took you ten minutes to find, I've never would have found it :) | |
| 15:45:58 | toker_ | AttributeError: 'Proxy' object has no attribute 'listeners' <- stumbled on this now when trying to list listeners ... | |
| 15:46:09 | toker_ | But thats fine, dont really matter. | |
| 15:48:28 | mordred | woot! | |
| 15:49:01 | toker_ | https://github.com/openstack/python-openstacksdk/commit/d1b242ee850f286f1fae56021f2edf13cde1eb9c <- maybe I need this | |
| 15:49:16 | toker_ | one guy said that in the lbaas-channel | |
| 15:51:47 | toker_ | hm dont think thats related -. | |
| 16:01:45 | mordred | no - that shouldn't be related to the listeners issue - although in general that patch should be fine and safe to backport if you do need to get the list of pools on a health_monitor | |
| 16:15:00 | openstackgerrit | Doug Hellmann proposed openstack-infra/shade master: add lower-constraints job https://review.openstack.org/555299 | |
| 16:25:12 | dhellmann | mordred : I updated your update to also change the test-requirements.txt file ^^ | |
| 17:04:11 | elmiko | edleafe dtantsur , ready for review https://etherpad.openstack.org/p/api-sig-newsletter | |
| 17:07:08 | dtantsur | elmiko: one comment there, everything else LGTM | |
| 17:07:13 | elmiko | cool | |
| 17:07:15 | dtantsur | maybe I just misunderstood the phrase though | |
| 17:07:31 | elmiko | no no, good spot | |
| 17:07:55 | elmiko | i missed a word lol | |
| 17:12:21 | edleafe | elmiko: LGTM | |
| 17:13:40 | elmiko | thanks! | |
| 17:18:11 | mordred | dhellmann: sweet | |
| 18:21:52 | openstackgerrit | Doug Hellmann proposed openstack-infra/shade master: add lower-constraints job https://review.openstack.org/555299 | |
| 18:25:36 | openstackgerrit | Doug Hellmann proposed openstack/cliff master: add lower-constraints job https://review.openstack.org/555405 | |
| 19:13:48 | jroll | does anyone have experience running nodepool or shade against clouds that put services on subpaths, e.g. https://mycloud/nova/v2? we're playing around with that and shade seems to follow the links returned from / and not seeing a path prefix of sorts in most project's config (nova has one, but it's host and all, not just the path) | |
| 19:14:01 | jroll | or experience running a cloud like that, and could point to something I'm missing | |
| 19:14:25 | jroll | considering starting a thread on the mailing list about making a consistent config between projects for that, if there isn't something obvious I'm missing here | |
| 19:19:52 | cdent | jroll: is the service catalog returning reasonable entries? | |
| 19:20:18 | cdent | also you might be interested in https://review.openstack.org/#/c/459869/ | |
| 19:22:11 | mordred | jroll: shade should totally work with suburls.. | |
| 19:22:24 | mordred | jroll: as long as the service-catalog and version discovery documents are correct | |