15:00:35 #startmeeting puppet-openstack 15:00:35 Meeting started Tue Sep 8 15:00:35 2015 UTC and is due to finish in 60 minutes. The chair is EmilienM. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:00:37 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 15:00:40 The meeting name has been set to 'puppet_openstack' 15:00:41 #link agenda: https://etherpad.openstack.org/p/puppet-openstack-weekly-meeting-20150908 15:00:45 o/ 15:00:53 こんにちは - hello o/ 15:01:02 o/ 15:01:03 o/ 15:01:04 hello 15:01:30 o/ 15:01:57 ok, let's get start 15:02:01 o/ 15:02:08 #topic announcements 15:02:19 hi 15:02:21 #new approved spec: http://specs.openstack.org/openstack/puppet-openstack-specs/specs/liberty/support-for-keystone-domain-configuration.html 15:02:29 #link new approved spec: http://specs.openstack.org/openstack/puppet-openstack-specs/specs/liberty/support-for-keystone-domain-configuration.html 15:02:38 chem: good work ^ 15:03:07 #link Tokyo Summit etherpad: https://etherpad.openstack.org/p/HND-puppet 15:03:28 see my thread on ML, I would like people to start thinking about topics that we will discuss 15:03:29 EmilienM: thanks :) 15:03:34 so we can start working on agenda 15:03:58 also, thank you for those who attended our sprint last week 15:04:10 #link puppet sprint retrospective: https://etherpad.openstack.org/p/puppet-liberty-sprint-retrospective 15:04:28 I'll let more time (some days) so people can feed the etherpad 15:04:44 and during the next meeting we can do the retrospective 15:05:07 #action emilien to wait more time and gathers data from sprint retrospective for next meeting 15:05:20 <_ody> o/ 15:05:51 #topic CI status 15:05:57 just a quick status 15:06:10 here is the updated situation of our jobs: https://etherpad.openstack.org/p/puppet-liberty-blocker 15:06:24 still some issues with packaging, but much better on trusty 15:06:34 so they'll vote again, for those which were disabled to vote 15:07:00 I've heard this morning RDO has now a new repo beside others... So we are waiting a bit they stabilize that 15:07:10 in the meantime, horizon & ceilometer modules have failing beaker jobs 15:07:38 pabelanger is still working on multi node jobs 15:08:01 and I'm still trying to make pass the puppet-openstack-integration jobs on trusty this week 15:08:22 oh, I missed an announcement but anyway 15:08:31 anteaya is working on having a developer doc 15:08:42 #link puppet doc https://review.openstack.org/#/c/220555/ 15:08:56 so we will have docs.openstack.org/developer/puppet 15:09:09 EmilienM, how would that work with current wiki? 15:09:09 and have content to explain how to contribute, doing reviews, testing, etc 15:09:19 spredzy: the goal is to drop some wiki content 15:09:20 Everything will need to be backported there? 15:09:23 yes 15:09:27 not everything I think 15:09:29 but some bits 15:09:41 and it will be discussed in the reviews 15:09:52 like, if you submit a patch, you'll have to explain what you want to drop from the wiki 15:10:00 so we make sure not dropping everything 15:10:11 Ack. Hopefully we come out with a clear line between what goes in one and what goes in the ohter 15:10:31 one good example is docs.openstack.org/developer/tempest 15:10:42 * spredzy checks 15:10:52 let's move on 15:11:12 #topic "SERVICE DEFAULT" parameter in puppet modules 15:11:16 spredzy: o/ 15:11:28 #link SERICE_DEFAULT thread: http://lists.openstack.org/pipermail/openstack-dev/2015-September/073799.html 15:11:37 #link https://review.openstack.org/#/c/221005/ 15:11:37 also https://review.openstack.org/#/c/221005/ 15:12:06 So now that all the necessary pieces have been merged we can use this feature 15:12:11 spredzy: I WIPed the patch to make sure we discuss before 15:12:23 spredzy: can you remind us a little of context? 15:12:29 the review mentioned above is to highlight the benefits of it 15:12:36 I personally understand what's going on, but I'm not sure everyone does 15:13:05 So what it does is : if the default parameter value is '' the cinder_config will ensure absent on that parameter 15:13:15 if it has a value will write it in the configuration fiel 15:13:20 file* 15:13:38 so that means 'undef' default param will be replaced by ? 15:13:42 This way we avoid the if/else cases for each value, and we are always in sync with upstream 15:13:50 EmilienM, yes 15:14:04 EmilienM, also the value that default to the upstream default will be changed 15:14:11 to 15:14:35 in the review above the logging.pp shows greatly how we gain in readability 15:14:37 I +1 the concept 15:14:54 I'm just wondering if you're going to handle all defaults value 15:15:10 EmilienM, what do you mean? 15:15:47 spredzy: we have a ton of default values 15:15:59 a lot of 'undef' as default values 15:16:19 so you're going to patch all modules using undef or false as default values to use this new string 15:16:26 so it will makes sure it's absent 15:16:27 right? 15:16:43 using undef, false or the upstream default 15:16:46 right 15:17:01 +1 15:17:25 +1 15:17:33 cinder is the canary module, so other module won't be touched as of now 15:17:59 if the community agrees and after cinder has been prove to work after few days we can start moving everything 15:18:28 spredzy: I guess silence means we can continue forward :) 15:18:41 EmilienM, yep Im done :) 15:18:45 good 15:18:51 so the decision is: 15:19:13 we continue to work on puppet-cinder, gather feedback a little 15:19:18 and continue in other modules 15:19:22 after one or 2 weeks 15:19:35 spredzy: keep us posted on ML 15:19:52 EmilienM, yes and will do 15:19:56 spredzy: awesome 15:20:18 #topic Status of keystone v3 work with domain naming 15:20:22 richm o/ 15:21:10 so in my attempts to get gildub's domain naming patches working with acceptance testing, I found several bugs that I introduced into the code in my original v3 work :-( 15:21:25 the good news is, you found the solution :) 15:21:35 yes, so I would like to get some reviews 15:21:35 #link https://bugs.launchpad.net/puppet-keystone/+bug/1492843 15:21:37 Launchpad bug 1492843 in puppet-keystone "domain name from id lookups return empty" [High,In progress] - Assigned to Richard Megginson (rmeggins) 15:21:51 and 1492846 and 1492848 15:22:03 ok so 221119, 221120 and 221121 are high priorities for review? 15:22:07 yes 15:22:12 good to know 15:22:33 they need to be fixed in order that gildub's patches will pass acceptance 15:22:49 then I will rebase gildub's patches on top of these 15:22:55 richm: once these 3 patches merged, would it make sense to backport them to stable/kilo? 15:23:31 EmilienM: I don't know - it will be difficult, and these bugs only affect deployments that are actually using domains, and setting a different default_domain_id 15:23:33 richm: I guess you can already rebase them on top of the 3rd patch, so we can see the actual result and see the bug is fixed 15:23:39 EmilienM: right 15:23:43 richm: I'm trying them right now : it seems that they are not fixing, I'm checking if my test env is ok and that the error is the same 15:23:51 richm: so backport is valid here 15:24:04 I guess people using domains in stable/kilo might want to change the default domain id 15:24:18 EmilienM: ok 15:24:35 chem, richm: I would like you to rebase gilles's patches on top of richm's fixes 15:24:38 so I will work on backport as well 15:24:44 it will help reviewers and confirm it really works 15:24:52 I've already started working on it 15:25:04 richm: if there is no code conflict, it should be easy but we never know... 15:25:08 richm: cool 15:25:13 there is code conflict . . . 15:25:26 #action people to review 221119, 221120 and 221121 15:25:41 conflicts with rebasing gildub's patches, and backporting 15:25:44 #action richm to rebase gilles's patches on top of 221121 15:25:57 richm: :( 15:26:01 then, I also found that indirection doesn't work as I thought it would 15:26:14 so all of that indirection code I added sucks performance big time 15:26:39 it turns out that it is much, much better to simply call openstack to get the id for each resource every time 15:26:43 before cutting stable/liberty, we might need to warn people in the README 15:26:53 that keystone v3 is still experimental 15:27:06 except if we fix it before our release 15:27:10 after gildub's patches, it will be easy to remove the indirection and replace with osc calls 15:27:32 richm: good, let's call osc each time 15:27:44 if you have some demo of that? 15:27:52 some demo of what? 15:27:55 I haven't tested personally 15:27:57 of both cases 15:28:08 like, logs or something visual about perfs 15:28:47 I don't have any logs - but the key thing is that calling Puppet::Resource.indirection.find(name) calls self.instances _every single time_ 15:29:09 and osc is faster than calls self.instances _every single time ? 15:29:31 maybe there is something in Puppet we could report 15:29:37 _ody, Hunner ^ 15:30:29 for example, if you have thousands of users and thousands of tenants/projects, calling Puppet::Resource.indirection.find(user) or (tenant) will retrieve all of them, then create provider objects for all of them, then finally loop through all of them to find the one single matching one 15:30:46 that can't be good 15:30:57 and osc client will just find it in the output result 15:31:16 osc will just retrieve the one single user or tenant 15:31:24 ok it makes sense 15:31:32 richm: have you filled a bug? 15:31:34 so, much less network traffic, internal puppet processing, etc. 15:31:38 EmilienM: no, not yet 15:31:58 #action richm to write bug report about performances issues with indirection 15:32:38 richm: lot of work here :) 15:32:46 yes 15:32:55 richm: glad to see CI is useful at least 15:33:01 yes, very 15:33:13 we have time for open discussion & bugs today ! 15:33:17 yay! 15:33:18 note that indirection can still be useful when self.instances is not costly. 15:33:22 richm: anything else? 15:33:30 EmilienM: no 15:33:33 chem: right, but it seems it can be 15:33:40 when having lot of resources 15:34:16 EmilienM: agreed, but it has to be case by case, not a general rule :) 15:34:26 chem: got it 15:34:37 more of a guideline than a rule . . . 15:34:54 maybe add a note in the documentation would be useful 15:35:19 "if managing a lot keystone resources (users, tenants, etc) with puppet, be aware of perfs issues 15:35:32 "Don't use indirection with openstack resources unless you know what you're doing." 15:35:39 lol 15:35:41 good 15:35:46 +1 15:35:49 +1 15:35:50 richm: I think we can write it in the code directly 15:36:07 ok, I'll open discussion in a few 15:36:07 where? 15:36:15 where we will make the change 15:36:19 <_ody> EmilienM: I missed the context while getting some food. I'll read scrollback and get back to you. 15:36:21 ok 15:36:22 from our current code to the new one 15:36:30 ok 15:36:44 #topic open-discussion 15:36:53 not sure we need bug triage, regarding to the work done last week 15:37:03 by the way, special kudos to mfisch & mwhahaha 15:37:26 we do, there's a couple of stuck commits we need to discuss 15:37:44 https://review.openstack.org/192721 15:37:51 angdraug: oh yeah, I meant about bugs themselves 15:37:57 sure you can send patches here 15:38:12 the patch ^ from degorenko is stuck for over a week now 15:38:37 o/ hey, also take a look on https://review.openstack.org/219284 and https://review.openstack.org/220090 please 15:38:56 I think 1/ not much people know Sahara here 2/ a very few people is using the module here -> so it's hard for this patch to get merged 15:39:19 we need to look what's going on with the patches 15:39:45 EmilienM, there is just a new services 15:40:41 this is new features so I guess the only one thing we can do is ask people to review it 15:40:52 EmilienM: it's had +1 from Sahara PTL, I'm pretty sure Sahara cores are happy with it 15:41:08 angdraug: cool, now we have to validate puppet 15:41:13 exactly 15:41:35 ^ right 15:41:36 great feedback 15:42:02 do we have anything else outstanding? 15:42:27 https://review.openstack.org/#/c/211986/ 15:42:43 I got some feedback yesterday on IRC about missing basic documentation 101 to build openstack cloud with puppet 15:42:50 nevermind, that last one just got merged ) 15:42:53 I was thinking at using future docs.openstack.org/developer/puppet for that 15:43:12 EmilienM, this is no easy task 15:43:19 spredzy: it's not hard 15:43:29 spredzy: I was thinking at documenting our CI manifest 15:43:46 ie: https://github.com/openstack/puppet-openstack-integration/blob/master/fixtures/scenario001.pp 15:43:58 which is a manifest you can run on your laptop and it will install openstack 15:44:31 spredzy: I think beginners are looking for a place to start, and giving an example of manifest can be useful 15:44:39 EmilienM, well if that was just that you can simply throught that link a user will understand 15:44:40 we already have examples in our modules 15:44:49 but we might need a general manifest example 15:44:55 EmilienM, I amjust unsure if they expect that everything to be explains or not 15:45:02 ie need for rabbitmq, mysql, etc.. 15:45:13 spredzy: I think it's useful to document that ^ 15:45:21 because not everybody is familiar with it 15:45:34 But having a all-in-one example is def a good start Id say 15:45:39 and getting involved often requires to learn basic bits before sending a patch to our modules 15:45:54 take it run it openstack it is at the end 15:46:05 yeah 15:46:26 devstack already provides a tool to run openstack on your laptop 15:46:33 having a manifest that can do that could be nice 15:46:55 +1 15:46:58 the target here is really people who want to get involved 15:47:05 but don't know how to start 15:47:10 I think osad (ansible) is also providing something like that 15:47:29 nice 15:47:50 ok, do we have anything else for today? 15:48:03 raise your hand or I'll close the meeting in 1 minute 15:49:42 thanks for attending 15:49:49 #endmeeting