14:00:04 <krotscheck> #startmeeting javascript 14:00:08 <openstack> Meeting started Wed Aug 10 14:00:04 2016 UTC and is due to finish in 60 minutes. The chair is krotscheck. Information about MeetBot at http://wiki.debian.org/MeetBot. 14:00:09 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 14:00:12 <openstack> The meeting name has been set to 'javascript' 14:00:18 <krotscheck> #link https://etherpad.openstack.org/p/javascript-meeting-2016-08-10 14:00:19 <krotscheck> Agenda! 14:00:23 <msmol> hello all 14:00:25 <betherly> o/ hallo! 14:00:29 <krotscheck> hi! 14:00:48 * krotscheck is typing one handed 14:00:49 <vkramskikh> hi 14:00:56 <krotscheck> #chair vkramskikh 14:00:58 <openstack> Current chairs: krotscheck vkramskikh 14:01:28 <krotscheck> #topic Action Followup 14:01:36 <krotscheck> yujunz, you there? 14:02:08 <msmol> cardeois is also MIA 14:02:27 <krotscheck> Got it 14:02:37 <msmol> nevermind, he literally just walked in the door 14:02:39 <krotscheck> I see yujunz in the etehrpad. 14:02:50 <krotscheck> Well, we'll see if he joins later. 14:03:03 <krotscheck> #topic eslint-config-openstack 14:03:18 <krotscheck> We have a new version! It's... version 4.0.1, caused by some fiddling with infra and not doing things in the right order. 14:03:29 <krotscheck> Thanks betherly and vkramskikh for getting those patches together 14:03:44 <Zara> woop! :D 14:04:00 <betherly> yay! 14:04:12 <betherly> thanks krotscheck for all your help getting that out 14:04:17 <krotscheck> This version contain eslint2015 rules, so go nuts everyone 14:04:29 <vkramskikh> btw, why is the new version 4.0.0, not 3.0.0? 14:04:30 <krotscheck> Anyone want to take on the job of updating the version in our various projects? 14:04:33 <betherly> release docs coming soon. releasing a patch momentarily to create docs for eslint-config-openstack 14:04:47 <krotscheck> vkramskikh: THat's a long and terrible tale involving infra, race conditions, and entirely too few donuts. 14:05:15 <krotscheck> (we did things out of order, wedging the gate, and infra didn't want to clar the tags for us) 14:05:47 <krotscheck> Alright. 14:05:58 <krotscheck> #action Unassigned Update eslint rules to 4.0.1. 14:06:09 <krotscheck> #topic Fetch-Mock working 14:06:12 <krotscheck> It's working! 14:06:15 <msmol> :D 14:06:19 <vkramskikh> yay 14:06:23 <msmol> thanks krotscheck 14:06:26 <cardeois> yay ! (and hi !) 14:06:30 <krotscheck> #topic SDK Midcycle & Hack Session 14:06:48 <krotscheck> Everything here pending the open call for cross-project design sessions. 14:06:57 <krotscheck> Out of curiosity, who here is going to be at the summit? 14:07:09 * krotscheck will be there entirely dependent on his talk acceptance. 14:07:12 <cardeois> msmol and me will be there 14:07:14 <vkramskikh> I'm going to attend, but it's not 100% 14:07:16 * msmol raises hand 14:07:19 <krotscheck> \o/ 14:07:23 <krotscheck> Woo! 14:07:31 <krotscheck> I'm pretty certain betherly will be there. 14:07:50 <krotscheck> Zara? 14:08:01 <cardeois> and are you coming krotscheck ? 14:08:12 <cardeois> oh sorry didn't see it 14:08:13 <betherly> i should be there dependant on talk acceptance and travel approval etc :) 14:08:14 * SotK hopes to be there 14:08:23 <Zara> I should be, still need to get things confirmed but should have conference budget for it 14:08:39 <krotscheck> I do not know. There are things in motion I can't really talk about yet that will both decrease my chances of attendance but increase my budget should a talk be approved. 14:08:59 <krotscheck> Moving on 14:09:04 <krotscheck> #topic DSVM & Doc patches 14:09:12 <krotscheck> Those are separated, but seem to be stalled out right now. 14:09:30 <krotscheck> There was a brief wedge from infra because they _REALLY_ wanted us to move to bindep. 14:09:34 <krotscheck> Overall, that's actually a good thing. 14:09:45 <cardeois> what's bindep? 14:09:54 <krotscheck> I'm glad you asked! 14:10:12 <krotscheck> It's a tool that checks for a bindep.txt file in the root of a project and installs all the packages it finds there. 14:10:16 <krotscheck> https://review.openstack.org/#/q/status:open+branch:master+topic:bindep 14:10:53 <krotscheck> Since we're dependent on python-sphinx (the package), and they're moving to bindep, infra decided to make us shave this yak before landing these jobs. 14:11:16 <krotscheck> Long story short: We're in charge of apt-get install now. 14:12:02 <krotscheck> In the meantime, our devstack gate scripts have already landed, so once the various patches land we'll be good to go (and debug failures) 14:12:16 <krotscheck> I'll keep poking infra this week 14:12:16 <cardeois> ok interesting. But can we install packages depending on tags or something? meaning we want some deps for devstack tests, but not everything for unit tests 14:12:23 <krotscheck> #action poke infra about build patches 14:12:35 <krotscheck> cardeois: I don't think so 14:13:03 <cardeois> Ok, so I suppose it's not such a big deal as it's for jenkins jobs only. 14:13:12 <krotscheck> Right 14:13:20 <krotscheck> And we're installing from the infra mirrors, so it's assumably faster 14:13:35 <cardeois> And do we have node6 + node4 here? 14:13:47 <krotscheck> No, those have to be installed manually. 14:13:51 <krotscheck> "Manually" 14:13:57 <krotscheck> Those macros will not be removed from infra 14:14:04 <cardeois> ok I understand 14:14:10 <krotscheck> But things like install-firefox, install-chrome, etc will 14:14:38 <krotscheck> Any other questions? 14:14:40 <cardeois> Yes it will be faster because every macro right now run "apt-get update" first 14:14:48 <krotscheck> Exactly 14:14:52 <cardeois> so it's really slow to make like 10 apt-get update for nothing 14:15:04 <cardeois> anyway, no more question thanks ! 14:15:20 <krotscheck> #topic Action https://review.openstack.org/#/c/345529/ 14:15:24 <krotscheck> It landed! 14:15:32 <cardeois> \o/ 14:16:01 <krotscheck> #topic General News 14:16:08 <krotscheck> So, Neutron's now default in Devstack 14:16:28 <krotscheck> That impacts our roadmap going forward, and pretty much means that we can ignore nova-network ;) 14:16:42 <krotscheck> Anyone know of any other news that impact us? 14:17:31 <krotscheck> I'l... take that as a no. 14:17:45 <krotscheck> #topic JavaScript SDK design discussion 14:18:12 <krotscheck> Ok, two things I want to hit here, first the draft documentation that I put together, secondly "what utility libraries are ok to use" 14:18:38 <krotscheck> #link https://review.openstack.org/#/c/351875/ 14:18:46 <krotscheck> What do people think? 14:19:50 <msmol> I'll start writing some "advanced" docs for keystone 14:19:56 <Zara> that draft seems sensible, but I've only glanced at it so far 14:20:06 <krotscheck> \o/ 14:21:47 <krotscheck> I'm actually pondering getting a release of the SDK pushed with the minimal Keystone work. 14:22:13 <krotscheck> Reason is that we can now query the service catalog, which would allow us to pull it into generator-openstack. 14:22:47 <krotscheck> msmol: Tha'd be awesome. 14:23:12 <krotscheck> No comments? 14:23:24 <krotscheck> Ok, what about lodash/underscore? 14:23:32 <vkramskikh> as for utility libraries, there was a patchset with keystone client which used "underscore" library, so I put the topic on the agenda. I think we shouldn't use any utility libraries since we're going to be a library which shouldn't bee to large, but if we have to, let's go with lodash. there is a babel plugin which does lodash-specific treeshaking, so it won't affect the size of the library dramatically 14:24:02 <vkramskikh> #link https://github.com/lodash/babel-plugin-lodash 14:24:15 <krotscheck> Intreesting. 14:24:23 <krotscheck> I'm definitely a fan of minimal dependencies overall 14:24:37 <krotscheck> Though I can appreciate the velocity gained from somehting like these libraries. 14:24:56 <krotscheck> If I remember correctly, lodash can be included on a per-method basis, yes? 14:25:15 <vkramskikh> I believe we could go without any utility library - it's highly unlikely we will do some complex transformations with API output which would require lodash 14:25:16 <msmol> I don't mind, lodash/underscore are essentially the same project at this point, so either one is fine by me. +1 for lodash since that babel plugin looks awesome 14:25:29 <vkramskikh> krotscheck: yes, or we could use that plugin 14:25:54 <msmol> the nice thing about es6 i suppose is that *most* of the things underscore/lodash used to be used for has native functions now 14:26:41 <krotscheck> So, we can adopt it conservatively? 14:27:06 <cardeois> Yeah I agree, let's try to use es6 features first, and if at some point the code gets too complicated, let's integrate lodash 14:27:14 <vkramskikh> +1 14:27:31 <krotscheck> As long as we have an agreed path forward, I'm content letting each contributor make a decision on what tools to use. 14:27:45 <krotscheck> So, lodash-but-try-to-use-es6-first? 14:27:57 <cardeois> yes 14:27:59 <vkramskikh> lgtm 14:28:02 <msmol> +1 14:28:15 <krotscheck> #agreed Prefer ES6 features, integrate lodash via babel-plugin-lodash when necessary. 14:28:31 <krotscheck> Coolio. 14:28:41 <krotscheck> While we're talking design... 14:29:05 <krotscheck> vkramskikh: I was hoping to get a feature list from you, to get an understanding of what features need to be built out for Fuel to start adopting js-openstack-lib 14:29:48 <vkramskikh> krotscheck: Fuel just needs keystone, so the first release providing only keystone client totally makes sense for me 14:30:02 <krotscheck> vkramskikh: Nice. 14:30:33 <krotscheck> msmol: ALright, I'm going to start coding hard against keystone to get us to that point 14:31:08 <krotscheck> msmol: I'll ping you via email to make sure we don't step on each other's toes. 14:31:27 <krotscheck> Any other questions on general design things? 14:31:38 <msmol> sounds good to me 14:31:54 <krotscheck> Alright, moving on. 14:32:03 <tommylikehu> ok 14:32:08 <krotscheck> #topic Project Status: js-openstack-lib 14:32:27 <krotscheck> I have an update from larainema... 14:32:45 <krotscheck> "<larainema> for glance client, I am still working on it, a little slow process this week and also looking at the keystone client to integrate with it" 14:33:00 <krotscheck> msmol managed to land his basic keystone client ! 14:33:03 <krotscheck> \o/ 14:33:10 * krotscheck already updated a patch against it ;) 14:33:35 <krotscheck> And we don't yet have volunteers for nova, cinder, neutron, and (other) 14:34:01 <krotscheck> I have to say I really appreciate the work that cardeois and msmol have been doing for this project :) 14:34:21 <krotscheck> The same goes for betherly on eslint-config-openstack 14:34:42 <krotscheck> So, thanks everyone! 14:34:48 <krotscheck> Does anyone else have any actual dev questions on this? 14:34:52 <krotscheck> Else we'll move on 14:35:39 <krotscheck> Oookoay. 14:35:46 <krotscheck> #topic Project Status: generator-openstack 14:36:05 <krotscheck> <yujunz> busy with some urgent task, sorry to miss the meeting again 14:36:05 <krotscheck> [07:14:05] <yujunz> jsdoc and sphinx is still in progress 14:36:12 <krotscheck> That's all we got there. 14:36:16 <krotscheck> #topic Open Discussion 14:36:25 <krotscheck> Anything? I've got nothing that hasn't already been mentioned. 14:36:58 <msmol> I've got some questions on where we need to go for keystone client beyond what we've already got, but I guess krotscheck we can talk about specifics outside this meeting 14:37:35 <krotscheck> msmol: Well, I think the big thing is "How does a different API client get the token and decorate its requests. 14:37:45 <krotscheck> Also, there's this: http://developer.openstack.org/api-ref/identity/v3/index.html 14:38:45 <krotscheck> providing methods that will eventually allow domain acccess, project creation, groups, regions... you get the idea. 14:38:54 <krotscheck> But the big one is the first one. 14:39:32 <msmol> cool. like you said above though let's communicate via email to avoid stepping on each others toes 14:39:36 <krotscheck> Yep. 14:39:37 <cardeois> Yeah, oh and while keystone client is not that big right now, it would be nice to have a structure to handle multiple keystone version (and have something similar for Nova etc) 14:39:58 <krotscheck> Oh yeah, microversioning. 14:40:02 <krotscheck> Whooooey 14:40:06 <cardeois> We could develop only v3, but it'll be easy to add v2 or vx in the future 14:40:07 <krotscheck> That's going to be a fiddly one. 14:40:20 <krotscheck> Yeah, how do we handle microversion negotiation? 14:41:08 <krotscheck> But you're right, for now v3 is probably the first step. 14:41:27 <krotscheck> And then maybe have the OpenStack class dynamically set itself up based on what it discovers. 14:41:27 <cardeois> no idea, I didn't think about it. But I was just thinking it would be important to have that. For example our internal openstack was keystone v2 until last month... 14:41:47 <krotscheck> I agree. 14:42:10 <krotscheck> That also talks about how we handled version deprecation and EOL of old Api versions 14:42:11 <cardeois> yeah exactly, I just want Keystone class to be prepared to handle that 14:42:24 <cardeois> right 14:42:40 <krotscheck> So, msmol and I have our work cut out for us :) 14:43:20 <msmol> :D 14:43:46 <krotscheck> #action Unassigned Keystone version selection 14:43:55 <krotscheck> #action Unassigned brainstorm microversion 14:44:16 <krotscheck> Anything else? Otherwise we'll end early 14:44:25 <msmol> all good on my end 14:44:57 <krotscheck> Alrightey 14:45:00 <krotscheck> Thanks everyone! 14:45:03 <krotscheck> #endmeeting