12:00:09 <robcresswell> #startmeeting horizon
12:00:10 <openstack> Meeting started Wed Jan  6 12:00:09 2016 UTC and is due to finish in 60 minutes.  The chair is robcresswell. Information about MeetBot at http://wiki.debian.org/MeetBot.
12:00:11 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
12:00:13 <openstack> The meeting name has been set to 'horizon'
12:00:27 <robcresswell> Anyone around?
12:00:35 <doug-fish> hi
12:01:13 <r1chardj0n3s> o/
12:01:14 <doug-fish> wow, small crowd!
12:01:30 <robcresswell> doug-fish: Heh, I was thinking that. I'll give it another minute or two then get started.
12:01:55 <r1chardj0n3s> everyone's still on vacation, lucky sods
12:02:28 <robcresswell> Ha
12:02:34 <robcresswell> Right, lets get started
12:02:50 <robcresswell> #link https://wiki.openstack.org/wiki/Meetings/Horizon#Agenda_for_2016-01-06_1200_UTC Agenda for this meeting
12:03:42 <robcresswell> #topic Notices
12:04:37 <tsufiev> hi there
12:04:44 <robcresswell> #info Midcycle is Feb 23 - Feb 25 in Hillsboro, Oregon. Check the wiki for info on travel, and add your name to the table if you're planning to attend.
12:04:56 <robcresswell> #linkhttps://wiki.openstack.org/wiki/Sprints/HorizonMitakaSprint
12:05:21 <robcresswell> #link https://wiki.openstack.org/wiki/Sprints/HorizonMitakaSprint
12:05:24 <robcresswell> THats better :p
12:05:29 <r1chardj0n3s> clicky!
12:05:44 <r1chardj0n3s> I see all the cool kids are already listed
12:05:49 <r1chardj0n3s> well except one
12:05:58 <r1chardj0n3s> (non-cool kid listed)
12:06:05 <r1chardj0n3s> [this could be a deep hole actually]
12:06:08 <doug-fish> robcresswell: tsufiev do you know if you'll be travelling to the mid cycle?
12:06:37 <tsufiev> doug-fish, there is a good chance, although I need to discuss budget approval once winter holidays in Russia are over
12:06:40 <robcresswell> doug-fish: Hoping to. Unsure if I'll get approval yet. Car, hotel and flights adds up :/
12:06:51 <doug-fish> cool
12:07:48 <robcresswell> I've updated the weekly bug report, but may add a couple more things to it. M-2 is in two weeks, roughly. As people start coming back we need to up our review pace a bit, Christmas is very disruptive.
12:07:53 <robcresswell> #link https://wiki.openstack.org/wiki/Horizon/WeeklyBugReport
12:08:19 <robcresswell> Not as much progress on Angular as I'd like, but still a lot of time this cycle left so lets keep at it.
12:08:38 <r1chardj0n3s> tsufiev: we should try to get that darned webdrivers thing off the bug report so robcresswell doesn't have to keep typing it in <wink>
12:08:55 <robcresswell> I think a lot of the code is ready, so I'll try and get more reviews going this week.
12:08:58 <robcresswell> heh :)
12:09:01 <tsufiev> r1chardj0n3s, well, it already has my +2 :)
12:09:34 <r1chardj0n3s> love your work!
12:09:50 <robcresswell> Another brief notice about reviewing; we've had a few issues recently with tests throwing errors, but not failing. See https://bugs.launchpad.net/horizon/+bug/1517704
12:09:51 <openstack> Launchpad bug 1517704 in OpenStack Dashboard (Horizon) "Test still passes even with tests failure" [Critical,New]
12:10:10 <r1chardj0n3s> yeah, I keep forgetting that :-(
12:10:48 <robcresswell> So reviewers, please briefly glance at unit test logs even if they pass. Alternatively, just run the tests locally and ensure there's no crap in the output. It'll be immediately obvious.
12:11:09 <robcresswell> That's all from me, and there's nothing else on the agenda.
12:11:18 <robcresswell> #topic Open Discussion
12:11:34 <tsufiev> robcresswell, do we need to do something about domain-scoped warnnings?
12:11:41 <robcresswell> Anything anyone wants to discuss?
12:11:44 <tsufiev> or is it just about some new warnngs?
12:12:06 <doug-fish> domain scoped warnings? is this a new bug?
12:12:38 <tsufiev> doug-fish, now, it�s the part of unit test glitches which don�t cause tests to fail
12:12:41 <tsufiev> *no
12:12:58 <doug-fish> I see
12:13:36 <robcresswell> The issue specifically in this bug report is that UTs can error, but not fail. I'm not entirely sure why. Normally I would say missing assertions, but some don't even seem to complete their assertions and still pass, if the error stops the UT getting to that stage.
12:13:51 <tsufiev> I�d like to step my with my usual portion of integration test patches :)
12:14:05 <tsufiev> robcresswell, I think that just some changes not yet properly covered with UT
12:14:09 <mrunge> o/
12:14:16 <r1chardj0n3s> Oh, a reminder that there's another Bug Day next week if everyone's up for it - I am going to take a day out of vacation for it :-)
12:14:26 <tsufiev> https://review.openstack.org/#/q/topic:bp/integration-tests-improvements-part1 - that�s a big chain of patches
12:14:53 <robcresswell> Oh, good point r1chardj0n3s
12:14:59 <robcresswell> Let me find the mail archive
12:15:46 <robcresswell> #link http://lists.openstack.org/pipermail/openstack-dev/2016-January/083224.html
12:16:05 <robcresswell> The proposed date is the 12th of January
12:17:03 <mrunge> sounds good
12:17:25 <tsufiev> btw I�m still on a vacation this week (which means that I�m either doing interesting things, or easy ones)
12:17:49 <robcresswell> tsufiev: Understood, I'll avoid pinging you
12:17:52 <robcresswell> :)
12:17:57 <doug-fish> tsufiev: Are you calling us easy? or interesting?
12:18:02 <doug-fish> :-)
12:18:03 <tsufiev> robcresswell, well, if it�s _interesting_ :)
12:18:07 <r1chardj0n3s> doug-fish: lol
12:18:35 <r1chardj0n3s> I will be on vacation again most of next week also but I won't be doing interesting *or* easy things on my vacation days :-P
12:18:36 <tsufiev> doug-fish, I meant specific pathes and reviews :)
12:18:42 <tsufiev> *patches
12:18:57 <tsufiev> hehe
12:20:17 <tsufiev> robcresswell, doug-fish: you may be interested in this patch https://review.openstack.org/#/c/263455/
12:20:33 <r1chardj0n3s> just on the angular side of things: there is movement, it's just slower than it has been previously. The UX team are doing their thing with the Swift interface, coming to terms with it and Swift in general. My angular rewrite of the current interface is already superior in a number of ways, even though it's not even at feature parity yet :-)
12:20:33 <betherly> re the bug day. Is there a specific time or just generally all day across the time zones?
12:20:48 <tsufiev> it should allow us to modify test jobs on gate side on our own, without infra team assitance
12:20:58 <robcresswell> betherly: Generally across all time zones
12:20:58 <tsufiev> learn that trick for Sahara devs
12:21:07 <r1chardj0n3s> betherly: it's the 12th of January wherever you happen to be
12:21:11 <betherly> awesome thanks robcresswell :)
12:21:18 <r1chardj0n3s> usually that means I kick it off in UTC+11
12:21:19 <tsufiev> r1chardj0n3s, nice!
12:21:38 <tsufiev> *learned trick from Sahara devs
12:21:42 <betherly> its in the calendar :) ill be around
12:21:47 <r1chardj0n3s> cool!
12:21:48 * tsufiev needs to get used again to his keyboard
12:21:48 <doug-fish> tsufiev: I'm looking at the patch you linked - I don't recall what kind of test related infra changes we've needed in the past?
12:22:02 <mrunge> I'm quite concerned about the size of angular patches
12:22:13 <betherly> almost ready to start pushing the ironic plugin so I will be more generally around soon! Wooooooo
12:22:15 <robcresswell> r1chardj0n3s: I think a lot of the angular work is a bit more stable nowadays, I meant more that the review pace is lacking a bit on our side. I may be projecting though :)
12:22:30 <r1chardj0n3s> mrunge: indeed, I've been trying to keep them under control, with incremental changes
12:22:37 <tsufiev> doug-fish, it is for modifying the gate environment - for example, capping the version of Firefox being installed at gate
12:22:45 <betherly> robcresswell: that sounds exciting :D
12:22:49 <r1chardj0n3s> perhaps we need to re-consider our stance on feature branches - but I'm not even sure how those work in OpenStack ;-)
12:22:56 <doug-fish> tsufiev: ah okay, got it
12:22:58 <mrunge> I mean, even a small feature like the images table became easily 5k lines of code and counting
12:23:05 <r1chardj0n3s> robcresswell: angular is scary to review :-/
12:23:08 <robcresswell> mrunge: One thing to keep in mind is that since there are a lot of new files, there is a *lot* of boilerplate in the form of code comments and licenses
12:23:08 <tsufiev> doug-fish, the idea is to make all changes in scripts at horizon repo, then just source them at gate
12:23:35 <r1chardj0n3s> mrunge: yep, it's like Diana's CSS megapatch that I asked her to break up into steps so it wasn't 3k lines of change
12:23:38 <mrunge> robcresswell, it's lots of code duplication as well
12:23:48 <betherly> r1chardj0n3s: tell me about it. I didn't do angular before openstack so the learning process had been fun lol
12:23:55 <r1chardj0n3s> mrunge: code duplication?
12:23:55 <mrunge> r1chardj0n3s, I was referring to .js files, not css
12:23:58 <robcresswell> mrunge: Yeah, I did ask that to be addressed at the summit, not sure if anything has come out of it yet.
12:24:13 <mrunge> nope, nothing came out
12:24:23 <r1chardj0n3s> betherly: yep, so actually you're ideal to review this stuff: if you don't understand what the code is doing, we need to be told so it can be documented better - or just written less "cleverly" :-)
12:24:30 <mrunge> comparison .js to .py code is at least a factor of 5
12:24:42 <r1chardj0n3s> (sometimes we software developers can get caught up in being too clever)
12:24:45 <robcresswell> r1chardj0n3s: Things like new workflows etc. I'm finishing create network right now, and there's a couple files where I've primarily just copied a s//g
12:24:49 <robcresswell> copied and *
12:24:57 <betherly> of course. I will definitely be doing more horizon reviews so I will focus in on the angular
12:25:06 <r1chardj0n3s> betherly: thanks!
12:25:07 <r1chardj0n3s> robcresswell: yep
12:25:10 <robcresswell> which isn't really ideal considering how angular directives are designed to be reused.
12:25:23 <r1chardj0n3s> robcresswell: copy-paste means you're using the correct patterns!
12:25:24 <r1chardj0n3s> :-)
12:25:32 <r1chardj0n3s> (I kid)
12:25:56 <betherly> theres got to be a way to create more theming and less duplication within the angular as well as just the styling
12:26:03 <r1chardj0n3s> the module files though, yeah, they're just copy-pasted
12:26:09 <robcresswell> I've no doubt you and rajat will tear it apart when I upload it r1chardj0n3s :)
12:26:23 <betherly> its working out how though with the size of whats being accomplished and therefore the amount of code :/
12:26:23 <r1chardj0n3s> robcresswell: I'm totes a nice reviewer
12:26:34 <betherly> haha
12:26:39 <tsufiev> mrunge, perhaps we need Angular code-generator written in Python ;)?
12:26:47 <mrunge> hahaha tsufiev
12:26:52 <r1chardj0n3s> tsufiev: you should do that!
12:27:10 <robcresswell> so tempted to action that and leave it written in stone
12:27:13 <r1chardj0n3s> (I think someone proposed that in Paris actually, though it was just Python-Javascript ;-)
12:27:27 <tsufiev> well, I think Angular directives could do better in terms of reducing boilerplate code
12:27:36 <mrunge> yes!
12:27:47 <r1chardj0n3s> tsufiev: I think they already are! the action lists ones in particular are great!
12:28:04 <robcresswell> Some parts are unavoidable, like the licenses and comments
12:28:08 <r1chardj0n3s> we will just create more as we see the patterns emerge
12:28:18 <mrunge> not sure if I still find the patches with lots of code looking duplicate or doubled
12:28:33 <r1chardj0n3s> the API interface files all look very, very similar, yes
12:28:33 * tsufiev curious how long did it take for Python table pattern to emerge...
12:28:55 <mrunge> tsufiev, that pattern was there since ever
12:28:57 <r1chardj0n3s> tsufiev: I was just about to point out the table directives we've also got ;-)
12:29:01 <robcresswell> Don't hold up Horizons table code as a shining example of good code :p
12:29:12 <tsufiev> haha )
12:29:17 <tsufiev> robcresswell, totally agree!
12:29:19 <r1chardj0n3s> implementing the new swift interface has been helped immensely with the table and action list stuff
12:29:20 <mrunge> hehe robcresswell
12:29:35 <r1chardj0n3s> Horizon's Python table code hurts my head :-(
12:29:51 <robcresswell> There is some good angular work. I think we need to reign in the scepticism a little, we've got good people doing good work and we should try to embrace that, IMO.
12:30:09 <r1chardj0n3s> I'm only concerned about hitting M with any new interfaces
12:30:29 <robcresswell> concerned that we won't get there? Or how to execute it?
12:30:48 <r1chardj0n3s> concerned the code won't land in time
12:31:04 <r1chardj0n3s> oh, also! the libraries updates!
12:31:14 <r1chardj0n3s> https://etherpad.openstack.org/p/horizon-libs
12:31:17 <r1chardj0n3s> #link https://etherpad.openstack.org/p/horizon-libs
12:31:18 <r1chardj0n3s> even
12:31:32 <robcresswell> #link http://lists.openstack.org/pipermail/openstack-dev/2016-January/083365.html
12:31:39 <r1chardj0n3s> so that's the big list of xstatic and we need to think about which ones we update
12:31:54 <r1chardj0n3s> I'm on call if we need help with that, especially if it's a pypi access issue
12:32:05 <mrunge> oh, btw, I came acress direct patches for Xstatic libraries
12:32:12 <mrunge> I think that was magic-search
12:32:17 <r1chardj0n3s> people are patching xstatic libraries?
12:32:28 <mrunge> yes, unfortunately yes
12:32:32 <r1chardj0n3s> wow
12:32:36 <robcresswell> So, I thought magic search was being pulled into Horizon?
12:32:39 <r1chardj0n3s> (also, ouch)
12:32:43 <robcresswell> Or was that a different lib.
12:32:46 <r1chardj0n3s> robcresswell: nah, we patch the crap out of it
12:32:52 <r1chardj0n3s> we should just vendor it though
12:33:04 <r1chardj0n3s> IIRC we talked a bit about this in Tokyo but didn't make a decision
12:33:18 <mrunge> https://review.openstack.org/#/c/263699/
12:33:20 <r1chardj0n3s> I *think* someone said they'd go and look at alternatives, but I guess that didn't happen
12:33:22 <robcresswell> Sure, I thought at the summit we decided to pull the useful bits into Horizon, or a Horizon-controller section
12:33:29 <robcresswell> Horizon-controlled*
12:34:18 <r1chardj0n3s> my memory is obviously hazy on what we decided :-(
12:34:22 <mrunge> I think we talked about magic-search being a piece of crap
12:34:31 <robcresswell> ha
12:34:35 <mrunge> and we were fine with forking that one
12:34:35 <r1chardj0n3s> mrunge: don't hold back there ;-)
12:34:56 <robcresswell> My recollection is we decided to pull it in
12:35:04 <mrunge> yes, sounds like that
12:35:10 <r1chardj0n3s> ok
12:35:30 <mrunge> biut https://review.openstack.org/#/c/263699/ is driven by magnum?
12:35:51 <mrunge> magnum ui to be precise
12:36:07 <robcresswell> Yeah, I believe magnum UI is broken atm due to an issue with magic search
12:36:23 <robcresswell> But I haven't looked into it enough to know if that solution is correct.
12:36:42 <mrunge> consensus at the summit was: we need something else
12:37:04 <robcresswell> mrunge: Lol, we seem to have 3 different ideas what was agreed at the summit.
12:37:39 <mrunge> robcresswell, iirc, we agreed on pulling it in or better: find something new
12:37:56 <mrunge> and when pulling in, we should rework most of it
12:37:58 <robcresswell> So in the last days meetup etherpad, there is a note to bring in magic-search and remove that requirement
12:38:09 <robcresswell> But it isn't owned by anyone.
12:38:16 <mrunge> hah
12:39:28 <robcresswell> Let's address that. I'll speak with rajat or matt later and see if there is time to work on pulling that in and removing that dependency
12:40:12 <robcresswell> There's no point overriding so much of it within Horizon
12:40:30 <mrunge> could you ask them to fix the issues (in terms of overriding)?
12:40:44 <mrunge> i.e. make our changes the default?
12:40:48 <r1chardj0n3s> we can't change upstream to match the Horizon needs, no
12:41:00 <mrunge> that's a better idea
12:41:14 <r1chardj0n3s> oh, it's a better idea, but upstream doesn't want our changes
12:41:20 <robcresswell> Yeah
12:41:23 <mrunge> iirc they already tried
12:41:31 <robcresswell> IIRC we override the entirety of the styling too
12:41:32 <mrunge> and they didn't accept changes
12:41:49 <robcresswell> Right
12:43:31 <robcresswell> So upstream isn't an option.
12:43:52 <robcresswell> And we're already overriding half the JS and all of the styling.
12:43:58 <robcresswell> How big is the lib?
12:44:10 <mrunge> 300 lines of code?
12:44:38 <mrunge> 425 lines
12:44:56 <robcresswell> So its feasible to just have that within Horizon, no?
12:45:10 <mrunge> ... creating a fork
12:45:21 <mrunge> just to be clear.
12:45:46 <mrunge> shouldn't we name it then differently?
12:45:55 <mrunge> or something like that
12:46:02 <r1chardj0n3s> we already have something in a vendor directory, right?
12:46:24 <mrunge> since our version has nothing to do with the original version, other than the name
12:46:38 <robcresswell> It is a fork, but since we're only using a subsection of it, I'm not sure it matters. It would just become a part of Horizons core and we can adapt it fit the openstack ui's properly.
12:46:46 <r1chardj0n3s> I think it'd be best to retain the name
12:46:58 <robcresswell> At the moment its externality is more hindrance than help.
12:47:20 <r1chardj0n3s> same name == continuity and some credit to the original authors
12:47:38 <mrunge> same name, but that's all
12:47:49 <r1chardj0n3s> horizon/static/horizon/lib is where we currently have the vendored thing, I believbe
12:48:04 <r1chardj0n3s> no, the functionality is largely the same still too, as is the *idea*
12:48:04 <mrunge> and we could give credit to the original author anyways
12:48:47 <r1chardj0n3s> but whatever, I'm not going *argue* for it :-)
12:48:53 <mrunge> hehehe
12:48:59 <robcresswell> Hmm
12:49:24 <mrunge> ugh, I thought we had removed *all* copied code
12:49:28 <robcresswell> r1chardj0n3s: Would you prefer we maintain the external package and override it?
12:49:30 <mrunge> but then we have this: https://github.com/openstack/horizon/blob/master/horizon/static/horizon/lib/jquery/jquery.bootstrap.wizard.js
12:49:42 <r1chardj0n3s> robcresswell: nono, we should vendor it
12:49:54 <r1chardj0n3s> mrunge: yes, the other vendored thing
12:50:07 <mrunge> :-/
12:51:23 <robcresswell> Separate issue, but that should be external. I don't think it even carries any Horizon specific code.
12:51:36 <robcresswell> Judging from the patch history, that is.
12:51:47 <r1chardj0n3s> I don't know the history of that, might be pre-xstatic?
12:51:59 <robcresswell> I think it is
12:52:10 <mrunge> yepp, me too
12:52:28 <robcresswell> In my head magic search would just be adopted as a core directive in Horizon, and we merge our multitude of overrides and customisations with it
12:52:56 <robcresswell> So we end up with a 400 line "hz-magic-search" or similar.
12:53:38 <mrunge> I would argue: if we're changing the magnitude on it, we might have it internal
12:53:51 <r1chardj0n3s> yep
12:53:55 <mrunge> but then we should make it clear it's changed
12:53:59 <robcresswell> #action robcresswell Investigate vendoring magic search
12:54:02 <r1chardj0n3s> +1 robcresswell
12:54:16 <r1chardj0n3s> +bus robcresswell
12:54:40 <robcresswell> Excellent
12:55:11 <robcresswell> Back to the XStatic packages as a whole, it would be excellent if people could look into individual lib upgrades and see if they are necessary
12:55:58 <robcresswell> We don't need to update-for-the-sake-of-updating, but some of the packages are >1 year out of date IIRC, which is about a rather long time in web terms
12:56:52 <robcresswell> I know hurgleburgler already has workarounds for Bootstrap issues, so that would be a good one to update.
12:56:54 <mrunge> I would think we should do that asap, since it bears the risk to break us
12:57:44 <robcresswell> mrunge: Agreed, the sooner we update the sooner we can find issues. I'll be working on it, and I believe Rajat already has some patches out.
12:58:26 <tsufiev> robcresswell, shouldn�t XStatic packages automatically consume the freshest version of corresponding libjs-* system package?
12:59:01 <r1chardj0n3s> tsufiev: xstatic packages don't consume system packages
12:59:25 <r1chardj0n3s> system packagers replace xstatic contents with their own when they package xstatic for their systems
12:59:28 <mrunge> r1chardj0n3s, they should
12:59:32 <tsufiev> hmm, I recall I read something like that in our recent doc about XStatic
12:59:41 <robcresswell> We're about at time, so we can continue in #openstack-horizon
13:00:26 <robcresswell> If anyone has questions with xstatic packaging or bug day, please reply on the mailer. It's good to keep the discussion going there for all to see.
13:00:31 <robcresswell> Thanks all!
13:00:35 <r1chardj0n3s> o/
13:00:36 <robcresswell> #endmeeting