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