18:57:46 #startmeeting keystone-office-hours 18:57:47 Meeting started Tue Aug 15 18:57:46 2017 UTC and is due to finish in 60 minutes. The chair is lbragstad. Information about MeetBot at http://wiki.debian.org/MeetBot. 18:57:48 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 18:57:50 The meeting name has been set to 'keystone_office_hours' 18:57:57 edmondsw: you +1'd it, you're not aware of a use case for a non-sql resource backend? 18:58:00 #topic lbragstad is cool. 18:58:03 >.> 18:58:12 woo 18:58:15 cmurphy I am not... we use sql in PowerVC 18:58:31 the resource backend is so highly keystone/openstack specific it is unlikely to be replaced 18:58:33 imo 18:58:47 HPE did it sortof, but we put everything in mongo 18:58:59 which was when there were far less backend options 18:59:07 kmalloc why? 18:59:18 because someone decided mongodb was the best choice 18:59:25 i really don't know, it pre-dated me working at HPE 18:59:37 this was for the public cloud. 18:59:53 just seems silly :) 18:59:57 i could see projects being mapped to like github org memberships or some other corporate resource designator 18:59:59 and all the resource data was merged into assignment, so it was an all-or-nothing deal for resources 19:00:00 kmalloc: cmurphy I also don't understand why we aren't following the deprecation process before removing the capability of setting an non-sql backend for that 19:00:14 samueldmq: well because it doesn't work 19:00:20 at all 19:00:20 already 19:00:32 it's broken as it sits if you use identity SQL at all 19:00:48 if we'd figured it out ahead of time we could have done a normal deprecation 19:01:11 i'll plan to implement a test that explodes if there are FKs across subsystems 19:01:19 but i need to figure out the way to do that in queens 19:01:23 not in pike-rc 19:01:34 it's ... not going to be a fun test, but it'll prevent this in the future 19:01:59 and i want to do a final collapse/kill of the old migration_repo 19:02:03 kmalloc: well - your patch is allowing FKs between subsystems 19:02:20 lbragstad: the new test would prevent future cases. resource would be explicitly allowed 19:02:33 or we allow FKs between systems where possible 19:02:37 *shrug* 19:02:40 seems interesting 19:02:48 kmalloc: btw I left a comment (2) in https://review.openstack.org/#/c/493621 19:02:59 I am confused with a comment you elft tehre 19:03:17 the more i think about this the more i want to dedicate time at the ptg to discuss where we allow FKs and where we don't 19:03:24 but those bits kind of confuse me 19:04:01 samueldmq: replied 19:04:39 lbragstad: basically it is simple: if you can configure non-SQL, you cannot have an FK from one sql system to it (meaning cannot go either way) 19:04:59 if you allow FKs, they will break inserts if the data isn't housed in the same DB 19:05:43 you cannot insert a user into User table now unless the domain the user belongs to is in the resource table 19:05:57 kmalloc: well, re-replied, I don't really agree. but I think that might be a separate conversation 19:06:29 samueldmq: the only reason we ever had a manager was for abstraction/pivot for backends. if there is no pivot, the manager and driver could be collapsed 19:06:48 kmalloc: the docs says different, https://github.com/openstack/keystone/blob/master/keystone/common/manager.py#L153-L162 19:06:54 business logic between backends goes in the manager, but if the manager doesn't need to pass data through, i can avoid 19:07:00 we don't document the pivot for backends as being the only reason 19:07:12 https://github.com/openstack/keystone/blob/master/keystone/common/manager.py#L160 19:07:25 if there is no dynamic backend, it doesn't need to pass data through 19:08:16 well, resource manager is pretty complex already with all the is-domain thing and all (create_project is 40 LOC) 19:08:27 adding the specific bits to store that into SQL would make it worse 19:08:34 hrybacki: knikolla and i had a discussion yesterday about preparing a demo for the ptg on global roles 19:08:34 a lot of that could be simplified if it didn't need to pass to the backend 19:08:52 hrybacki: notes from that meeting are available here - https://etherpad.openstack.org/p/keystone-global-roles-poc 19:09:08 samueldmq: a lot of the manager code could lean directly on SQL to do the work. 19:09:22 kmalloc: ok, it's worth it a try to see if we can save maintainer time 19:09:40 samueldmq: that is my thought 19:09:44 I guess that's your point too 19:09:49 * samueldmq nods 19:10:40 lbragstad: knikolla ack, looking 19:11:18 kmalloc: test_sql_upgrade.py gets executed against real sql, correct? 19:11:24 I mean, not sqlite 19:11:45 decent amount of work before PTG 19:12:09 hrybacki: yeah 19:12:37 hrybacki: i'm going to start working on item #1 this week - since i proposed the original patch/implementatin 19:12:41 but def. worthwhile. I see you have already started 19:12:45 implementation* 19:16:24 lbragstad: presently putting out a fire but will re-read the spec and look over the task breakdown so I can figure out how I may best help 19:19:53 hrybacki: ack 19:20:24 samueldmq: both 19:21:06 kmalloc: kk 19:41:11 lbragstad: https://review.openstack.org/#/c/494004/ 19:41:36 ^^ removes the uwsgi job 19:41:44 knikolla: nice - thanks for proposing that 19:43:44 lbragstad: fastest patch i've ever gotten merged. 19:43:55 :) 19:48:03 kmalloc: lbragstad I have one more question in https://review.openstack.org/#/c/493259 19:48:25 inline 19:50:00 i think that comment is referencing https://review.openstack.org/#/c/493259/10/keystone/common/sql/contract_repo/versions/024_contract_create_created_at_int_columns.py 19:50:47 lbragstad speaking of the gate, did we ever decide about skipping functional tests for doc changes? https://review.openstack.org/#/c/492630/ 19:51:14 samueldmq: i asked in an earlier patch set - https://review.openstack.org/#/c/493259/7/keystone/identity/backends/sql_model.py 19:51:36 gagehugo: i think the consensus was that we should not run functional tests on doc changes to conserve resources 19:51:50 gagehugo: ++ 19:52:03 i see jobs being queued a lot these days 19:52:19 it looks like other projects do have something to skip tests for just docs/api-ref/non-code 19:52:56 yeah - line 1481 19:53:01 https://review.openstack.org/#/c/492630/4/zuul/layout.yaml 19:53:04 that's neat 19:53:47 and line 1479 19:55:38 yeah 19:57:02 if thats ok then I can take a look at proposing something 19:59:53 lbragstad: for https://review.openstack.org/#/c/493621/ 19:59:59 we wait a bit on feedback from the ML topic? 20:00:30 fyi I just approved kmalloc's change fixing bug 1702211 20:00:31 bug 1702211 in OpenStack Identity (keystone) "test_password_history_not_enforced_in_admin_reset failed in tempest test" [Medium,In progress] https://launchpad.net/bugs/1702211 - Assigned to Lance Bragstad (lbragstad) 20:00:45 ok 20:00:50 i'll wait for it to merge 20:01:02 lbragstad: want me to push the stable/pike version once master merges? 20:01:10 kmalloc: yes please 20:01:16 ok done 20:01:20 kmalloc: thanks 20:01:45 samueldmq: yeah - i'd like to have operator feedback before merging it but i also realize that might be unlikely 20:02:13 lbragstad: looks like you have +2 on stable/pike 20:02:19 i saw that :) 20:02:21 lbragstad: so you can +2 the stable/pike of changed_at 20:02:30 lbragstad: well maybe just wait a bit until we're sure the gate has been 100% fixed? 20:02:49 samueldmq: the change that is gating now should fix the gate 20:03:09 samueldmq: ^ folks have run 300+ iterations locally 20:03:11 lbragstad: exactly, I fully expect it too. 20:03:18 and prior, it was hitting ~60-70 20:03:21 without a failure 20:03:26 cmurphy: ran it up to 2500 without a failure 20:03:32 i stand corrected 20:03:35 2000+ 20:03:36 :) 20:03:49 but... was it OVER 9000!?! 20:03:50 i ran it and walked away from my computer saturday and it ran 3500+ 20:03:52 yes, no reason for the gate to be unhappy! 20:03:53 * kmalloc ducks. 20:03:53 almost 20:04:32 also - that means there were thousands of revocation events stored in sql 20:04:43 and keystone will still running way better than it did in the past 20:04:54 lbragstad: ++ 20:05:04 the database improvement with the revocation table work well 20:05:15 true 20:05:42 also, well done with finding and fixing that bug quickly kmalloc and lbragstad 20:05:44 \o/ 20:05:54 that was all kmalloc 20:06:54 bugs like that in RC phase are always interesting 20:14:15 we still need to fix the invalidation race 20:14:16 but... 20:14:20 that is much smaller 20:16:17 kmalloc: what is that invalidation race thing ? 20:21:02 samueldmq: we do an update after invalidating the cache 20:21:11 ... always invalidate *after* update 20:21:27 kmalloc: where is that ? update of what? 20:21:32 should be a quick fix, right? 20:21:43 user data i think. i found it in the password change hunt 20:21:49 for the created_at_int thing 20:22:00 :( 20:22:10 sec, i can find it again in a moment 20:22:17 kmalloc: would be good to get in for rc too, right? 20:22:18 kk 20:22:51 https://github.com/openstack/keystone/blob/2164d0550c39a07b9c0dacc6c2167d0018b0c7bd/keystone/identity/core.py#L1092-L1099 20:23:02 it is always good for RC, but it isn't a blocker 20:23:05 it can land in queens 20:23:11 i don't think that has *ever* caused a real issue 20:24:09 kmalloc: ah got it 20:24:18 like another process getting in in the meantime 20:24:53 and re-setting the thing to the old entity before it gets effectively updated 20:25:04 that's not easy to happen, I agree 20:27:05 a read on another keystone process for the user will cache the wrong data 20:27:09 it's not even that theoretical 20:27:18 thankfully, it's not superduper important. 20:27:25 because cache expires pretty fast 20:33:35 well - our bug queue is *almost* back under 100 open bugs 20:34:45 considering it was up to the 130s at various times throughout the release 20:36:07 did you count ksa, ksc, ksm too? 20:36:09 or just server? 20:38:54 just server 20:51:16 anything else burning that we should look right now? 20:56:50 lbragstad: might want to get this in too in pike? https://review.openstack.org/#/c/492694/ 20:57:44 knikolla: yeah - that wouldn't be a bad one to include 20:58:42 thanks cmurphy 20:59:22 knikolla: wooo - look at that shiny +2 20:59:52 lbragstad: \o/ 21:13:41 lbragstad knikolla https://review.openstack.org/#/c/494018/ 21:25:10 knikolla I think we could include coverage in the skip? 21:25:30 It looks like everything it covers is in keystone/* excluding tests 21:25:37 so for docs that should be fine 21:26:04 gagehugo: yep. i think so 21:27:04 oh that test generates a 14M html file 21:27:40 gagehugo: coverage? 21:27:56 nah the regex checking in that change ^ 21:28:06 I'll add coverage and fix that 21:28:17 yep. it was loading for a while 21:29:07 Regex ^gate-(keystone|tempest|grenade|keystoneclient)-dvsm-.*$ has no matches in job list 21:33:50 Eric Fried proposed openstack/keystoneauth master: Adapter.get_conf_options(deprecated_opts) https://review.openstack.org/490895 21:38:30 hello all.. is there a way to do ldap nested groups? TY 21:41:44 knikolla fixed 21:50:15 efried: thanks 21:50:31 cmurphy Thank you :) 21:57:05 Hey guys, I'm trying to set up domain specific identity driver configurations on keystone, but am getting this error: Failed to load 'keystone.identity.backends.Athens.Identity' using stevedore: No 'keystone.identity' driver found, looking for 'keystone.identity.backends.Athens.Identity' load_driver /opt/stack/keystone/keystone/common/manager.py:76 21:57:21 anyone familiar with domain specific config setup? 21:59:17 mjax: looks like you need to configure the entry point with stevedore 21:59:31 which is typically done in setup.cfg 22:00:03 #endmeeting