Sunday, 2016-06-26

*** xingchao has joined #puppet-openstack00:02
*** xingchao has quit IRC00:07
*** markvoelker has joined #puppet-openstack00:32
*** markvoelker has quit IRC00:36
ayoungPUT https://[::1]:35357/v3/projects/1494113d1d984061be09bd9dab38beb8/users/ae93abf775e24d06b15738ba4b094a3f/roles/a8ddbba58b36472dbe2c0b701933c74d  is doing a role assignment for a user on a project, and it looks like a duplicate00:45
ayoungNot a bug in Keystone,  except maybe if that is how it reports the error00:45
*** ducttape_ has joined #puppet-openstack00:46
ayoungINSERT INTO role (id, name, extra) VALUES (%s, %s, %s)']00:47
ayoungthat looks wrong00:47
ayoungI love that we are goind IPv6 though00:48
ayoungIt looks like it is tripping over the old code we had to set the default Role...hhmm00:49
ayounghttp://git.openstack.org/cgit/openstack/keystone/tree/keystone/assignment/controllers.py#n40100:51
ayoungmwhahaha, EmilienM ^^00:51
*** ducttape_ has quit IRC00:51
ayoungIt looks like something is trying to create a "Member" role00:51
ayoungand, since it is done as a side effect...it looks wrong00:52
mwhahahaSo I wonder if we have a user role create that's doing it before tempest00:54
mwhahahaOr should tempest even be doing that00:54
ayoungmwhahaha, what test is that anyway?00:55
mwhahahaThe setup for nova v2 flavors00:55
mwhahahaIs what is failing00:55
mwhahahaLike when it creates the credentials00:55
mwhahahaIs what I tracked down00:55
ayoungmwhahaha, so, it looks like an error in Keystone, and I wonder if it is due to the domain specific role code, but we've only now started seeing it?00:56
mwhahahaSo I'm wondering if we are creating a similar role when we run the scenario00:56
mwhahahaI don't think we should allow a null in that column if it's going to result in a 40900:57
ayoungOK...lets styart from here00:57
ayounghttp://git.openstack.org/cgit/openstack/keystone/tree/keystone/assignment/routers.py#n11400:58
ayoungits a put so00:58
ayounggrant_controller, create_grant00:58
ayounghttp://git.openstack.org/cgit/openstack/keystone/tree/keystone/assignment/controllers.py#n62500:59
mwhahahaI'll get to my computer in a bit but like I said I wonder if we're inadvertently creating the same user/role that tempest tries to use00:59
ayoungmwhahaha, I think it is more subtle00:59
ayounghttp://git.openstack.org/cgit/openstack/keystone/tree/keystone/assignment/controllers.py#n63100:59
ayoungself.assignment_api.create_grant(01:00
mwhahahaBut it seems like a bad thing to allow a null in a constraint like that01:00
mwhahahaIt's the domain that's getting dropped right?01:00
ayounghttp://git.openstack.org/cgit/openstack/keystone/tree/keystone/assignment/core.py#n33901:00
ayoungnot sure01:01
ayounga FULL stack trace would help01:01
ayoungkeystone.common.sql.core   is pretty far down the chain01:01
ayoung[SQL: u'INSERT INTO role (id, name, extra) VALUES (%s, %s, %s)'] [parameters: ('a312190b7554410ebc815289f7390e8f', u'Member', '{}')]01:01
ayounglooks like it is trying to create the GLocal Member role01:02
ayoungand it should not be doing that01:02
ayoungso first it checks that the role exists self.role_api.get_role(role_id)01:02
ayoung        if domain_id:01:02
ayounghttp://git.openstack.org/cgit/openstack/keystone/tree/keystone/assignment/core.py#n116301:03
ayounghttp://git.openstack.org/cgit/openstack/keystone/tree/keystone/assignment/role_backends/sql.py#n7001:03
*** xingchao has joined #puppet-openstack01:03
ayoungOK that is straight ahead01:03
ayoungjust a fetch, no side effects01:04
ayoungskip the call to get_domain.  does a d get_project self.resource_api.get_project(project_id)01:05
ayoungself.driver.create_grant(role_id, user_id, group_id, domain_id,01:05
ayoung                                 project_id, inherited_to_projects)01:05
mwhahahaso it looks like perhaps it's old code?01:05
mwhahaha  `domain_id` varchar(64) NOT NULL DEFAULT '<<null>>' is the last column in role01:05
mwhahahaso if it's not trying to add it, it'll get the <<null>>01:05
mwhahahaso is it like a v2 create against a v3 table or something01:06
* mwhahaha is just guessing01:06
ayounghttp://git.openstack.org/cgit/openstack/keystone/tree/keystone/assignment/backends/sql.py#n5101:06
ayounginserts into the table01:06
ayoungmwhahaha, red herring01:06
ayoungdomain is a new addition to the role table01:06
ayoungbefore that, all roles were global01:06
ayoungso it should be null 99.99% of the time01:07
mwhahahadelicious delicious herrings01:07
ayounguntil people start doing domain specific roles...not there yet01:07
mwhahahalet me go track down the tempest create i had it earlier today01:07
ayoungthe second call does not seem to line up with the first01:07
ayoungmwhahaha, is 22699  and 22700  the thread/process ID?01:08
*** xingchao has quit IRC01:08
mwhahahayea i think so01:08
ayoung2016-06-25 14:17:14.731 22700 INFO keystone.common.wsgi [req-6654dff5-e5e3-4bc1-ab8e-97066f64ba0f e50189d010664d2bb5e2d1ca9471605e a12c0da88dc542c8abdf55f77998b6f1 - default default] GET https://[::1]:35357/v3/roles01:08
ayoungthat is the API being executed, not the line above then01:09
ayoungOK.lets take a look at that01:09
ayoungmwhahaha, feels like a race condition01:09
mwhahahaprobably01:09
mwhahahacause it is sporatic01:09
mwhahahai noticed it on friday01:09
mwhahahaand recheck will pass sometimes01:09
ayoungV3 roles...01:10
ayoungStandard crud call,01:10
mwhahahahttp://git.openstack.org/cgit/openstack/tempest/tree/tempest/test.py#n351 is the function it's erroring in01:10
ayounghttp://git.openstack.org/cgit/openstack/keystone/tree/keystone/assignment/controllers.py#n12501:11
ayounghttp://git.openstack.org/cgit/openstack/keystone/tree/keystone/assignment/core.py#n117501:11
ayounghttp://git.openstack.org/cgit/openstack/keystone/tree/keystone/assignment/role_backends/sql.py#n3801:12
ayoungvery straight ahead01:12
ayoungmwhahaha, so we had logic in the v2 api add_user_to_project that created the member role if it did not exist01:15
ayounghttp://git.openstack.org/cgit/openstack/keystone/tree/keystone/assignment/core.py#n19401:16
ayoungit feels like that logic, but that should be v2 only and this is a v3 lsit_roles call, should not trigger that01:16
ayoungmwhahaha, the fact that it is the "Member" role leads me to think something got it out of the Config file, like this code does01:17
mwhahahahttp://logs.openstack.org/05/332805/3/check/gate-puppet-openstack-integration-3-scenario001-tempest-centos-7/6718b50/console.html#_2016-06-25_14_28_57_99420301:19
mwhahahacomes from tempest01:19
ayoungself.creds_client.create_user_role('Member')  is wrong as a fish in beer01:19
ayoungwell, maybe if you were battering and cooking it01:19
ayoungbut certainly not swiming in my beer01:19
ayoungmwhahaha, But I think some of the logging has been dropped.01:20
mwhahahawonder how to add more01:20
ayoungmwhahaha, where is tempest/common/dynamic_creds.py _create_creds01:21
ayounghttp://git.openstack.org/cgit/openstack/tempest/tree/tempest//common/dynamic_creds.py#n11201:21
ayoungmwhahaha, http://git.openstack.org/cgit/openstack/tempest/tree/tempest//common/dynamic_creds.py#n162  throw a try block around that01:21
ayoungthe role is almost always created01:22
mwhahahaso bug in tempest?01:22
ayoungmwhahaha, looks like it01:22
ayoungmwhahaha, my guess is this01:22
ayoungtwo threads running at the same time.  both do get_roles, see the role is missing, one inserts, the other inserts and errors01:23
ayoungalthough it does not seem to be doing a "get_roles" call first01:23
mwhahahathat's old code01:23
mwhahahafrom 201501:23
ayoungMaybe the keystoneclient code is less forgiving?01:24
mwhahahahttps://review.openstack.org/#/c/201816/01:24
mwhahahayea old code :D01:24
mwhahahaalso year old01:24
ayoungmwhahaha, so look at Keystone client.  My guess is it used to let a user create a role that already exists, and now it doesn't01:25
ayoungmight even be Keystone  server that used to allow that01:25
ayoungmight have been in error...the constraint might have been put on for domain specific roles and is now catching the duplicate calls, where as before you were getting away with \putting crap in the database01:26
ayoungI blame you, personally./01:26
ayoungthe error is unfriendly, though01:26
mwhahaha:D01:27
mwhahahajust wonder how this started to be a random problem like this week01:27
mwhahahai'll just blame mtreinish, i think that's what EmilienM usually does01:28
* mwhahaha ducks01:28
EmilienMit's not safe to ping me a saturday night01:29
EmilienMmy sobriety is really unstable01:30
mwhahahavictory01:30
mwhahaha:D01:31
EmilienMhttps://dashboards.rdoproject.org/rdo-dev01:31
mwhahahaanyway tempest doesn't use keystone client01:31
EmilienMthis dashboard is super cool01:31
EmilienMit tells us how far puppet CI is from openstack trunk01:31
EmilienM(1 day now)01:31
EmilienMmwhahaha: is it happenning, like all the time?01:31
EmilienMdid something merged in tempest ?01:32
mwhahahai noticed it on friday01:32
mwhahahaayoung, http://git.openstack.org/cgit/openstack/tempest/tree/tempest/services/identity/v3/json/roles_client.py#n2901:32
ayoungmust be the server then01:32
ayoung I think you were lucky befopre01:32
*** markvoelker has joined #puppet-openstack01:32
ayoungUI think you were creating slews of Member roles and that is just scary01:32
EmilienMayoung: "you"01:33
mwhahahahttps://review.openstack.org/#/c/332805/ we rechecked a bunch of times01:33
mwhahahaand each time the tests switch on which one is failing01:33
EmilienMayoung: we're deploying keystone & tempest from trunk01:33
ayoungEmilienM, You in the case meaning tempest01:33
mwhahahasometimes scenario 1 sometimes 301:33
EmilienMso devstack might be affected no?01:33
ayoungshould not01:33
EmilienMWHY?01:33
ayoungdevstack creates the role exactly once01:33
EmilienMoops sorry01:33
EmilienMI told you I have beers in hand01:33
EmilienMayoung: don't we ?01:33
*** ntpttr- has joined #puppet-openstack01:33
ayoungI don't see an evidence of code that allowed a role create to succeed if the role already existed01:33
ayoungthat leads me to think that there was no uniqueness constraint on role name.  I could go and check, but I am lazy01:34
ayoungEmilienM, watch out for the fish01:34
EmilienMI have to google it man01:35
EmilienManyway01:35
mwhahahaanyway we can continue this on monday :)01:36
mwhahahasorry to disturb teh drinking01:36
EmilienMayoung: if you have time on Monday, we can investigate what our CI does that devstack is not doing01:36
EmilienMand figure if there is a bug somewhere01:36
EmilienMnow I'll ban you from IRC to make you're enjoying the week end01:36
EmilienMdamn, I don't know how to ban well, please leave01:36
*** markvoelker has quit IRC01:37
EmilienMit also reminds me we pin tempest for ubuntu nodes01:37
ayoungEmilienM, I'm avoiding putting kids to bed01:37
ayoungthis is easier, believe me01:37
ayoungPutting kids to bed is NP Complete01:37
openstackgerritEmilien Macchi proposed openstack/puppet-openstack-integration: CI test - never merge  https://review.openstack.org/33350601:38
ayoungEmilienM, file a bug against Tempest01:38
openstackgerritEmilien Macchi proposed openstack/puppet-openstack-integration: CI test - never merge  https://review.openstack.org/33350701:38
ayoung  its is their mistake01:38
openstackgerritEmilien Macchi proposed openstack/puppet-openstack-integration: CI test - never merge  https://review.openstack.org/33350801:38
openstackgerritEmilien Macchi proposed openstack/puppet-openstack-integration: CI test - never merge  https://review.openstack.org/33350901:38
*** xingchao has joined #puppet-openstack01:38
EmilienMright now I don't even know what to file01:38
ayoungEmilienM, http://git.openstack.org/cgit/openstack/tempest/tree/tempest//common/dynamic_creds.py#n162  throw a try block around that01:38
ayoungand now to go play dad01:38
EmilienMwe'll do it on Monday with Alex01:39
EmilienMenjoy weekend folks /me afk01:39
mwhahahahttps://bugs.launchpad.net/tempest/+bug/159625001:41
openstackLaunchpad bug 1596250 in tempest "setup_credentials failure in FlavorsV2TestJSON" [Undecided,New]01:41
ayoungEmilienM, https://review.openstack.org/33420901:42
mwhahahagoing to throw a block around that ;001:42
ayoungmwhahaha, add to that review, please?01:42
mwhahahawill do01:42
ayoungand probablty should be a more specific exception01:42
mwhahahak updated01:45
*** ilbot3 has quit IRC01:46
mwhahahawe can deal with it on monday, thanks ayoung01:46
*** ducttape_ has joined #puppet-openstack01:47
*** ilbot3 has joined #puppet-openstack01:47
*** ducttape_ has quit IRC01:52
*** xingchao has quit IRC02:15
*** xingchao has joined #puppet-openstack02:16
*** xingchao has quit IRC02:21
*** xingchao has joined #puppet-openstack02:24
*** ducttape_ has joined #puppet-openstack03:49
*** ducttape_ has quit IRC03:54
*** xingchao has quit IRC03:55
*** moravec has quit IRC04:52
*** moravec has joined #puppet-openstack04:53
*** xingchao has joined #puppet-openstack05:21
*** xingchao has quit IRC05:50
*** xingchao has joined #puppet-openstack05:50
*** xingchao has quit IRC07:07
*** ilbot3 has quit IRC07:35
*** ilbot3 has joined #puppet-openstack07:36
*** gregfaust has quit IRC07:37
*** jmikolajczak has joined #puppet-openstack07:40
*** ducttape_ has joined #puppet-openstack07:52
*** jmikolajczak has quit IRC07:52
*** ducttape_ has quit IRC07:56
*** jmikolajczak has joined #puppet-openstack08:28
*** markvoelker has joined #puppet-openstack08:37
*** xingchao has joined #puppet-openstack08:38
*** yolanda has quit IRC08:39
*** markvoelker has quit IRC08:42
*** jmikolajczak has quit IRC08:49
*** ducttape_ has joined #puppet-openstack08:53
*** ducttape_ has quit IRC08:57
*** xingchao has quit IRC08:59
*** markvoelker has joined #puppet-openstack09:38
*** markvoelker has quit IRC09:43
*** ducttape_ has joined #puppet-openstack09:54
*** xingchao has joined #puppet-openstack09:57
*** ducttape_ has quit IRC09:58
*** xingchao has quit IRC10:32
*** markvoelker has joined #puppet-openstack10:39
*** markvoelker has quit IRC10:44
*** crinkle_ has quit IRC10:44
*** crinkle_ has joined #puppet-openstack10:44
*** aderyugin has quit IRC10:45
*** alvladeru has joined #puppet-openstack10:46
*** alvladeru is now known as aderyugin10:46
*** ducttape_ has joined #puppet-openstack10:55
*** ducttape_ has quit IRC10:59
*** xingchao has joined #puppet-openstack10:59
*** xingchao has quit IRC11:18
*** markvoelker has joined #puppet-openstack11:40
*** markvoelker has quit IRC11:44
*** ducttape_ has joined #puppet-openstack11:56
*** ducttape_ has quit IRC12:01
*** markvoelker has joined #puppet-openstack12:41
*** ducttape_ has joined #puppet-openstack12:43
*** markvoelker has quit IRC12:45
*** johnmilton has joined #puppet-openstack13:30
*** ducttape_ has quit IRC13:31
*** xingchao has joined #puppet-openstack13:39
*** markvoelker has joined #puppet-openstack13:41
*** xingchao has quit IRC13:44
*** markvoelker has quit IRC13:46
*** ducttape_ has joined #puppet-openstack14:24
*** xingchao has joined #puppet-openstack14:40
*** ducttape_ has quit IRC14:40
*** markvoelker has joined #puppet-openstack14:42
*** xingchao has quit IRC14:45
*** markvoelker has quit IRC14:47
*** ducttape_ has joined #puppet-openstack15:05
*** ducttape_ has quit IRC15:16
*** ducttape_ has joined #puppet-openstack15:31
*** _stowa has joined #puppet-openstack15:52
*** _stowa has quit IRC16:00
*** ducttape_ has quit IRC16:18
*** v1k0d3n has joined #puppet-openstack16:18
*** v1k0d3n has quit IRC16:24
*** yolanda has joined #puppet-openstack16:39
*** markvoelker has joined #puppet-openstack16:44
*** markvoelker has quit IRC16:48
*** ducttape_ has joined #puppet-openstack17:18
*** ducttape_ has quit IRC17:23
*** xingchao has joined #puppet-openstack17:42
*** markvoelker has joined #puppet-openstack17:44
*** xingchao has quit IRC17:47
*** markvoelker has quit IRC17:51
*** v1k0d3n has joined #puppet-openstack18:00
*** v1k0d3n has quit IRC18:05
*** imcsk8 has quit IRC18:13
*** v1k0d3n has joined #puppet-openstack18:14
*** imcsk8 has joined #puppet-openstack18:15
*** ducttape_ has joined #puppet-openstack18:19
*** ducttape_ has quit IRC18:24
*** ducttape_ has joined #puppet-openstack18:25
*** vinsh has joined #puppet-openstack18:31
*** xingchao has joined #puppet-openstack18:43
*** ducttape_ has quit IRC18:44
*** markvoelker has joined #puppet-openstack18:47
*** xingchao has quit IRC18:48
*** ducttape_ has joined #puppet-openstack18:49
*** ducttape_ has quit IRC18:50
*** markvoelker has quit IRC18:51
*** foxhunt_away is now known as foxhunt7219:09
*** rcernin has joined #puppet-openstack19:34
*** xingchao has joined #puppet-openstack19:44
*** xingchao has quit IRC19:49
*** xarses has quit IRC20:01
*** ducttape_ has joined #puppet-openstack20:06
*** foxhunt72 is now known as foxhunt_away20:36
*** xingchao has joined #puppet-openstack20:45
*** xingchao has quit IRC20:49
*** v1k0d3n has quit IRC21:01
*** rcernin has quit IRC21:22
*** dh64 has quit IRC21:26
*** ayoung has quit IRC21:29
*** xingchao has joined #puppet-openstack21:46
*** markvoelker has joined #puppet-openstack21:49
*** xingchao has quit IRC21:50
*** markvoelker has quit IRC21:54
*** ducttape_ has quit IRC22:12
*** ducttape_ has joined #puppet-openstack23:45
*** xingchao has joined #puppet-openstack23:47
*** markvoelker has joined #puppet-openstack23:50
*** xingchao has quit IRC23:51
*** markvoelker has quit IRC23:55

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