cockpit
LOGS
13:03:51 <andreasn> #startmeeting
13:03:51 <zodbot> Meeting started Mon Apr 27 13:03:51 2015 UTC.  The chair is andreasn. Information about MeetBot at http://wiki.debian.org/MeetBot.
13:03:51 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
13:04:03 <andreasn> .hello andreasn
13:04:06 <zodbot> andreasn: andreasn 'Andreas Nilsson' <anilsson@redhat.com>
13:04:10 <mvollmer> .hello mvo
13:04:13 <zodbot> mvollmer: mvo 'Marius Vollmer' <marius.vollmer@gmail.com>
13:04:17 <dperpeet> .hello dperpeet
13:04:18 <zodbot> dperpeet: dperpeet 'Dominik Perpeet' <dperpeet@redhat.com>
13:04:27 <stefw> .hello stefw
13:04:28 <zodbot> stefw: stefw 'Stef Walter' <stefw@redhat.com>
13:04:54 <andreasn> #topic Agenda
13:05:39 <andreasn> * ostree updates
13:06:14 <stefw> * bower
13:06:21 <stefw> * dialogs next steps
13:06:56 <stefw> * kubernetes review
13:07:47 <mvollmer> * storage rewrite
13:08:03 <andreasn> anything else?
13:08:14 <stefw> * ember, if petervo is here
13:08:21 <petervo> i'm here
13:08:30 <andreasn> #topic OSTree updates
13:09:29 <petervo> https://raw.githubusercontent.com/cockpit-project/cockpit-design/master/software-updates/software-updates-ostree-v2.png
13:09:33 <andreasn> so we made some progress to address the feedback last week
13:10:06 <andreasn> I need to look into what should happen when you're on !default-deployment
13:10:24 <stefw> andreasn, what is the list of packages displayed in the main page?
13:10:34 <stefw> the second box of the wireframes
13:10:38 <andreasn> what the system is composed of
13:10:46 <stefw> all the packages?
13:10:48 <stefw> interesting
13:11:00 <andreasn> "what makes up this system"
13:11:03 <stefw> good
13:11:07 <andreasn> it's a bit detailed and gritty maybe
13:11:17 <stefw> i would say "lets go with it"
13:11:22 <stefw> and see if we need to change it
13:11:24 <andreasn> sure
13:11:29 <stefw> atomic is all about minimal package set
13:11:35 <stefw> this doubles down on that assumption
13:11:39 <andreasn> true
13:11:44 <stefw> it's not what i would have expected ... but it makes sense when you think about it.
13:11:47 <dperpeet> in the future we could add a filter
13:11:54 <stefw> ++
13:11:57 <andreasn> yeah, or hide it one level down or something
13:11:57 <dperpeet> but for now this seems good
13:11:58 <stefw> i like it
13:12:29 <mvollmer> it can take the place of release notes, until there are some real ones.
13:12:34 <stefw> yeah
13:12:41 <stefw> #info https://raw.githubusercontent.com/cockpit-project/cockpit-design/master/software-updates/software-updates-ostree-v2.png
13:12:54 <petervo> one question, do want to deal with signatures are all in the UI
13:13:09 <petervo> it's something they recently added
13:13:18 <andreasn> signatures? from the OS provider?
13:13:21 <petervo> and started exposing on the comand line
13:13:59 <petervo> ideally the ostree commits are all signed by whoever provides the tree you are using
13:14:14 <stefw> yeah, that makes me think "later work"
13:14:27 <andreasn> I'll add a note to the wiki page about it and note it as "future"
13:14:29 <stefw> because the default configuration should be configured to just work
13:14:33 <dperpeet> if that's the case we can add "notify user when this isn't the case" to our extra-features list for later
13:15:48 <andreasn> sounds sane
13:15:55 <andreasn> anything more on that topic?
13:16:20 <petervo> don't think so
13:16:23 <andreasn> #topic Bower
13:16:41 <andreasn> I always autocorrect that to "Bowser" in my head
13:17:04 <dperpeet> me too :(
13:17:05 <stefw> so instead of distributing all our dependencies in lib/
13:17:11 <stefw> we pull them via bower
13:17:14 <stefw> nothing else changes
13:17:22 <stefw> so essentially during the normal developer workflow bower is not involved at all
13:17:27 <stefw> it is involved when we update dependencies
13:17:35 <stefw> to update a dependency, we change tools/bower.json
13:17:38 <stefw> and then run 'make update-lib'
13:17:47 <dperpeet> does bower clean out old stuff automatically?
13:17:49 <stefw> obviously if the dependency has changed in a major way, that doesn't work
13:17:50 <andreasn> only patternfly or other stuff too?
13:17:54 <dperpeet> i.e. unused
13:17:58 <stefw> basically bower is just a "pull me some shit" tool
13:18:12 <stefw> and our make logic takes that and fiddles it into javascript bundles that we commit to git, and use
13:18:29 <stefw> andreasn, all external dependencies (almost)
13:18:34 <mvollmer> dperpeet, our releases contain exactly what we want
13:18:46 <stefw> mvollmer, dperpeet, at a file level
13:18:48 <mvollmer> tools/bower_components will grow, I guess
13:18:50 <andreasn> will it be always the latest, or do we have control over that?
13:18:58 <stefw> mvollmer, only for people who run 'make update-lib'
13:19:02 <mvollmer> yes
13:19:12 <stefw> there are version numbers in tools/bower.json
13:19:22 <stefw> and for now i've locked everything down to a specific point version of each dependency
13:19:34 <andreasn> good
13:20:32 <stefw> i'll update this
13:20:32 <stefw> https://github.com/cockpit-project/cockpit/wiki/Maintenance
13:20:41 <stefw> but it's not a big diff to what was going on before
13:21:17 <andreasn> sounds good
13:21:20 <andreasn> next I guess
13:21:29 <andreasn> #topic Dialogs - next steps
13:21:46 <stefw> so i'm really happy with the HIG stuff we worked on together for dialogs last week
13:21:56 <stefw> i was wondering if we should make a few little apis to help with things
13:22:19 <stefw> 1. an api to display an error in a dialog (if given a field, place under the field, otherwise in an alert)
13:22:31 <stefw> 2. an api to add/show/hide a spinner
13:22:48 <stefw> the idea being that we can just use these on top of random bootstrap dialogs, and the rigth thing will happen
13:22:53 <mvollmer> i have some code in the storage branch
13:22:57 <stefw> cool
13:22:59 <mvollmer> http://pastebin.com/8XL6mG5b
13:23:08 <stefw> and ideally these would work on top of arbitrary modals
13:23:12 <mvollmer> it goes a bit far in the "declarative UI" direction maybe
13:23:26 <stefw> ah, i see, i was thinking far simpler
13:23:32 <mvollmer> the code in the paste is backed by some biggish mustache template
13:23:32 <stefw> but that's fine for the storage module if you want
13:23:48 <mvollmer> yeah, it has tons of very similar dialogs
13:23:54 <stefw> right
13:24:17 <stefw> i'm fine with that for the storage dialogs
13:24:21 <stefw> but in general html is our API
13:24:29 <stefw> along with the (selector).modal() and stuff
13:24:47 <stefw> so adding to that we would have basic ways to add error elements to a modal dom
13:25:03 <mvollmer> i see
13:25:04 <stefw> as well as the spinner logic (disable everything, show spinner)
13:25:26 <mvollmer> and the help-block / spinner don't have to be coded in HTML?
13:25:29 <stefw> right
13:25:35 <mvollmer> makes sense
13:25:47 <stefw> in general bootstrap goes the direction of adding DOM elements for you to make things happen, and i think that's appropriate with dialogs
13:26:07 <stefw> i was thinking of using the set password work as a base for trying this out
13:26:23 <dperpeet> stefw, might be too small for that
13:26:36 <stefw> well it also means doing it in create account
13:26:38 <stefw> which is more complex
13:26:41 <dperpeet> true
13:26:45 <stefw> and clearly shows code duplication when you do the two together
13:27:30 <dperpeet> we should be careful not to implement a too generic solution
13:27:39 <dperpeet> rather keep it focused
13:27:48 <stefw> exactly
13:27:48 <dperpeet> and accept a bit of code duplication if necessary
13:28:01 <dperpeet> better than refitting designed ui into the template
13:28:01 <stefw> yup
13:28:26 <dperpeet> that said, it should help
13:28:37 <andreasn> how does this affect https://github.com/cockpit-project/cockpit/pull/2061 ?
13:28:56 <stefw> finishing #2061 without this is painful
13:29:01 <stefw> and hence my desire to work on this
13:29:05 <andreasn> all right, sounds good
13:29:37 <stefw> we can discuss in a pull request further
13:29:45 <andreasn> sure
13:31:25 <andreasn> anything else on that topic?
13:31:30 <stefw> nope
13:31:33 <andreasn> #topic Kubernetes review
13:32:10 <stefw> anyone interested in reviewing kubernetes pull requests?
13:32:15 <stefw> subin won't be around for a while
13:32:26 <stefw> there's 6 outstanding and more to come
13:32:42 <dperpeet> I haven't done anything with kubernetes yet and I have no test setup
13:32:47 <dperpeet> that's why I haven't touched those
13:32:55 <stefw> we have a standard test setup
13:33:07 <stefw> so whoever wants to get into this, i can work with them making sure you have access to the test setup
13:33:09 <petervo> i can i guess
13:33:13 <stefw> ok
13:33:45 <andreasn> I'm happy to test the UI bits
13:33:54 <stefw> andreasn, yeah, i'll have the graph one for you soon
13:34:00 <andreasn> excellent, thanks!"
13:34:06 <petervo> i don't have much setup for testing either right now
13:34:06 <stefw> and i can put screenshots for the others
13:34:19 <stefw> should we work on getting you access to the setup later today?
13:34:26 <petervo> yeah
13:35:11 <andreasn> I had access last week, but I think I lost the command to connect, everything is set up, so should be quick though
13:35:24 <stefw> i can help you get it working again
13:36:00 <andreasn> thanks
13:36:23 <andreasn> all right, next up is...
13:36:25 <andreasn> #topic Storage rewrite
13:36:48 <mvollmer> ongoing
13:36:50 <mvollmer> going well
13:37:01 <mvollmer> overview is 'done'
13:37:10 <mvollmer> now starting with the details page
13:37:29 <mvollmer> I am not super happy with the way changes are handled
13:37:41 <mvollmer> the model is reconstructed from scratch a lot
13:37:56 <mvollmer> but with jquery amend it still looks ok in the browser
13:38:27 <mvollmer> graphs are blocking on the grid stuff and I'll help finish that when I get to it.
13:38:37 <andreasn> is the UI pretty much 1-to-1, or any changes? We spoke about the dialogs a bit last week.
13:38:48 <mvollmer> it will be 1-to-1
13:39:04 <mvollmer> but dialogs will have better behavior
13:39:10 <andreasn> cool
13:39:12 <stefw> mvollmer, yeah, plugging the grid into flot will be really easy, i think
13:39:18 <mvollmer> however, once its done, it should be much easier to evovle the page
13:39:46 <stefw> just means doing some calculated row in the [ x, y ] format that flot expects
13:39:46 <mvollmer> that's one reason I try to stay away from specific page update logic
13:40:03 <mvollmer> so that we can easily pull all kinds of bits into all kinds of place just by changing the templates
13:40:27 <stefw> i've meant to get around to doing the grid + flot stuff, we can see who gets there first
13:40:35 <mvollmer> yep
13:40:53 <mvollmer> i hope to touch ground by the end of this week, let's see
13:41:27 <mvollmer> i have hated writing the storage code in cockpitd so much, it will be a feast to rip it out
13:41:40 <stefw> heh
13:41:44 <andreasn> :)
13:42:01 <mvollmer> well, I was young and needed the LoC... :-)
13:42:19 <stefw> GObject async closures are the best (by which i mean worst) type of LoC
13:42:32 <mvollmer> and I was super naive
13:42:47 <mvollmer> ok, eot?
13:43:33 <andreasn> sure
13:43:36 <andreasn> #topic Ember
13:43:50 <stefw> petervo, anything interesting to report?
13:44:03 <stefw> if not, that's fine ...
13:44:31 <petervo> not really, trying to get something more that a hello world to show
13:44:37 <stefw> ok, makes sense
13:44:56 <stefw> with these new-fangled schmancy libraries ... it takes a while looking at it from different angles ... i know it has for me with D3
13:45:24 <petervo> yeah
13:48:10 <andreasn> all right
13:48:18 <andreasn> #topic Open floor
13:49:49 <andreasn> nothing it seems
13:49:54 <andreasn> ok, end of meeting
13:49:56 <mvollmer> yep
13:49:59 <andreasn> #endmeeting