14:02:00 <krotscheck> #startmeeting javascript 14:02:01 <openstack> Meeting started Wed Sep 7 14:02:00 2016 UTC and is due to finish in 60 minutes. The chair is krotscheck. Information about MeetBot at http://wiki.debian.org/MeetBot. 14:02:02 <hejiawei> bye 14:02:03 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 14:02:06 <openstack> The meeting name has been set to 'javascript' 14:02:09 <krotscheck> #chair vkramskikh 14:02:09 <openstack> Current chairs: krotscheck vkramskikh 14:02:14 <krotscheck> Good morning everyone! 14:02:17 <vkramskikh> hi 14:02:23 <yujunz> Hi 14:02:24 <krotscheck> #link Agenda: https://etherpad.openstack.org/p/javascript-meeting-2016-09-07 14:02:30 <larainema> o/ 14:02:41 <krotscheck> omg larainema is here! 14:02:44 <krotscheck> \o/ 14:02:51 <cardeois> Hello ! 14:02:59 <krotscheck> In random project news, our DSVM gates are now voting. 14:03:21 <cardeois> \o/ 14:03:27 * larainema back from travel 14:03:36 <krotscheck> Muchos thanks to cardeois for all his work on that :) 14:03:47 <krotscheck> Alrightey, let's pick up last week 14:04:00 <krotscheck> #topic Action followup: Storyboard story for jsdoc-sphinx 14:04:20 <krotscheck> #link https://storyboard.openstack.org/#!/story/2000716 14:04:33 <krotscheck> #topic krotscheck split design-by-documentation into to-implement segments 14:04:42 <krotscheck> A bit of progress. 14:04:59 <krotscheck> Oh wait. 14:05:10 <krotscheck> There was progress, which I forgot to submit as a patch before I handed my HPE laptop back 14:05:17 <krotscheck> Soooo no progress 14:05:20 * krotscheck facepalms 14:05:32 <krotscheck> vkramskikh: Can you take over the meeting for a few minutes? My son just woke up. 14:05:32 <yujunz> Have we got contact with upstream maintainer? 14:05:33 <cardeois> oh no 14:05:42 <vkramskikh> krotscheck: sure 14:06:12 <vkramskikh> #topic Action followup: vkramskikh Swithc to babel-transform-runtime 14:06:30 <vkramskikh> so I've prepared the patch and it was merged 14:06:35 <vkramskikh> #link https://review.openstack.org/#/c/365728/ 14:06:45 <cardeois> Merged and working, good job vkramskikh 14:06:53 <krotscheck> Yeah, super bonus on that 14:06:54 <vkramskikh> so the bundle is now 24kb instead of 250kb 14:07:01 <krotscheck> yujunz: We have no contact yet. 14:07:12 <krotscheck> ...but what's an order of magnitude between friends ;) 14:07:49 <vkramskikh> #topic MVP Progress: Glance.imageList 14:08:02 <vkramskikh> if I'm correct, this was implemented and merged 14:08:08 <cardeois> yes it was 14:08:08 <krotscheck> That is correct. 14:08:28 <vkramskikh> good job folks :) 14:08:47 <krotscheck> Lots of churn on trying to figure out why those tests were failing :) 14:09:10 <cardeois> Yeah but now that's fixed other components will be done faster 14:09:35 <vkramskikh> #topic MVP Progress: other services 14:09:40 <cardeois> for neutron, I've started and will soon open a review. Trying to fix some cors issues right now 14:09:54 <vkramskikh> awesome! 14:09:59 <cardeois> I already have this review to share more code between services https://review.openstack.org/#/c/366222/ 14:10:34 <vkramskikh> do I understand it right - we've agreed that all the services listed in the etherpad are required for MVP? 14:10:56 <cardeois> I think so yes 14:11:06 <krotscheck> vkramskikh: Yes, the goal for MVP is "launch an instance with an image, network, and flavor" 14:11:19 <vkramskikh> ok, thanks 14:11:34 <vkramskikh> is anyone else working on some other servce? 14:11:45 <krotscheck> I'm working on nova, however it brought up an annoying bit about version detection and the keystone catalog 14:11:54 <krotscheck> So, some services can be registered with a specific version API. 14:12:04 <krotscheck> Others are registered with the root API, from which a version can be detected. 14:12:13 <krotscheck> The former requires auth. The latter doesn't. 14:12:34 <krotscheck> (example: http://nova-host/v2 vs http://glance-host/ 14:12:34 <cardeois> Yeah right, but the component name in the catalog has one entry per version (if multiple ones are supported) 14:13:11 <cardeois> So it's not trivial, but it's like there is 2 standards (the old one with specific version) and the new one with version detection 14:13:33 <krotscheck> Right. 14:14:00 <krotscheck> My thought is that I can extend the version detection algorithm to first query the 'configured' endpoint with no auth token, and if it gets a 401 try the parent. 14:14:14 <krotscheck> It's not optimal. 14:14:26 <cardeois> ok or should we assume for nova that we don't discover version and suppose the URL endpoint is correct? 14:14:40 <vkramskikh> I think it should be fine for MVP 14:14:50 <krotscheck> cardeois: Can we do that? We may not support that particular API microversion 14:15:31 <cardeois> I'm not sure but if there's a new version I think it will be called something like "novav2" instead of "nova" 14:16:21 <cardeois> I don't have a catalog entry right now, but I think that's the case for some components where I've seen 3 different components for the same type (volume) with 3 different names 14:16:30 <cardeois> each containing the version 14:16:45 <cardeois> like "volume", "volume_v2" etc (still not sure as I don't have the catalog) 14:17:28 <krotscheck> Yeah, exacly 14:17:35 <krotscheck> I'll play with it, see what I can come up with. 14:17:43 <cardeois> sure 14:17:55 <krotscheck> Should we be implementing keyList as well? Assign a key to an instance? 14:18:18 <cardeois> what's that? 14:18:30 <krotscheck> ssh key preloaded on the host 14:18:43 <cardeois> oh, mhh yeah that would be nice I guess 14:19:18 <krotscheck> Alright, let's put that in as a nice-to-have 14:19:34 <cardeois> sure 14:19:34 <krotscheck> The other thing we need for an MVP is decent documentation 14:20:22 <krotscheck> Which is the next topic. 14:20:30 <vkramskikh> #topoc MVP progress: Switch Keystone Configuration input to catalog entry. 14:21:41 <vkramskikh> oops 14:21:45 <vkramskikh> #topic Create wrapper class that takes clouds.yaml instance 14:21:58 <krotscheck> Right, those two go hand in hand 14:22:08 <krotscheck> No progress on my end. Anyone else want to volunteer for this? 14:22:09 <cardeois> Yeah so that's the main Openstack class right? 14:22:17 <krotscheck> Yep. 14:22:36 <krotscheck> First draft of that can just be a configuration reader, we can layer on the autoconfig logic in other patches 14:23:02 <cardeois> well I'd like to but I want to close neutron first, and I won't be able to start thoses tasks until next week or later 14:23:48 <krotscheck> That's fair. 14:24:00 <krotscheck> vkramskikh: Are you still focused on fuel-ui for newton? 14:24:24 <vkramskikh> krotscheck: yep, I'm still busy with Fuel, can't volunteer on this 14:24:32 <larainema> I would like to volunteer, but i didn't catch up all the patches these weeks :( 14:25:13 <krotscheck> larainema: The effort would be to replace the Test class in index.js with one called OpenStack, and to copy the configuration parsing from keystone.js into that class. 14:25:43 <krotscheck> Then, to change the keystone.js class to take a configuration instance much like the glance.js class does (slightly different format, see /tests/helpers/data/glance.js for an example. 14:26:33 <larainema> OK, i will first take it and I will ask questions if i didn't get it 14:26:34 <krotscheck> larainema: The overall reason is that a query to get the service catalog from keystone returns a specific data format (see test data for keystone), which we'd like to be the default data format for instantiating a service. 14:26:43 <krotscheck> larainema: Awesome, thanks! 14:26:50 * krotscheck is on a bouncer, feel free to ask :) 14:27:20 <vkramskikh> #action larainema implement OpenStack class which works with clouds.yaml 14:27:47 <vkramskikh> #topic MVP progress: Documentation 14:28:44 <krotscheck> Right, so we actually need our stuff to be understandable, right? 14:29:05 <krotscheck> We have library reference docs, but those aren't really as useful as narrative howto's. 14:29:42 <krotscheck> The first step of that is updating the Readme.md 14:30:09 <krotscheck> Which is pretty simple - Say: Here's what this is, our documentation lives Over There (tm), here's where you contribute, yay! 14:30:22 <krotscheck> That's blocked though because our docs jobs haven't landed yet. 14:30:24 <cardeois> Yeah that's easy I can do it if you want. 14:30:28 <krotscheck> Sorry 14:30:35 <krotscheck> The doc PUBLISH jobs haven't landed. 14:30:42 <krotscheck> #link https://review.openstack.org/#/c/346131/ 14:30:50 <cardeois> I'm really bad at writting documentation but this I can do 14:31:14 <cardeois> Why is this blocked? 14:31:43 <krotscheck> Honestly, I don't know. 14:31:54 <krotscheck> I need to talk to AJaeger about it when I get some time. 14:32:14 <cardeois> alright 14:32:27 <krotscheck> You can at least write the readme and set up a depends-on so it doesn't merge until we know where the docs will live. 14:33:01 <krotscheck> #action cardeois Write a better README.md file 14:33:08 <krotscheck> ^^ not to be confused with a better mousetrap 14:33:54 <krotscheck> afk, diaper 14:34:06 <vkramskikh> alright, I think we've already discussed Getting Started Documentation topic 14:34:18 <vkramskikh> #topic How to release documentation 14:35:24 <vkramskikh> yeah, we definitely need it, I don't know the whole process but AFAIR from eslint-config-openstack it includes some black magic jobs which publish new packages to npm 14:36:14 <vkramskikh> I think krotscheck can tell us a lot here, but he's AFK :) 14:36:27 <cardeois> Ok but what's the difference between what's your talking about and this https://review.openstack.org/#/c/346131/ ? 14:37:23 <vkramskikh> ohh, I think I was confused by the topic 14:37:37 <vkramskikh> I read it like we need docs for how to release the library 14:38:03 <vkramskikh> sorry, next topic then 14:38:09 <vkramskikh> #topic OSI Licenses 14:38:30 <vkramskikh> I've seen krotscheck today posted his concerns about React's license 14:39:08 <cardeois> what were his concerns? 14:39:09 <krotscheck> Right 14:39:21 <krotscheck> I was thinking "DOcumentation on how to release" 14:39:36 <krotscheck> betherly is actually an expert on that. 14:39:40 <krotscheck> But we've moved on. 14:40:05 <cardeois> ok let's maybe go back to this topic after the current one? 14:40:09 <krotscheck> So, I put my concerns on the react.js license to the dev list, and dims immediately forwarded it to the legal-discuss list 14:40:30 <vkramskikh> https://www.mail-archive.com/openstack-dev@lists.openstack.org/msg91713.html 14:40:33 <krotscheck> From what I know of the history, Google had some serious issues with the license, but then facebook modified it, and suddenly google was ok. 14:40:42 <krotscheck> So, it _could_ be fine. 14:41:31 <vkramskikh> BTW, fuel-ui is not the only openstacl project which uses react.js: https://github.com/openstack/tripleo-ui 14:41:39 <krotscheck> However, I want to make sure we cover our butts on this 14:42:04 <vkramskikh> yeah, let's wait for the answer 14:42:15 <krotscheck> Here's the link to the legal-discuss thread http://lists.openstack.org/pipermail/legal-discuss/2016-September/000418.html 14:42:47 <krotscheck> That's all I have on that. 14:43:11 <vkramskikh> ok, let's go to the previous topic then 14:43:12 <vkramskikh> #topic How to release documentation 14:44:10 <krotscheck> Ok, so releasing docs 14:44:19 <krotscheck> Or rather, "how to release" documentaiton 14:44:50 <krotscheck> A lot of this is already written, I just want to make sure the cores on the project go through and make sure they can read it. 14:45:11 <krotscheck> THe important thing to note is that using 'npm version' is NOT the right way to do it. 14:45:21 <krotscheck> The reason is really just a race condition. 14:46:03 <krotscheck> npm version will tag and push a tag, but it won't send up the corresponding patch for review. The way that zuul-cloner works, it results in trying to check out a sha that doesn't exist, and the whole thing fails. 14:46:27 <cardeois> oh right 14:46:29 <krotscheck> So we have to increment the version manually, then tag. 14:46:37 <krotscheck> (after the patch has landed. 14:46:41 <vkramskikh> where can we read it? 14:47:32 <krotscheck> betherly did an initial pass in this review https://review.openstack.org/#/c/356473/1/doc/source/releasing.rst 14:47:35 <cardeois> But can we still do tags with a patch? 14:48:23 <cardeois> Ok I remove my question, was answered by the review 14:48:44 <krotscheck> Righto 14:49:04 <krotscheck> #action krotscheck propagate https://review.openstack.org/#/c/356473/1/doc/source/releasing.rst to js-openstack-lib and js-generator-openstack 14:49:11 <krotscheck> Okies 14:49:14 * krotscheck is done 14:49:29 <yujunz-zte> A quick question. Why eslint-config-openstack skips version 3.x 14:50:03 <yujunz-zte> npm info eslint-config-openstack gives '2.0.0': '2016-06-02T19:09:41.954Z', 14:50:03 <yujunz-zte> '4.0.1': '2016-08-05T23:39:44.989Z' }, 14:50:17 <vkramskikh> #topic Open discussion 14:50:41 <krotscheck> yujunz-zte: Yes - so, that was because when we tried to release eslint-config-openstack, we realized that we had to land the version before tagging. 14:50:44 <vkramskikh> yujunz-zte: AFAIR there were some issues with the jobs like krotscheck descrbied above 14:50:53 <vkramskikh> so v3 was not released correctly 14:51:26 <cardeois> Little comment on functional-test. Jasmine runner doesn't output test results anymore. That's a bug since 2.5.0 that will soon be resolved. We can either let it like that or fix to version 2.4.x 14:51:31 <yujunz-zte> I thought we once wanted to align the version with eslint version 14:51:54 <krotscheck> yujunz-zte: Yes, we did. Infra didn't want to oblige us by rolling the tag back. 14:52:12 <yujunz-zte> OK... Let's wait for eslint to catch up 14:52:15 <krotscheck> cardeois: Oh, good to konw. Thanks 14:52:26 <krotscheck> Other thing: Did anyone notice that our coverage statistics are totally off? 14:53:10 <yujunz-zte> No, since when? 14:53:33 <krotscheck> I don't know since when, but there's symptoms. 14:53:41 <cardeois> well unit tests are not that bad. functional-test I'm not sure we should have coverage. I mean it's different as we can't handle exceptions like service is down or somthing 14:53:48 <krotscheck> The browser tests all report 100% coverage (0 lines) 14:53:57 <krotscheck> (I think( 14:54:24 <krotscheck> Unit tests report one thing in the console output, but istanbul check-coverage seems to test against a different set of values. 14:54:54 <krotscheck> To see that in action, try setting the failure threshold in istanbul.yml to just below what the console reports. 14:55:22 <cardeois> Also the "cover" directory gets pushed but is unreadable as links are broken. e.g http://logs.openstack.org/28/365728/2/check/gate-js-openstack-lib-nodejs4-npm-run-test/82370ab/cover/ 14:55:50 <krotscheck> Oh, fun fun. 14:55:51 <cardeois> oh ok I didn't noticed that. Will check 14:56:07 <krotscheck> Right. 14:56:13 <krotscheck> Example of 100% coverage http://logs.openstack.org/28/365728/2/check/gate-js-openstack-lib-nodejs4-npm-run-test/82370ab/cover/unit/browser/Chromium%2051.0.2704%20(Ubuntu%200.0.0)/ 14:56:36 <cardeois> It's broken because the logs.openstack.org seems to allow only index.html files but doesnt allow URLS liks: http://logs.openstack.org/xxx/index.html only http://logs.openstack.org/xxx/ will work 14:56:48 <cardeois> Oh right. 14:57:07 <krotscheck> That seems silly 14:57:13 <krotscheck> Ok, seems like we should just put a story up. 14:57:20 <cardeois> yeah 14:57:20 <krotscheck> https://storyboard.openstack.org/#!/story/2000717 14:57:23 <krotscheck> There ya go 14:57:32 <krotscheck> 3 minute warning, anything else? 14:57:41 <yujunz-zte> Any news for the coming summit? 14:58:07 * krotscheck is not attending. 14:58:16 * vkramskikh will attend 14:58:22 * cardeois will attend 14:58:30 <krotscheck> Is there still interest in an SDK hack session? If so I'll try to get us space. 14:58:41 <cardeois> I'd like to yes 14:58:41 * jprivard is not attending. 14:58:43 * yujunz-zte will attend 14:59:01 <cardeois> well except if we're only 2 interested. 14:59:05 <krotscheck> I've asked the API WG to push for an SDK program under the TC, peer with the other openstack projects 14:59:45 <cardeois> and did you get any status on that? 14:59:53 <vkramskikh> let's continue in #openstack-javascript - time is up 14:59:56 <krotscheck> Basically a "Yes we want this too" 14:59:57 <krotscheck> ok 14:59:58 <vkramskikh> #endmeeting