20:00:07 <robcresswell> #startmeeting horizon 20:00:09 <openstack> Meeting started Wed Jul 6 20:00:07 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:10 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 20:00:12 <openstack> The meeting name has been set to 'horizon' 20:00:29 <bpokorny> o/ 20:00:33 <robcresswell> Hello! Anyone around for Horizon meeting? 20:00:39 <asettle> o/ 20:01:36 <robcresswell> Quiet day! 20:01:38 <tsufiev> ha, where is everybody? 20:01:50 <ankur-gupta-f> \o/ 20:01:53 <robcresswell> A lot of people take this week off in 'murica 20:02:07 <robcresswell> Celebrate american-brexit 20:02:13 <bpokorny> Haha 20:02:22 <asettle> I love that that is now a term 20:02:22 <hurgleburgler> ha 20:02:25 <ankur-gupta-f> In Texas we are looking forward to Texit 20:02:58 <robcresswell> lol 20:03:02 <hurgleburgler> being a native New Mexican, we also look forward to Texit 20:03:09 <robcresswell> Sorry, slow typing over dinner today 20:03:21 <robcresswell> #topic Agenda 20:03:46 <robcresswell> #link https://wiki.openstack.org/wiki/Meetings/Horizon#Agenda_for_2016-07-06_2000_UTC 20:03:57 <robcresswell> There's a few things on here, so lets get started 20:04:06 <robcresswell> #topic Glance V2 Update 20:04:11 <robcresswell> bpokorny: o/ 20:04:15 <robcresswell> Care to elaborate? 20:04:34 <bpokorny> We've run into an issue with the Glance v2 patch.. 20:05:14 <tsufiev> glance folks don't want to set show_multiple_locations = true, because it would break rackspace public cloud 20:05:25 <bpokorny> Without getting into too many specifics, specifying a location for a glance image has been removed. 20:05:30 <tsufiev> which tells me enough about so called 'openstack diversity' :D 20:05:39 <bpokorny> :) 20:05:52 <bpokorny> I went to the glance meeting last week to ask about it. 20:06:11 <bpokorny> They said nova is running into the same issue when using v2. 20:06:19 <piet> o/ 20:06:41 <tsufiev> bpokorny, so what we need here is glexit :) 20:07:00 <bpokorny> So they're aware of the problem, and Brian R and mfedosin are going to discuss on the ML. 20:07:01 <robcresswell> Whats the reason it breaks rackspace? 20:07:18 <bpokorny> tsufiev :) 20:07:51 <bpokorny> I haven't heard of the rackspace issue before. 20:08:04 <tsufiev> robcresswell, that's waht mfedosin told me about that security issue with show_multiple_locations 20:08:20 <bpokorny> What I've heard is that there are security concerns with it. ^ 20:09:05 <robcresswell> I assume the concern is letting a user specify an arbritrary place to download something from (and boot it) 20:09:13 <robcresswell> ? 20:09:27 <bpokorny> Yeah, I think that's correct. 20:09:28 <tsufiev> afair, yes 20:09:41 <TravT_> well, if glance won't support it, then neither can we. maybe it isn't a problem we should concern ourselves with and just move to the direct upload via CORS (timur's patch) 20:10:18 <robcresswell> Right... I'd rather we just dont worry about it, and when ops complain, I'll happily refer them to glance to shout at instead... 20:10:31 <robcresswell> Isn't this similar/ the same as the issue we discussed before? 20:10:45 <bpokorny> Glance currently allows it for v1, which we do in Horizon. 20:10:50 <tsufiev> TravT, have you seen dstanek reply on the ML about CORS & security implications? 20:10:54 <TravT_> well Glance is also deprecating v1 20:11:04 <TravT_> tsufiev i read it the other day 20:11:07 <tsufiev> in 2 words, he thinks we're fine to go on with keystone tokens in js 20:11:08 <tsufiev> okay 20:11:09 <TravT_> was there another response? 20:11:13 <tsufiev> nope 20:11:14 <bpokorny> If Horizon doesn't support it for v2, should we remove it for v1 also? 20:11:41 <robcresswell> Isnt V1 supposed to be gone this cycle? 20:11:50 <bpokorny> Or put logic in to not allow it just if v2 is being used? 20:11:51 <TravT_> my vote is to move forward with the new angular cors upload. 20:12:16 <tsufiev> TravT_, I think we can support both CORS and the legacy upload for Angular 20:12:21 <robcresswell> bpokorny: I would say the latter. If the API won't support something, Horizon shouldn't go miles out of its way to maintain logic to work around it 20:12:30 <robcresswell> So just disable it in V2 20:12:39 <TravT_> +1 20:12:56 <bpokorny> robcresswell: TravT_: Sounds good to me. 20:12:58 <TravT_> if there is big enough demand, then people can lobby to get it into glance as robcresswell said 20:13:15 <tsufiev> or switch to glance v3, hehe 20:13:26 <robcresswell> yup, absolutely agree TravT_ 20:14:02 <robcresswell> tsufiev: What was said about CORS? 20:14:25 <robcresswell> I have a feeling I read this, about security issues preventing it, but wanted to be sure 20:14:36 <tsufiev> robcresswell, david stanek said there is no catastrophe with passing ks tokens to js 20:15:09 <TravT_> tsufiev: i spend about 3 hours doing follow up reading about it online after that thread. 20:15:18 <tsufiev> on the other hand, he also said that he would be happy to see some security folks feedback 20:15:34 <TravT_> tried to see if i could break the django csrf token (it already goes to client side), but ran out of time. 20:15:55 <tsufiev> TravT_, maybe you just didn't try hard enough ;) 20:16:03 <TravT_> that's pretty much a given. 20:16:09 <TravT_> :) 20:16:24 <robcresswell> Ah, so thats a green light to go ahead for the most part then 20:16:36 <tsufiev> yay! 20:17:00 <tsufiev> TravT_, please see my latest comment in Angular Create Image patch 20:17:06 <TravT_> ok 20:17:10 <tsufiev> or we can discuss it here briefly 20:17:18 <TravT_> lemme read real quick 20:17:20 <tsufiev> k 20:17:34 <TravT_> for others: https://review.openstack.org/#/c/317456/ 20:17:51 <robcresswell> #info Decided not to work around missing Glance support for show_multiple_locations = true and thus image location 20:18:07 <robcresswell> Not sure if thats entirely accurate, just wanted it logged with keywords. 20:18:19 <TravT_> feel like we could #success - an actual decision was made 20:18:27 <TravT_> :D 20:18:30 <robcresswell> So that when someone tantrums I can find the meeting :) 20:19:17 <robcresswell> Ready to move on? 20:19:43 * TravT_ still reading tufiev's comments on patch 20:20:05 <robcresswell> Ah wait, I missed that while I was typing the info. 20:21:05 <robcresswell> tsufiev: Might create some confusion, repurposing a setting no? 20:21:20 <TravT_> tsufiev, that is interesting... but it is a setting the could slip through the covers. 20:21:29 <tsufiev> robcresswell, yes, that may be a concern... 20:22:08 <tsufiev> I'm trying to do as the common sense suggests here 20:22:29 <robcresswell> May be safer to deprecate the old one and just use something like IMAGE_UPLOAD = 'CORS' || 'LEGACY' || False 20:22:51 <tsufiev> I like it, robcresswell! 20:23:14 <TravT_> yeah, i was thinking the same thing. 20:23:25 <tsufiev> but how it the new setting should behave if HORIZON_IMAGES_ALLOW_UPLOAD = False? 20:23:25 <robcresswell> That way the old one can just throw a warning referring to the new one. Makes it a little bloated for a cycle perhaps, but easier for operators to manage 20:23:35 <tsufiev> should the upload be forbidden completely in that case 20:23:51 <tsufiev> that definitely needs some thinking 20:24:28 <robcresswell> Yes 20:24:41 <tsufiev> anyways feel free to leave your opinions in the above patch, I'm sure that we'll figure out something reasonable 20:25:00 <robcresswell> Thats the current expected behaviour. I would think most people won't pay too close attention to the Python to JS shift, so if Image Upload suddenly appears (in JS) they would be surprised 20:25:04 <TravT_> would it need to actually be a list of supported upload types? 20:25:09 <robcresswell> so I would stick with False just hiding it 20:25:35 <robcresswell> Is there really a case where you have CORS available and configured and dont want to use it/ 20:25:38 <robcresswell> ?* 20:25:44 <robcresswell> I wouldnt imagine so. 20:25:52 <TravT_> no, i'm just thinking that if glance comes up with some new way 20:26:05 <TravT_> we don't have to invent another settings alltogether to also support it 20:26:13 <tsufiev> I can hardly imagine it as well, but we don't have a way to query if CORS is enabled in Glance, robcresswell 20:26:42 <robcresswell> tsufiev: No, but the operator setting that variable in Horizon would :) 20:27:03 <robcresswell> I meant if you supplied a list and let the user choose, that seems unneccessary 20:27:47 <robcresswell> I guess it may be an issue if they decide to add other options that might coexist 20:28:01 <tsufiev> yes, no need to expose the choice to user, it should be a deployer's decision 20:28:06 <robcresswell> Yeah 20:28:23 <TravT_> tsufiev, do we really need both the django and ng patches? 20:28:55 <robcresswell> I think a variable that takes a string should be fine; if falsy, we just disable. Deprecate the previous setting at the same time, but maintain its behaviour for a cycle. 20:28:55 <tsufiev> I'd prefer to hear what others think, TravT_ 20:29:14 <tsufiev> but I would like to have Django version as well, because it's easier to backport 20:29:21 <TravT_> okay, i see 20:29:26 <robcresswell> If the patch is ready, I think we should accept it, and stop accepting patch on in during O 20:29:31 <TravT_> was just wondering if the ng could be used on django panel for now 20:29:33 <robcresswell> on it* 20:29:34 <TravT_> ng create 20:29:58 <tsufiev> I recall mrunge was interested some time ago in Django version of that patch 20:30:13 <mrunge> huh? 20:30:24 <TravT_> uh-oh, now you woke the poor guy up 20:30:31 <mrunge> :P 20:30:33 <tsufiev> mrunge, the context is: Create Image CORS file upload 20:30:39 <tsufiev> do you need it ;)? 20:30:48 <mrunge> doesn't ring any bell 20:30:59 <tsufiev> lol ) 20:31:04 <mrunge> but yes, great! 20:31:06 <mrunge> go for it 20:31:32 <robcresswell> TravT_: Any other concerns, or does the current path sound reasonable? As resident Glance-expert. 20:31:38 <tsufiev> I realized one thing recently: if something doesn't work for a substantial time, people just forget about it 20:31:50 <robcresswell> Swift 20:31:52 <robcresswell> for example 20:31:54 <tsufiev> must have some explanation in psycology, I suppose ) 20:31:59 <robcresswell> (The panel, not the project) 20:32:11 <TravT_> robcresswell, the glance team has been trying hard to deprecate v1 for a long time. 20:32:18 <TravT_> i think we support v1 with the legacy code 20:32:51 <TravT_> but for new code and v2 / we don't need to be the banner carriers demanding the same features 20:33:02 <robcresswell> It sounds like we should've shifted to v2 last cycle ideally 20:33:04 <TravT_> i'd like to see us start reducing code paths 20:33:18 <TravT_> there wasn't a big push to go to v2 20:33:23 <TravT_> because nova hadn't stopped using it 20:33:32 <robcresswell> Does NG Images support both? Or just V2? 20:33:44 <TravT_> ng images goes through all the same API layers 20:33:53 <TravT_> there is some property translation here and there 20:33:58 <TravT_> it will need to be looked over 20:34:01 <tsufiev> robcresswell, the funny thing is that right now Horizon uses both v1 and v2 :) 20:34:11 <TravT_> yes, that is true 20:34:56 <robcresswell> Either way, we need to finalise V2 support without a bunch of hacks to workaround missing APIs. 20:35:02 <tsufiev> our goal with that v2 patch is to stop relying on v1 being accessible 20:35:03 <TravT_> maybe all the angular work should be moved to v2 only and the code paths it uses should be v2. 20:35:20 <robcresswell> TravT_: That's what I was wondering 20:35:35 <tsufiev> TravT_, I thought that it was meant to be done transparently 20:35:41 <robcresswell> I know people have mentioned having v1 endpoints just so Horizon doesnt fall over. 20:35:52 <tsufiev> I mean, the choice between v1/v2 happening on API layer even before REST API layer 20:36:07 <TravT_> so, the angular work as all generally tried to rely on the api layers in python 20:36:24 <tsufiev> so Angular code wouldn't even know which Glance version it's dealing with 20:36:35 <TravT_> it was supposedly one of the advantages to using horizon instead of moving to richard's angboard 20:36:59 <TravT_> tsufiev: problem is that this isn't always entirely true. 20:37:05 <TravT_> will need to go back through it. 20:37:28 <TravT_> in the rest layers, there is some conversion that happens 20:37:34 <TravT_> because in v1 glance 20:37:47 <TravT_> all fields just go straight on the base object 20:37:55 <TravT_> ^ nix that last statement 20:38:03 <TravT_> in *v2* glance 20:38:19 <TravT_> in v1 , they separated out "core image properties" from custom properties 20:38:35 <tsufiev> yep, complete isolation is difficult :/ 20:39:06 <TravT_> https://github.com/openstack/horizon/blob/master/openstack_dashboard/api/rest/glance.py#L286 20:39:22 <TravT_> anyway, we've tried to deal with in on angular side 20:39:36 <TravT_> but we will need to actually test it out 20:40:00 <TravT_> i think there might be a problem area or two 20:41:49 <tsufiev> okay, so I'll update both Django and NG Create Image patches to use a saner new setting and deprecate the old setting 20:41:55 <TravT_> sounds good 20:42:44 <robcresswell> Indeed. We're aiming to swap to angular with Images this cycle, but will have to carry the python for another cycle or two, depending on how long we wish to carry deprecated panels 20:43:42 <robcresswell> Anyway, lets move on :) 20:43:53 <robcresswell> #topic UI Guidelines Spec 20:43:58 <asettle> o/ 20:44:05 <robcresswell> #link https://review.openstack.org/#/c/337202/ 20:44:28 <piet> o/ 20:44:33 <robcresswell> asettle: Want to talk about it? 20:44:38 <asettle> Cheers robcresswell 20:45:00 <asettle> Hey guys, pretty much the subject says it all. Rob mentioned last meeting that we required some volunteers to help out creating this. 20:45:16 <asettle> I have a spec up in the docs-specs repo that should give a fairly basic overview of what we're planning. 20:45:29 <asettle> There's always room for improvement and always keen for people to step forward with new (better) ideas. 20:46:00 <asettle> Please take the time to take a look, especially considering horizon is the official dashboard 20:46:18 <asettle> We'll be working on it to hopefully get something out half decent by Newton, so if you don't speak now, forever hold your peace :P 20:46:34 <asettle> Any questions, feel free to direct them my way, to Piet or even to robcresswell 20:46:42 <robcresswell> We've been reaching out to PTLs of projects with horizon plugins too 20:47:01 <asettle> We've had a few responses, and reviews. Which is great :) we're aiming to have inclusion from every project that has a GUI 20:47:17 <asettle> Or at least, we're opening up the opportunity to everyone for input 20:47:22 <piet> We also need to reach outside of Horizon 20:47:25 * tsufiev still trying to get some feedback about standard NG wizard workflow in Horizon and murano-dashboard :) 20:47:28 <robcresswell> Basically, I want people from Horizon to remain involved, even if its just a 2 minute glance at it every now and then. No desire for other projects to dictate to us how to write a UI, so we have plenty of opportunity to get involved here. 20:47:46 <asettle> Piet - the list of PTL's I emailed included Ironic etc. It was fairly extensive. 20:47:59 <ankur-gupta-f> There were long discussions about it. What is the summary of the effort? Intent? 20:48:01 <piet> asettle Kk 20:48:14 <robcresswell> ankur-gupta-f: All in the spec :) 20:48:18 <asettle> ^^ as above 20:48:23 <piet> tsufiev How different is Murano that the rest of HOrizon? 20:48:34 <asettle> But as a TL;DR - create patterns and library, intent? to create consistency between projects 20:48:38 <robcresswell> But basically; make guidelines to help people write a consistent UI. 20:48:45 <asettle> Which is something piet is really striving for which is excellent :) 20:48:54 <ankur-gupta-f> Thanks :) 20:49:04 <tsufiev> it's about those mockups, piet - mostly about first uploading some stuff to the server, then continuing to fill the forms 20:49:04 <asettle> No worries :) 20:49:09 <robcresswell> Reduces load on reviewers and IRC. Helps plugin ecosystem. End product is a consistent UI. Everyone wins. 20:49:20 <TravT_> The subjects suggested in the spec make sense to me. 20:49:25 <asettle> *thumbs up* 20:49:30 <robcresswell> Thanks TravT_ 20:49:38 <asettle> TravT_: great :) cheers. Appreciate it 20:49:50 <asettle> That's pretty much all from me. Anything I missed piet? 20:50:14 <piet> And operators have been complaining about inconsistency across projects 20:50:22 <piet> Newp 20:50:29 <piet> Just get in there and review. 20:50:32 <asettle> Yeah good point. 20:50:34 <TravT_> so, would we be targeting removing anything from horizon docs? 20:51:01 <robcresswell> Potentially, if it clashes. 20:51:09 <robcresswell> We'd definitely need to reference this doc in the contributing guides 20:51:11 <asettle> TravT_: not just yet. I think that's something we should focus on afterwards. At the moment we're working on identify patterns, figuring out where the gaps are, and tehn coming up with a collaborative piece you can all use. 20:51:46 <robcresswell> Sounds good 20:52:08 <piet> It would be good to get feedback on the focus of the doc. Is it a patterns library? High level principles? 20:52:19 <asettle> +1 20:52:32 <TravT_> yeah, are these like mockups? 20:52:54 <TravT_> and will they point to reference implementation? 20:53:07 <robcresswell> More like an extension of http://docs.openstack.org/contributor-guide/ui-text-guidelines.html in my mind 20:53:22 <asettle> That's how I understand it too, piet ? 20:53:42 <robcresswell> So, things like, use an "Info" alert if we don't know the final outcome of an action, a "Success" alert if we do, etc. 20:53:44 <piet> asettle which part? 20:53:52 <piet> Extension of the UI Text 20:54:08 <piet> With personas thrown in there 20:54:09 <asettle> Yes 20:54:20 <robcresswell> Just general rules that people may not realise, or have thought about, or reviewers might miss, but overall detract from it being a professional product. 20:54:41 <asettle> A point of reference, if you will. 20:54:52 <piet> In some ways, stuff that devs don't really want to think about...like the location of a cancel button 20:55:25 <piet> The some higher level principles like "Design to scale" 20:55:28 * kzaitsev_mb lurking in case I can answer anything murano-dashboard %) 20:55:41 <piet> Or "minimum number of steps in workflows" 20:55:46 <tsufiev> speaking of scale... 20:55:49 <asettle> kzaitsev_mb: if you wanna check out the spec too, feel free to go ahead :) all reviews are appreciated 20:56:10 <robcresswell> Lets move on, because I need to mention the last item 20:56:22 <piet> kzaitsev_mb How much does Murano UI deviate from vanilla horizon 20:56:22 <robcresswell> But please read the spec, leave brief comments etc. 20:56:26 <asettle> Thanks robcresswell :) appreciate the plug 20:56:34 <robcresswell> #topic Cancellation of 800UTC meeting 20:56:37 <piet> Thanks robcresswell 20:56:44 <robcresswell> #link http://lists.openstack.org/pipermail/openstack-dev/2016-July/098854.html 20:57:32 <robcresswell> So I sent out an email and mentioned it in meetings, and nobody seems to have replied. The patch merged earlier, so the 800UTC meeting is officially no more. 20:57:40 <tsufiev> \o/ 20:57:46 <kzaitsev_mb> piet: not much, it's basically a horizon dashboard, that reuses most of the concepts. It's mostly pythonic now, but we're looking into rethinking it as a js/angular based thingy 20:57:46 <tsufiev> more things to do in the morning 20:58:25 <robcresswell> If we have more demand for it, I'm more than happy to hold the meeting, but no desire to waste peoples time by dragging them into an empty meeting room each week. 20:58:43 <robcresswell> Just want to be clear that its not intended to be exclusive or anything :) 20:58:44 <TravT_> robcresswell as a non-attendee of the now cancelled meeting, i offer no dissent. 20:58:50 <robcresswell> TravT_: haha 20:58:54 <tsufiev> since we've exhausted the agenda, I'd like to advertise an RFE bug in Neutron: https://bugs.launchpad.net/neutron/+bug/1599488 20:58:54 <openstack> Launchpad bug 1599488 in neutron "[RFE] Enhance Quota API calls to return resource usage per tenant" [Wishlist,New] - Assigned to Sergey Belous (sbelous) 20:58:54 <piet> kzaitsev_mb Best answer is "wouldn't know because there's no UI spec to follow!!" ;^) 20:58:59 <robcresswell> #info 800UTC meeting cancelled 20:59:06 <robcresswell> #topic Open Discussion for 60 seconds 20:59:15 <tsufiev> if you know some magic way to make Neutron folks implement it faster, please do it 20:59:25 <tsufiev> it should help us with Neutron quota usages 20:59:44 <tsufiev> because now they are terrible in Horiozn 20:59:53 <TravT_> robcresswell: is next weeks IRC cancelled due to mid-cycle? 20:59:55 * rdopiera looks for his cattle prod 21:00:07 <robcresswell> TravT_: Thanks for hte reminder! 21:00:21 <robcresswell> Yes, next weeks meeting will be cancelled due to midcycle. I'll send a reminder on the mailer. 21:00:28 <robcresswell> We're at time. 21:00:31 <robcresswell> Thanks everyone! 21:00:31 <TravT_> thanks 21:00:34 <ducttape_> #brexit 21:00:37 <TravT_> see some of you next week 21:00:40 <tsufiev> see you on the midcycle! 21:00:43 <robcresswell> #endmeeting