15:04:03 <e0ne> #startmeeting horizon 15:04:05 <openstack> Meeting started Wed Jun 13 15:04:03 2018 UTC and is due to finish in 60 minutes. The chair is e0ne. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:04:06 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 15:04:08 <openstack> The meeting name has been set to 'horizon' 15:04:22 <e0ne> hi everybody 15:04:40 <Liuqing> \o 15:04:46 <e0ne> let's wait few minutes more until more people join us 15:04:52 <ifat_afek> Hi :-) 15:04:56 <Liuqing> ok 15:04:59 <Alon> Hello :) 15:05:52 <e0ne> #link https://wiki.openstack.org/wiki/Meetings/Horizon 15:05:58 <amotoki> hi 15:06:41 <e0ne> courteous ping for rdopiera 15:06:46 <betherly_> o/ 15:06:54 <betherly_> sorry im late folks! overrunning other meeting 15:07:11 <rdopiera> o/ 15:07:12 <e0ne> betherly_: don't worry. we just started 15:07:15 <betherly_> ( rdopiera in same meeting so im sure he will be joining now) 15:07:34 <e0ne> #topic notices 15:08:06 <e0ne> we reached rocky-2 milestone 15:08:22 <e0ne> there a bit more than 1 month until rocky-3 15:08:24 <e0ne> #link https://releases.openstack.org/rocky/schedule.html 15:08:54 <amotoki> Rocky-3 is schedule at the week of Jul 23 15:09:05 <amotoki> *scheduled* 15:09:15 <e0ne> amotoki: thanks:) 15:09:34 <e0ne> if somebody wants to get some feature landed in Rocky, it should be merged until rocky-3 cut 15:09:52 <e0ne> of course, there is a feature exception procedure 15:10:22 <e0ne> that's all updates from my side 15:10:24 <amotoki> if your change affects horizon plugins, you need to land it one or two week before Rocky-3. 15:10:49 <e0ne> amotoki: good point. we need to add this to release schedule 15:11:12 <e0ne> #Action items from the previous meeting 15:11:21 <amotoki> topic? 15:11:33 <e0ne> #topic Action items from the previous meeting 15:12:00 <e0ne> I had a busy week, so my mail about horizonlib was sent just before the meeting :( 15:12:14 <e0ne> I hope to collect some feedback until PTG 15:12:47 <e0ne> #topic Community Goals 15:13:05 <e0ne> horizon-sdk :) 15:13:09 <rdopiera> and horizon_lib 15:13:16 <amotoki> hehe 15:13:17 <rdopiera> why not just leave it as horizon? 15:13:44 <amotoki> we can rename the main repo to openstack-dashboard :) and :( 15:13:47 <rdopiera> or get away from the tribal codenames alltogether and calld it openstack_dashboard_lib 15:13:47 <e0ne> rdopiera: personally, I don't care a lot how will it be called 15:14:07 <amotoki> perhaps we need to discuss what is "horizon" 15:14:36 <Alon> What is "Horizon" ? :) 15:14:42 <amotoki> we are joking aside 15:14:42 <rdopiera> I think that originally it was supposed to be the horizon-lib 15:14:56 <rdopiera> but then grew a little bit heavy 15:15:07 <e0ne> amotoki, rdopiera: do you really want to spend the rest of meeting arguing about the name of something what is not really started yet? :) 15:15:22 <amotoki> of course, no 15:15:30 <e0ne> just kidding 15:15:33 <rdopiera> e0ne: what is the alternative? ;-) 15:15:45 <amotoki> :p 15:16:14 <rdopiera> in any case, let's leave that for the e-mails 15:16:16 <e0ne> I remember, we spent about 4 moth when we were choosing name for python-brick-cinderclient-ext 15:16:54 <e0ne> so, it would be good topic to discuss it with some drinks on PTG:) 15:16:59 <amotoki> ironic-cinder integration? 15:17:14 <e0ne> amotoki: it was one of the names 15:17:41 <e0ne> nevermind, it's not a cinder meeting 15:17:52 <e0ne> let's continue according our schedule 15:18:17 <e0ne> many thanks to amotoki for the hard work on mox=>mock migration! 15:18:47 <e0ne> #link https://etherpad.openstack.org/p/horizon-unittest-mock-migration 15:18:49 <amotoki> the progress is good enough. 3 or 4 patches are under review 15:19:19 <e0ne> I'll review them later tonigh 15:19:20 <amotoki> the only one test is remaining. it is in openstack_auth, but it is a giant. 15:19:33 <Alon> e0ne: "Just saying" - I want to talk about Plugins/Angular/React, hope you'll have time for it in your schedule 15:19:41 <e0ne> and will take a look on openstack_auth/tests/unit/test_auth.py earlu next week 15:20:14 <amotoki> Alon: hopefully we can discuss your topic in "open dsicussion" in the agenda 15:20:14 <e0ne> Alon, ifat_afek: sure, we've got few topics left on the schedule 15:20:52 <e0ne> I'm going mark 'Enable mutable configuration' goal as not related to horizon 15:20:58 <e0ne> #link https://governance.openstack.org/tc/goals/rocky/enable-mutable-configuration.html 15:21:20 <e0ne> I think, we're OK to get it handled by mod_wsgi/uwsgi 15:21:37 <amotoki> e0ne: I am okay to mark it unrelated for horizon from oslo.config perspective 15:21:39 <e0ne> we can argue on it in my patch when it'll be reade 15:22:01 <amotoki> I am not sure mutable config is common in usual we applications. 15:22:10 <e0ne> amotoki: +1 15:22:53 <amotoki> e0ne: which patch is in your mind by "my patch"? 15:23:21 <amotoki> a patch in the governance repo? 15:24:04 <e0ne> amotoki: I suppose we should propose some patch to gevernance as it was before 15:24:18 <amotoki> e0ne: ack 15:24:25 <e0ne> I'll check it 15:24:51 <amotoki> the progress is tracked by a story in the storyboard. 15:25:05 <amotoki> e0ne: I will let you know the url later 15:25:34 <e0ne> #link https://storyboard.openstack.org/#!/story/2001545 15:26:05 <e0ne> amotoki: do you have something more on this topic? 15:26:14 <amotoki> nothing from me 15:26:51 <e0ne> ok, I'm skipping 'horizon release model' topic, let's get more feedback first 15:26:59 <e0ne> #topic Improve Horizon Testing 15:27:19 <e0ne> we removed nose test runner from django last week! 15:27:53 <e0ne> also intial selenium job is fixed and works in non-voting mode now 15:28:10 <e0ne> integration tests fixes are in progress 15:28:37 <e0ne> some people from at&t volunteered to help us with it 15:28:51 <amotoki> how can we track the progress in integration test fixes? 15:29:21 <amotoki> do we need to check detail CI results? 15:29:28 <e0ne> amotoki: I'll mark such tests with specific gerrit topic and add it to the agenda 15:29:38 <e0ne> amotoki: we don't have CI for it now:( 15:29:45 <e0ne> I'll propose patch this week 15:30:01 <amotoki> thanks. sounds fair 15:30:55 <e0ne> and last, but not least, we tried to not break any plugin during this effort 15:31:06 <e0ne> I hope, everything went good 15:31:13 <amotoki> FYI: some horizon plugins specify the test runner explicitly http://codesearch.openstack.org/?q=django_nose.NoseTestSuiteRunner&i=nope&files=&repos= 15:31:35 <e0ne> amotoki: thanks 15:31:41 <e0ne> #link http://codesearch.openstack.org/?q=django_nose.NoseTestSuiteRunner&i=nope&files=&repos= 15:31:52 <amotoki> perhaps sahara and murano dashboards can eaisly migrated. 15:32:00 <e0ne> they requires more work due to integration tests included in their repo 15:32:17 <amotoki> watcher-dashboard py35 with django20 job is now broken. I am contacting the watcher team now. 15:32:25 <e0ne> amotoki: we need to remove nose-exclude plugin from them 15:32:43 <e0ne> #topic Django 2 support 15:32:45 <amotoki> more nose stuffs can be removed 15:32:53 <e0ne> amotoki: :) 15:33:25 <amotoki> I can share some updates on django 2.0 15:33:27 <rdopiera> eww 15:34:05 <amotoki> g-r and u-c in python3 were updated last week to consume django 2.0 15:34:26 <amotoki> so far 22 or 23 of 29 horizon plugins support django 2.0 15:34:36 <e0ne> cool 15:34:42 <amotoki> the progress is tracked at https://etherpad.openstack.org/p/django20-support 15:35:10 <amotoki> we have three official repos which are broken by django 2.0 15:35:26 <amotoki> UI of murano, monasca and watcher 15:35:46 <amotoki> mruano-dashboard team has found a way today 15:35:57 <amotoki> I am contacting the watcher team. 15:36:07 <amotoki> I haven't contacted the monasca team 15:36:24 <amotoki> that's the current status 15:36:31 <e0ne> amotoki: thanks for update 15:37:05 <e0ne> #topic Open Discussion 15:37:23 <amotoki> Alon: you around? now your turn 15:37:28 <e0ne> Alon, ifat_afek we can discuss react now 15:37:35 <Alon> So... 15:38:02 <Alon> Our plugin (Vitrage) and probably most of the others were coded with Angular 1.X 15:38:49 <Alon> I believe that the Horizon needs a big push to some better technologies, because the JS world changed a lot in the last 5 years 15:39:07 <e0ne> Alon: in general, I agree with you 15:39:23 <Alon> The most known libraries today are: Angular (version 6), React, and VueJS 15:39:28 <e0ne> Alon: but we don't have enough resources for it 15:39:38 <Alon> I would like to ask you a question... 15:40:01 <Alon> Does anyone wants to maintain a COBOL open source library ? 15:40:11 <Alon> Waiting... 15:40:32 <ifat_afek> No ;-) 15:40:42 <rdopiera> Does anybody want to rewrite a COBOL open source library? 15:40:47 <e0ne> :) 15:41:01 <e0ne> angularjs 1.x is still maintained 15:41:24 <Alon> I think this is the reason that anyone don't like to maintain or create new plugins for Horizon 15:41:25 <rdopiera> if we start rewriting Angular to React now, we will end up with half of code in Angular, half in React, and nobody knowing how to fix it 15:41:47 <rdopiera> Alon: the same argument was presented for using Angular in the first place 15:42:00 <Alon> e0ne: It's still maintained, but there are few developers using it 15:42:06 <rdopiera> Alon: what new framework will appear there next year? 15:42:12 <e0ne> rdopiera: :) 15:42:38 <Alon> Angular, React, Veu - they all libraries/frameworks of JS 15:42:42 <amotoki> i think the point is whether we need to provide components like tables as common components 15:42:53 <e0ne> amotoki: +1 15:43:01 <amotoki> tables, workflow or others. 15:43:02 <rdopiera> the point is who is going to do it 15:43:07 <Alon> I think we need to let the developer choose his own, by his capabilities 15:43:30 <rdopiera> Alon: fine, as long as they will also maintain it indefinitely by themselves 15:43:34 <amotoki> apart from that, any plugin developers can use any JS framework they want 15:43:36 <Alon> Is adding library (js code) to Horizon, is so complicated ? 15:43:55 <Alon> amotoki: That's interesting 15:44:12 <e0ne> I agree with amotoki 15:44:26 <rdopiera> you can write plugins in cobol on cogs 15:44:28 <e0ne> but somebody has to maintain xstatic repos too 15:44:42 <Alon> What do you think, If I'll do an "Hello World" to Horizon with the latest React ? is this possible ? 15:45:01 <e0ne> rdopiera: we need horizon-fortran-sdk 15:45:17 <rdopiera> e0ne: visual basic 15:45:19 <amotoki> Alon: It can be from my limited knowledge on JS 15:45:32 <Alon> VMWare :) why openstack 15:45:50 <Alon> But seriously... 15:46:02 <amotoki> visual studio now supports k8s 15:46:06 <amotoki> just kidding 15:46:18 <rdopiera> Alon: as long as you are ready to maintain all the code and the packages with the dependencies, choose whatever works for you 15:46:25 <Alon> Maybe we don't understand the maintenance issue 15:46:31 <e0ne> I don't want to block plugin development by restricting libs usage 15:46:32 <Alon> can you elaborate ? 15:46:53 <e0ne> rdopiera: that what I was going to say 15:46:58 <rdopiera> Alon: someone has to package it all, and someone has to update the packages, especially when there are security issues 15:47:14 <rdopiera> Alon: and no, just using npm doesn't work 15:47:21 <e0ne> :) 15:47:33 <e0ne> xstatic-* packages are required 15:47:37 <ifat_afek> rdopiera: And is it all done today, automatically, for the existing vitrage-dashboard? 15:47:46 <rdopiera> ifat_afek: no idea 15:47:57 <Alon> Who's maintain all other XStatic packages ? 15:47:57 <amotoki> ifat_afek: what do you mean by "it" 15:47:58 <rdopiera> never heard about that plugin 15:48:10 <rdopiera> Alon: that's the question we are asking 15:48:38 <e0ne> oops https://github.com/openstack/vitrage-dashboard/tree/master/vitrage_dashboard/dashboard/static/vendor 15:48:48 <e0ne> #link https://github.com/openstack/vitrage-dashboard/tree/master/vitrage_dashboard/dashboard/static/vendor 15:49:06 <rdopiera> they are going to have fun getting that into Debian :) 15:49:13 <rdopiera> or any reasonable distro, really 15:49:16 <ifat_afek> amotoki, rdopiera: We have a vitrage-dashboard plugin that is already working, for 2.5 years now. So we are trying to understand if and how you maintain it these days, and what will be changed if we start using react 15:49:17 <e0ne> I'm afraid, that we need to fix it 15:49:21 <amotoki> re: xstatic package, we need to consider two compelling perspectives: the one is pure JS world and the other is packaing in existing distros 15:49:46 <amotoki> ifat_afek: see my above comment 15:50:05 <amotoki> npm works for developers and operators who installs JS via npm 15:50:22 <rdopiera> we have some xstatic docs 15:50:26 <e0ne> ifat_afek: I don't remember all details, butt here was somthing licence-related to have minified js files in the repo 15:50:35 <Alon> I think I need to make some homework, maybe some emails with one of you, to understand the develop & maintaining 15:50:36 <amotoki> but it conflicts with current major distros 15:50:48 <e0ne> amotoki: +1 15:51:01 <rdopiera> #link https://docs.openstack.org/horizon/latest/contributor/contributing.html#javascript-and-css-libraries-using-xstatic 15:51:01 <e0ne> Alon, ifat_afek: I can help you with it 15:51:09 <Alon> If I will create React xstatic package for Vitrage, is that enough ? 15:51:35 <amotoki> Alon: ifat_afek: your point is fair enough. we need to share backgrounds and motivations more 15:51:39 <rdopiera> Alon: generally, distros such as Debian will not agree to package and carry anything that has generated or duplicate files inside 15:51:52 <e0ne> Alon: it would be good for begining 15:51:56 <rdopiera> Alon: because then they have no way to track it all for security pdates 15:52:00 <rdopiera> updates 15:52:10 <e0ne> let me try to summarise our discussion 15:52:22 <Alon> It's facebook code, I think that it secured enough :) 15:52:32 <e0ne> Alon: nope 15:52:33 <rdopiera> Alon: you think wrong 15:53:03 <e0ne> 1) horizon team are ok if plugins will use some other JS libs/frameworks with is not used by horizon itself 15:53:24 <e0ne> 2) plugin teams should maintaint xstatic-* repose by theirself 15:54:02 <e0ne> 3) horizon team should update docs and educate plugin developers how to work and maintain xstatic-*packages 15:54:08 <e0ne> did I miss something? 15:54:51 <Alon> Last question: What do you think is my next step, in order to start with my React-Horizon POC ? 15:55:29 <amotoki> I think we can add "4) horizon plugins can use other JS libs theoretically" 15:55:34 <rdopiera> Alon: I think you should start by reading packaging guidelines for Debian and Fedora, for example. 15:55:45 <e0ne> Alon: you can share PoC somewhere and I'll help you how to proceedd with all xstatic stuff 15:56:11 <Alon> rdopiera: In order to create the needed xstatic package ? 15:56:25 <Alon> e0ne: Thanks, that will be great ! :) 15:56:46 <e0ne> Alon, rdopiera: and remove 'vendor' dir from your package 15:56:55 <amotoki> we seem to bedicsussing two things mixedly: horizon plugins with non-AngularJS (ver1) and xstatic topic 15:57:22 <e0ne> amotoki: +1 15:57:27 <e0ne> 3mins reminder 15:57:57 <rdopiera> Alon: you don't *have* to use xstatic, you can come up with your own solution, as long as you are able to meet those guidelines 15:58:08 <amotoki> perhaps we can start from a horizon plugin with other JS libs (including react, angular 2+ or others) 15:58:53 <amotoki> xstatic topic can be a follow-up dicsussion 15:58:57 <Alon> OK, I'll read it later slowly to understand better 15:59:13 <e0ne> amotoki: I thinks, I have to start a conversation in the openstack-dev@ ml 15:59:25 <amotoki> Alon: we can discuss it in #-horizon and the dev list. 15:59:32 <e0ne> we're out of time:( 15:59:48 <e0ne> we can continue discussion in #openstack-horizon 16:00:00 <e0ne> thanks everybody. see you next week! 16:00:00 <amotoki> many folks have different point of views 16:00:06 <e0ne> #endmeeting