Tuesday, 2018-05-01

rm_workhmmm00:09
rm_workbecause of some bad ascii conversion somewhere?00:09
johnsomYeah, I put the traceback in the story00:10
rm_workoh in cliff???00:12
johnsomNo, it is in our code actually00:13
rm_worktraceback is confusing i guess00:13
johnsomYeah, with the formatting gone, it's a bit hard to read00:14
rm_workyou CAN get the formatting00:14
johnsomFile "/usr/local/lib/python2.7/dist-packages/octaviaclient/osc/v2/utils.py", line 28, in _map_attrs res[source_val[0]] = source_val1 UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)00:14
rm_worknext time use the preview feature00:14
rm_workyeah i saw that, but we don't ascii-ize it i think00:15
rm_workwe pass it on down to cliff00:15
rm_workwhich is where the actual error seems to originate00:15
johnsomIf I pass it in as the selector for show it works fine00:15
rm_workhmm00:16
openstackgerritAdam Harwell proposed openstack/octavia-tempest-plugin master: Create api+scenario tests for listeners  https://review.openstack.org/49231100:44
rm_workjohnsom: ^^ just abstracted a ton of the client stuff into a common base00:44
rm_worklet me know if you hate that00:44
rm_workbecause i can see that pools/members/etc is all going to do the exact same thing00:45
johnsomIf that works I am ok with it. What about the raw dict option? Also, I would like to see the docstrings back on the client methods. That is where people are going to go to see how to used the client library.00:54
openstackgerritAdam Harwell proposed openstack/octavia-tempest-plugin master: Create api+scenario tests for listeners  https://review.openstack.org/49231100:59
rm_workjohnsom: i mean... raw dict... is what kwargs *is*01:04
rm_workyeah the docstrings, eugh01:05
rm_workjohnsom: hmm, with default options, the API tests are failing for me in devstack01:26
rm_workmaybe i need some non-defaults?01:26
johnsomHmmm, I think they should run out of the box with a devstack01:27
rm_workis there a "test with noop" option I need to set?01:27
rm_workmy devstack is noop mode right now01:27
* rm_work looks01:27
johnsomYes01:28
johnsomThere is a setting if you are running noop01:28
rm_workah yeah i got it01:29
rm_workstill failing but will look harder01:29
rm_worki thought i was using the advanced rbac but maybe i am not01:29
rm_workyeah guess i'm not01:32
rm_workdon't remember swapping it01:33
johnsompolicy file in /etc/octavia?01:33
rm_workyep01:33
rm_worki checked, it's using the simple one01:33
rm_workjust don't remember changing it01:33
openstackgerritGerman Eichberger proposed openstack/neutron-lbaas master: Gate API test for the lbaasv2-proxy plugin  https://review.openstack.org/53935003:26
*** ianychoi has quit IRC03:28
*** ianychoi has joined #openstack-lbaas03:31
*** yamamoto has quit IRC04:01
*** yamamoto has joined #openstack-lbaas04:04
*** yamamoto has quit IRC04:05
*** yamamoto has joined #openstack-lbaas04:15
*** yamamoto has quit IRC04:20
*** yamamoto has joined #openstack-lbaas04:31
*** yamamoto has quit IRC04:34
*** yamamoto has joined #openstack-lbaas04:34
*** links has joined #openstack-lbaas05:03
*** yboaron_ has joined #openstack-lbaas05:17
*** yboaron_ has quit IRC05:22
*** yboaron_ has joined #openstack-lbaas05:26
*** astafeye__ has quit IRC07:00
*** rcernin has quit IRC07:06
*** yboaron_ has quit IRC07:09
openstackgerritOpenStack Proposal Bot proposed openstack/neutron-lbaas-dashboard master: Imported Translations from Zanata  https://review.openstack.org/56545607:13
*** yboaron_ has joined #openstack-lbaas08:24
*** astafeye__ has joined #openstack-lbaas08:26
*** salmankhan has joined #openstack-lbaas08:37
*** yboaron_ has quit IRC08:55
*** salmankhan has quit IRC09:06
*** salmankhan has joined #openstack-lbaas09:10
*** atoth has joined #openstack-lbaas11:18
*** yamamoto has quit IRC11:45
*** pchavva has joined #openstack-lbaas11:52
*** samccann has joined #openstack-lbaas11:53
*** yamamoto has joined #openstack-lbaas11:55
*** yamamoto has quit IRC11:55
*** yboaron_ has joined #openstack-lbaas12:10
*** yamamoto has joined #openstack-lbaas12:24
*** yboaron_ has quit IRC12:40
*** yboaron_ has joined #openstack-lbaas12:40
*** samccann has quit IRC13:08
*** ianychoi has quit IRC13:09
*** ianychoi has joined #openstack-lbaas13:10
*** openstackgerrit has quit IRC13:34
*** astafeye__ has quit IRC13:48
*** links has quit IRC13:54
*** samccann has joined #openstack-lbaas14:00
*** fnaval has joined #openstack-lbaas14:20
xgerman_and the proxy works: https://review.openstack.org/#/c/539350/14:30
*** openstackgerrit has joined #openstack-lbaas14:40
openstackgerritMerged openstack/neutron-lbaas-dashboard master: Imported Translations from Zanata  https://review.openstack.org/56545614:40
*** salmankhan has quit IRC14:48
openstackgerritMerged openstack/neutron-lbaas-dashboard master: Update tox.ini  https://review.openstack.org/55734314:51
*** yamamoto has quit IRC15:03
johnsommugsie Sucker!  Congrats15:06
mugsiejohnsom: thanks :)15:06
johnsomLooks like a strong team.15:07
mugsieyeah - a good  group got in this year15:07
*** yamamoto has joined #openstack-lbaas15:16
*** yamamoto has quit IRC15:21
*** yboaron_ has quit IRC15:30
*** yamamoto has joined #openstack-lbaas15:31
*** salmankhan has joined #openstack-lbaas15:34
*** yamamoto has quit IRC15:36
xgerman_+115:37
*** irenab has quit IRC15:42
*** irenab has joined #openstack-lbaas15:43
*** yamamoto has joined #openstack-lbaas15:44
*** yamamoto has quit IRC15:44
*** ianychoi has quit IRC16:09
*** ianychoi has joined #openstack-lbaas16:11
openstackgerritMerged openstack/neutron-lbaas master: Log failed cert delete, and raise TLSContainerInvalid instead  https://review.openstack.org/54406216:12
*** Swami has joined #openstack-lbaas16:36
*** salmankhan has quit IRC16:36
*** yamamoto has joined #openstack-lbaas16:44
*** yamamoto has quit IRC16:50
*** imacdonn has quit IRC16:59
*** phuoc has joined #openstack-lbaas17:12
*** phuoc_ has quit IRC17:15
*** yamamoto has joined #openstack-lbaas17:47
*** yamamoto has quit IRC17:52
*** fnaval has quit IRC18:34
*** fnaval has joined #openstack-lbaas18:35
*** samccann has quit IRC18:40
*** yamamoto has joined #openstack-lbaas18:48
*** yamamoto has quit IRC18:53
*** jsm222 has joined #openstack-lbaas18:57
*** jsm222 has quit IRC18:57
openstackgerritAdam Harwell proposed openstack/octavia-tempest-plugin master: Create api+scenario tests for listeners  https://review.openstack.org/49231119:10
*** samccann has joined #openstack-lbaas19:30
rm_workjohnsom: do you know if tempest resource cleanup order is guaranteed or just random?19:32
johnsomguaranteed19:32
rm_workhmmmmmmmmmmm19:35
rm_worksome of the cleanups don't appear to be running O_o19:35
rm_workvery strange19:35
rm_worki have the listener api tests creating one LB in the setup, then creating listeners, cleaning them up, and then cleaning up the LB19:36
rm_workbut ONE listener seems to be left on the LB so the delete fails19:36
rm_workand the cleanup terminates19:36
rm_worklooking at it, verified that it has a cleanup...19:36
johnsomHmmm19:36
rm_workmaybe the order is guaranteed but just not what I expect?19:36
rm_workI expect it to be a FILO stack19:37
rm_workmaybe it's a FIFO queue19:37
johnsomClean-up is best scheduled using addCleanup which ensures that the resource cleanup code is always invoked, and in reverse order with respect to the creation order.19:37
johnsomTo quote the tempest docs19:37
rm_workok yeah19:37
rm_workso FILO19:37
rm_workhmmmmmm19:37
rm_workalso i'm seeing one LB not get deleted after the LB tests19:39
rm_workbut verified it had a cleanup added19:39
rm_workand nothing errored there19:39
rm_work:/19:39
rm_workmaybe i need to respin my devstack19:39
johnsomThings seemed to cleanup for me except when the test blows up19:40
johnsomor I guess the cleanup code blows up19:40
rm_workhmmmmm19:41
rm_workcleanup code isn't blowing up it SEEMS19:41
rm_workwhere do the tempest logs go if i just run it...19:41
johnsom /opt/stack/tempest If I remember right19:42
rm_workoh actually CWD lol19:43
rm_workoh wtf19:44
rm_workok i see, this is dumb tho19:45
rm_workeugh, i was really hoping we could check the status of the object we were updating but really we do have to check the status of the LB19:45
rm_workI forgot why19:45
rm_workbut now I remember19:46
johnsomYeah, LB and Listener are locking keys, the rest are not19:46
rm_workthis is listener19:46
johnsomYeah, so you need both I think19:46
rm_workformatting isn't great but19:48
rm_workhttp://paste.openstack.org/raw/720198/19:48
rm_workbasically it sees the listener go to ACTIVE19:48
rm_workthen tries to delete the listener19:48
rm_workand the LB is still in a PENDING19:48
rm_workOH I know why I think19:49
*** yamamoto has joined #openstack-lbaas19:49
*** yamamoto has quit IRC19:55
rm_workugh this is going to be a PITA to fix20:01
*** ianychoi has quit IRC20:13
*** samccann has quit IRC20:44
*** yamamoto has joined #openstack-lbaas20:51
rm_workummm does it run all the cleanups in parallel?!?20:52
johnsomThey are sequential, but sequential to the test class.  The test classes can run in parallel20:53
rm_worki have -t20:55
rm_workwtf20:57
rm_workhttp://paste.openstack.org/show/720199/20:57
*** yamamoto has quit IRC20:57
rm_workliterally all starting at the exact same time according to tempest, how is that even possible20:57
rm_workand same thread?20:57
rm_worksomething here is whack21:04
rm_work*whack* I say21:04
rm_workok i think i got it21:08
johnsomOye, some of the legacy stuffs. Like listener_id on pool...21:19
rm_work<_< do we actually SET that?21:22
rm_worki thought it was just a relationship21:22
rm_worklike in SQLA21:22
rm_workoh and i found the issue21:22
rm_workit was something dumb21:22
rm_workso close21:22
johnsomIt is in the API, then we convert pool create into a pool create with a listener update21:22
rm_workahh21:24
rm_work... is that bad?21:24
johnsomWell, since it doesn't really exist in the data model or DB, it's "odd" when translating to a driver. I will just have to do the same thing, make two calls to the driver21:25
rm_workyeah prolly21:26
*** pchavva has quit IRC21:30
openstackgerritAdam Harwell proposed openstack/octavia-tempest-plugin master: Create api+scenario tests for listeners  https://review.openstack.org/49231121:35
rm_workthink i got it21:35
rm_workand just need to add test_listener_list21:35
rm_workto the API21:35
rm_workand can move on to pools21:36
johnsomNice, I'm down to the TLS certs for the single-call-create with driver21:36
rm_workwtf how did the py35 api tests pass last time21:38
rm_workthe tests were definitely broken21:38
rm_workhmm my compat thing breaks the NEW test_loadbalancer_list because when it filters on project_id it expects one field only but it gets tenant_Id also, lol21:40
rm_workeven though it was a filter on project_id21:40
johnsomrm_work So are we just *not* registering our cert usage anymore? https://github.com/openstack/octavia/blob/master/octavia/common/tls_utils/cert_parser.py#L35021:41
rm_workin the single-secret model, nope21:41
rm_workbecause ... well21:41
rm_workI never implemented that functionality for Secret objects in Barbican <_<21:41
rm_workit was a TODO >_>21:41
rm_workboth object types are supposed to have Consumers but only Containers ever got done :(21:42
rm_workI can go do it21:42
rm_workbut it'll take some time21:42
johnsomOk, so is this load_certificates_data the right method I should call to get the certs to pass to the driver?21:42
rm_workumm21:42
rm_workwhat object is that on21:42
rm_workerr what class21:42
rm_workit should be from the driver I think21:42
johnsomoctavia/common/tls_utils/cert_parser.py No class21:43
rm_workummmmm21:43
rm_workone sec21:43
rm_workyes I think that's right21:43
rm_worki hate it though21:43
rm_worki hate all of that cert_parser code21:43
rm_workthat whole file should burn21:43
johnsomWe agreed to get the certs out of whatever and just hand them to the provider drivers.21:44
rm_workit was all originally written by carlos very ... low level21:44
rm_workand slowly fixed/converted to be more sane21:44
rm_workbut21:44
rm_workit's kind of a weird mess21:44
rm_workyes that seems right21:44
johnsomCool, thanks21:45
rm_workso I never got back to the whole "HMs are missing with single-create" thing21:45
rm_workdid you get any further with it?21:46
rm_workI am pretty sure there is a bug in here somewhere21:46
johnsomYeah, I already fixed all of that21:46
johnsomIt's in this patch since nothing else is using that return data21:46
rm_workk21:46
rm_workso you figured out the bug?21:46
rm_workI mean, could we rip it out and fix it?21:47
johnsomYeah, there were a few.  Small21:47
rm_workso we can backport that piece21:47
rm_workbecause we can't backport providers21:47
johnsomBut *nothing* else is using the data that had stuff missing. We were just returning it and dropping it21:47
rm_workalso i am curious what the issue was21:47
rm_workright but we weren't returning the right thing21:47
rm_workso it's an API return data bug21:47
rm_workright?21:47
johnsomSingle-call-create just pulled it all from the DB on octavia worker side21:48
rm_workso like... *users* would be getting the wrong data21:48
rm_workit's supposed to return you the full set of data21:48
johnsomNo, it was purely internal stuffs21:48
rm_workyou sure?21:48
rm_workthe way i checked was by adding a compare to the functional tests21:49
rm_workand it said the API return data was wrong21:49
johnsomNo, but 80% confident21:49
rm_workbut those API tests may have been strangely mocked somehow, i dunno21:49
rm_worksince i also couldn't debug it21:49
johnsomI can commit now if you want to look at the fixes, otherwise it will be after I finish the certs stuff21:50
rm_workkk that's fine21:50
rm_workyou can wait21:50
*** yamamoto has joined #openstack-lbaas21:53
rm_workthis is so perplexing, I don't understand why these seem practically like mocks21:55
rm_workif I run: `self.repositories.pool.get_all(session)`21:56
rm_workit returns one pool21:56
rm_workthen after that, nothing for any repository21:56
rm_work(if i run it more times)21:56
johnsomAre you using lock_session?21:57
rm_workeither21:57
johnsomIt will do that. The session is good for one shot only21:57
rm_workah maybe they're the same?21:57
johnsomHmm, the other session is autocommit and just keeps creating new ones21:58
rm_workbut i'm doing a *get*21:58
*** yamamoto has quit IRC21:59
johnsomYeah, doesn't matter with lock_session, but it will throw an exception saying the session is dead if it's been used21:59
rm_workself.repositories.pool.get(session, id=new_pools[0].id)21:59
rm_workrun that once21:59
rm_workpool comes back21:59
rm_workrun it again, nothing22:00
rm_workNone22:00
johnsomWhat are you using to get that "session"22:00
johnsom?22:00
rm_workit's the session that's passed to _graph_create22:00
rm_workfrom context.session22:00
johnsomTwo are passed in there, one is a lock session22:00
rm_workight22:00
rm_work*right, session and lock_session22:01
johnsomOk, yeah, the context one should be fine22:01
rm_workwhen you're done with that22:01
rm_worklet me know22:01
johnsomThis is a functional test?22:01
rm_workmaybe you can take a look at this madness on zoom22:01
rm_workyes22:01
johnsomWhich test?22:01
rm_workthe lb graph create22:01
rm_worki'll show you later22:01
rm_workfinish your thing22:01
*** fnaval has quit IRC22:35
*** rcernin has joined #openstack-lbaas22:36
rm_workjohnsom: ummm22:40
rm_workloadbalancers = wtypes.wsattr([types.IdOnlyType])22:40
rm_workwhy is that in the return for a Listener object22:40
rm_workwut22:40
johnsomUmmm22:41
johnsomNo idea. I bet it's never in the return dict22:41
rm_workhmmm22:41
johnsomAt one time we planned to have single call create just return a list of ides22:42
johnsomids22:42
johnsomfor the child objects, but that would be a DB back reference, so, not useful22:43
rm_workok but i mean22:44
rm_workit'd still be a single one22:44
rm_worklisteners can't be shared22:44
rm_workso there can never be more than a single LB per Listener22:44
rm_workright?22:44
johnsomRight, that really makes no sense at all22:45
rm_worki wonder if tests still pass if I just... remove that22:45
johnsomlisteners don't have LBs as children either22:45
rm_workthey're parents22:45
rm_workso22:45
rm_work>_>22:45
johnsomNuke from above22:46
lxkonghi guys, am i right that octavia relies on the frondend software (haproxy, nginx, etc.) to provide https request?22:51
johnsomNo22:52
johnsomlxkong Octavia has native TLS offloading22:52
johnsomOptional22:52
lxkongjohnsom: could you tell me the related config option?22:52
johnsomhttps://docs.openstack.org/octavia/latest/configuration/configref.html#api_settings.allow_tls_terminated_listeners22:53
lxkongjohnsom: sorry, i mean, for octavia-api22:53
johnsomYou also need a secret store, barbican or castellan.  For example castellan to Vault22:53
lxkongnot for listeners22:54
johnsomhttps://developer.openstack.org/api-ref/load-balancer/v2/index.html#create-listener22:54
johnsomdefault_tls_container_ref  and sni_container_refs22:54
rm_workjohnsom: umm http://paste.openstack.org/show/720201/22:54
lxkongjohnsom: i mean, https support for octavia api endpoint22:54
rm_workAH22:55
johnsomOh!22:55
*** yamamoto has joined #openstack-lbaas22:55
rm_workyou mean the octavia-api service, yes22:55
rm_workyou need to put haproxy or something in front22:55
lxkongrm_work: yeah, that's the answer i gues :-)22:55
rm_workor run it with apache-modwsgi22:55
johnsomOr configure TLS on your WSGI server22:55
rm_workor whatever22:55
rm_workyeah22:55
rm_workoctavia-api is not really meant to be run in prod22:55
rm_workit's for development22:55
rm_workyou should be running octavia api with uwsgi or gunicorn or apache-mod-wsgi22:56
johnsomYeah, octavia is a WSGI app22:56
rm_workand configure that server to use TLS22:56
lxkongjohnsom, rm_work: ok, got you, thanks!22:56
rm_workjohnsom: see my paste? http://paste.openstack.org/show/720201/22:56
rm_workwtf22:56
rm_work1) it's not a list somehow22:56
rm_work2) it does return22:56
rm_worki guess maybe swap those22:57
lxkongjohnsom, rm_work: btw, the octavia ingress controller for k8s has been merged for openstack cloud provider. https://github.com/kubernetes/cloud-provider-openstack/tree/master/pkg/ingress22:57
johnsomNeat!22:58
johnsomrm_work So confused. You called "show" so it's not supposed to be a list22:58
rm_workjohnsom: look at the "loadbalancers" key23:00
rm_workthat's what i'm talking about23:00
*** yamamoto has quit IRC23:00
johnsomOh, right23:00
johnsomSo, it's odd all the way around23:00
rm_workyes23:01
johnsomYeah, how is that not a list?23:01
johnsomOSC maybe23:01
rm_worki have no freaking idie23:01
rm_work*idea23:01
rm_workwell i told it to just dump json...23:01
johnsomIt still formats first I think23:01
johnsom--debug is the only way to see what the API sent back23:01
rm_workk23:02
rm_workok yes you're correct23:04
rm_workit does return as a list at least in the API23:04
rm_worksoooo we maybe can't change it?23:05
openstackgerritAdam Harwell proposed openstack/octavia-tempest-plugin master: Create api+scenario tests for listeners  https://review.openstack.org/49231123:13
rm_work^^ includes test_listener_list and fixed scenario tests (hopefully) and should all pass23:14
rm_workoops something is bad23:54
*** yamamoto has joined #openstack-lbaas23:56

Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!