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