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