20:00:04 <robcresswell> #startmeeting horizon
20:00:05 <openstack> Meeting started Wed Apr 13 20:00:04 2016 UTC and is due to finish in 60 minutes.  The chair is robcresswell. Information about MeetBot at http://wiki.debian.org/MeetBot.
20:00:07 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
20:00:10 <openstack> The meeting name has been set to 'horizon'
20:00:21 <matt-borland_> o/
20:00:23 <hurgleburgler> (◠‿◠✿)ノ
20:00:36 <bpokorny> \o
20:00:44 <robcresswell> o/
20:00:49 <matt-borland_> are you left-handed bpokorny?
20:00:54 <rhagarty> o/
20:01:11 <bpokorny> I forgot which, let me check :)
20:01:17 <bpokorny> \o/
20:01:23 <matt-borland_> lol
20:01:25 <bpokorny> Ambidextrious
20:01:43 <tsufiev> O/
20:02:04 <krotscheck> ¯\_(ツ)_/¯
20:02:08 <robcresswell> Couple of notices to begin with
20:02:16 <robcresswell> #topic Notices
20:02:40 <robcresswell> Gate stability should be back to normal levels, barring a couple of mischeivous integration failures
20:02:51 <matt-borland_> yey!!! thanks :) :)
20:03:08 <robcresswell> We had a string of issues last week; literally 4 independent gate breaking issues in a row.
20:03:35 <tsufiev> Row of misfortune
20:03:48 <robcresswell> If there are any further issues, please ping me and let me know so I can look into it.
20:03:57 <tsufiev> As if it was waiting for us to release :)
20:03:59 <robcresswell> #info Gate stability back to normal levels
20:04:06 <robcresswell> The second item is
20:04:14 <robcresswell> #link https://www.openstack.org/summit/austin-2016/summit-schedule/global-search?t=Horizon%3A
20:04:24 <robcresswell> This is likely going to be the final summit schedule
20:05:08 <robcresswell> I've transferred most of the big discussion points and etherpad links to each one
20:05:45 <robcresswell> If there's any mistakes or missing info, let me know.
20:06:09 <robcresswell> Thats all from me, and the agenda is open.
20:06:15 <tsufiev> robcresswell: btw, we tentatively fixed mischievous integration issues, https://review.openstack.org/#/c/305163/5
20:06:22 <robcresswell> #topic Open Discussion
20:06:24 <krotscheck> Infra is currently synchronizing new npm mirrors. They'll go into rotation early next week, which may add short-term instability in the gate, until the caches warm up.
20:06:39 <tsufiev> A couple of more rechecks, and we'll be more confident
20:06:54 <robcresswell> Thanks tsufiev
20:07:07 <robcresswell> krotscheck: Thanks for the heads up
20:07:19 * david-lyle ended up on the wrong side of a net split
20:07:41 <robcresswell> I think I info'd and link'd appropriately david-lyle :)
20:08:01 <david-lyle> just reading the log :)
20:08:21 <krotscheck> Upside: Leftpad won't take us down anymore :)
20:08:32 <tsufiev> I'd like to remind about renaming AVAILABLE_REGIONS renaming couple of patches
20:08:47 <david-lyle> tsufiev: link?
20:08:51 <tsufiev> If we're to fix it, the sooner in cycle - the better
20:08:56 <tsufiev> https://review.openstack.org/#/c/224756/
20:09:01 <tsufiev> david-lyle: ^^^
20:09:33 <david-lyle> wow
20:10:00 <david-lyle> you're renaming the form fields too?
20:10:07 <tsufiev> Yeah, some discussion may be... unavoidable :)
20:10:18 <david-lyle> :)
20:10:26 <tsufiev> Yes - to prevent further misunderstandings
20:10:26 <david-lyle> will use the appropriate medim
20:10:29 <david-lyle> *medium
20:11:15 <tsufiev> Sure, gerrit will fit it better
20:12:03 <robcresswell> krotscheck: Re: ESLint. What are your thoughts when two projects using eslint-config-openstack have opposing rules? Does eslint dictate the winner? Do we carry the warning and ignore it? Or does eslint do neither?
20:13:02 <robcresswell> It seemed like Ironic UI and Horizon may have different styles regarding variable definition, for example (was trying to follow along with IRC)
20:15:21 <krotscheck> robcresswell: I'm not certain in which context that would come up? When would eslint be run against two projects' code bases simultaneously?
20:16:17 <robcresswell> krotscheck: Not at runtime, I meant with regards to which rules are carried by eslint-config-openstack
20:16:57 <krotscheck> robcresswell: The extending configuration can override anything in the extended config.
20:17:27 <robcresswell> So we'd just disable any rules we didnt agree with, and update the rest
20:17:49 <krotscheck> robcresswell: The hope is that enough of the horizon team is on board of any rules that land, and that you remain engaged in maintaining the rule set.
20:18:02 <krotscheck> robcresswell: See-> Hacking
20:18:08 <krotscheck> Also, see-> pep8
20:18:29 <robcresswell> Understood
20:18:33 <krotscheck> Having big fights about code style is a waste of time. It's better to be consistent globally, so we can argue about things that matter.
20:19:32 <robcresswell> That's true, but also easier to say when a one line rule change for you means a 500 line patch for us. Thats an exaggeration, but thats where I'm coming from. I'll make sure we stay involved in the rule reviews.
20:19:50 <robcresswell> Easier than upgrading and pushing back later one.
20:20:37 <matt-borland_> global consistency can be overapplied
20:21:33 <robcresswell> I can see the motivation though, openstack is bit of a pain to move across due to inconsistency. JS in one project can be a totally different style to JS in another, which just slows cross project work.
20:23:02 <tyr_> are there other JS projects in openstack beyond Ironic UI and Horizon?
20:23:26 <robcresswell> I don't know if you count the plugins as separate projects
20:23:56 <robcresswell> Because in that sense, yes, there are at least 3 or 4 Horizon JS plugin repos
20:24:12 <robcresswell> there's also the app catalog?
20:27:19 <matt-borland_> quiet room
20:27:39 <robcresswell> Yep, if nobody has anything they want to discuss we can call it early.
20:27:45 <hurgleburgler> wait
20:27:45 <hurgleburgler> I did
20:27:49 <robcresswell> go ahead
20:27:58 <hurgleburgler> Right now, in our markup
20:28:07 <hurgleburgler> we don't have a general naming convention for classes
20:28:15 <hurgleburgler> some of them are underscored, dashed or camelcased
20:28:33 <tsufiev> +1 for dashes
20:28:43 <hurgleburgler> makes it really difficult to go in and brand things, cause you have to go back and forth a lot to see which naming convention was used
20:28:47 <hurgleburgler> I've been changing everything to dashes :)
20:28:54 <hurgleburgler> matches bootstrap's convention
20:28:58 <hurgleburgler> I recently put up a patch
20:29:13 <hurgleburgler> and ducttape_ asked that we possibly deprecate the old class name
20:29:20 <robcresswell> The issue mentioned the other day was that changing classes will break custom selectors in JQuery etc
20:29:25 <hurgleburgler> #link https://review.openstack.org/#/c/300691/
20:29:31 <hurgleburgler> just wondering what the take on it was
20:29:37 <hurgleburgler> I've just been changing them with my other patches
20:29:56 <tsufiev> robcresswell: and custom js code in plugins
20:29:57 <david-lyle> for anyone who's got a style built on the existing names, you're creating a great deal of work
20:30:00 <TravT> i'd prefer something like PIE-chart_uSAGE
20:30:18 <hurgleburgler> TravT ಠ_ಠ
20:30:22 <hurgleburgler> LOL
20:30:29 * TravT ducks and hides
20:30:40 <hurgleburgler> I'd like to clean it all up … but I"m open for any plan of attack for that
20:31:02 <hurgleburgler> Most of the time, I completely rewrite the markup, so retaining the old class names is moot
20:31:19 <david-lyle> oh, even better
20:31:48 <robcresswell> My thought was to list the renames in release note. if you go through specifically renaming pie_chart_usage to pie-chart-usage, then a one line note is a lot better than half an hour of an engineer yelling at his CSS and punching his monitor.
20:32:01 <hurgleburgler> in those cases, if you've created a theme, then your custom css should be inherited cleanly
20:32:05 <tsufiev> hurgleburgler: if you write a letter to ML, you'll hear a lot of opinions ;)
20:32:20 <tsufiev> Mostly from plugin devs
20:32:40 <TravT> hurgleburgler: you'll need to write a migration script for everybody
20:32:49 <TravT> it will need to handle all the cases
20:32:57 <tsufiev> sed script, omg
20:33:00 <hurgleburgler> ಠ▃ಠ
20:33:06 <robcresswell> Generally if you're using theme variables you have less work, not more, with regards to CSS maintenance.
20:33:32 <tsufiev> robcresswell: how many plugins do use them?
20:33:58 <hurgleburgler> The pie charts?  Or any custom js?
20:33:59 <tsufiev> I guess time to start evangelizing it, meet the people
20:34:00 <robcresswell> tsufiev: Most of them, because most plugins just use the Horizon templates.
20:34:12 <tsufiev> Hmmm...
20:34:25 <robcresswell> and most of the angular plugins are also up to date
20:34:43 <hurgleburgler> angular uses their own pie charts
20:34:48 <hurgleburgler> donut charts*
20:34:59 <robcresswell> in that sense not much changes, if you've already got a theme in variables, then it will just clean itself up as hurgleburgler works
20:35:11 <robcresswell> I think it becomes more difficult re: custom jquery though
20:35:19 <robcresswell> hence the release note idea
20:35:37 <robcresswell> Because if you're doing any form or chart manipulation, that would just stop functioning
20:35:42 <tsufiev> Anyways, some preliminary warning should be made
20:36:30 <hurgleburgler> I can add release notes and append to it as I go, when its needed
20:36:53 <david-lyle> I would just like to point to the balance here
20:37:27 <david-lyle> adapting for future/present ease vs creating a boat load of work for anyone who currently uses/depends on horizon
20:37:39 <david-lyle> not that either are wrong
20:38:35 <david-lyle> but lumping too many breaking changes in the present can effectively block a percentage of current users from moving forward
20:38:42 <david-lyle> look at us with Django
20:38:54 <david-lyle> and Django does a really good job of documenting those things
20:39:05 <david-lyle> and deprecating things over several releases
20:39:22 * david-lyle stops pointing
20:39:36 <robcresswell> They did a pretty good job of moving several things around undocumented too :(
20:39:37 <hurgleburgler> I don't think these things are breaking changes though
20:40:13 <david-lyle> hurgleburgler: you've written js and html extensions for Horizon, no?
20:40:16 <robcresswell> Well, they are. If I write something that looks for pie-chart_usage and you rename the class, its broken.
20:40:33 <david-lyle> I'm thinking beyond pie charts of course
20:40:42 <tsufiev__> Seems i missed something :/, got disconnected
20:40:50 <robcresswell> Yes, I'm just giving a simple example.
20:41:02 <hurgleburgler> If I make pie-chart-usage themed and use a different markup, then it breaks it anyways though
20:41:34 <hurgleburgler> given, pie chart is actually constructing a pie chart on a given element using a class name, I think that's what makes it a special case though
20:43:18 <robcresswell> Personally I think (in the scope of CSS renames) listing them is enough. We're talking about one grep|sed to fix it.
20:43:53 <david-lyle> robcresswell: in an ideal world, but sure
20:43:58 <hurgleburgler> k
20:44:36 <robcresswell> When it comes to widgets, we should follow the existing process which has also been listing the component in the customising docs
20:49:22 <robcresswell> Any other discussion points?
20:50:34 <robcresswell> Thanks everyone
20:50:38 <robcresswell> #endmeeting