[05:46] <Saviq> tsdgeos, can't sleep? ;)
[05:46] <tsdgeos> nope
[05:46] <tsdgeos> woke up 2 hours ago already
[05:47] <tsdgeos> decided may as well start working instead of trying to go back to sleep
[05:47] <Saviq> tsdgeos, yeah, I didn't sleep well either, started an hour ago...
[05:47] <tsdgeos> omg, unity-2d sru finally pushed :D
[05:47] <Saviq> :D
[05:48] <tsdgeos> i fixed those bugs like 1 year ago
[05:48] <tsdgeos> Saviq: https://bugs.launchpad.net/bugs/1176962
[05:55] <Saviq> tsdgeos, cheers
[05:56] <tsdgeos> qt 5.1 beta1 being prepared today
[05:57] <Saviq> tsdgeos, you've distro-patched the QColor patch already, did you?
[05:57] <tsdgeos> "yes"
[05:57] <tsdgeos> for some value of "yes"
[05:57] <tsdgeos> :D
[05:57] <tsdgeos> it's in the 5.0.2 packages that are in the qt ppa
[05:58] <tsdgeos> in the qt "beta" ppa
[05:58] <tsdgeos> which means i can't still use it in the shell since those packages are still not hitting the device
[05:59] <Saviq> but will, soon
[05:59] <tsdgeos> yep
[05:59] <Saviq> k
[05:59]  * tsdgeos is so happy he can type "ubuntu_chroot" instead of "ubutu_chroot shell" all the time :D
[06:10] <Saviq> tsdgeos, yeah, and I only discovered it by mistake recently ;D
[06:13] <tsdgeos> gallery works again :-)
[06:32] <Mirv> tsdgeos: oh, good to know :)
[06:50] <Saviq> tsdgeos, I'm not sure I understand your comment for mterry's branch - getString gets a value for a role, not the name of the role
[06:51] <tsdgeos> Saviq: i mean, we should be using the roleNames mapping
[06:51] <tsdgeos> and just call for .infographic on the item
[06:51] <tsdgeos> that will call data
[06:51] <tsdgeos> no?
[06:51] <Saviq> tsdgeos, that's what we had before
[06:51] <Saviq> tsdgeos, but that meant returning a complete QVariantMap
[06:51] <Saviq> which mterry found to be slow
[06:52] <tsdgeos> what we had before was calling get()
[06:52] <tsdgeos> that returned the whole variantmap
[06:52] <tsdgeos> afaics
[06:52] <Saviq> yeah
[06:52] <Saviq> and that was slow (too slow, btw)
[06:52] <tsdgeos> sure
[06:52] <tsdgeos> but it's not what i suggest
[06:53] <tsdgeos> what i suggest should not call, get() or should it?
[06:54] <tsdgeos> i don't see why it should
[06:55] <Saviq> he needs to get the item by index
[06:56] <tsdgeos> well, that's the un-declarative way i am finding
[06:56] <tsdgeos> shouldn't need it
[06:56] <Saviq> yeah we've tried using currentItem
[06:56] <tsdgeos> actually if he has the currentIndex should have a model somewhere with a currentItem with the model data
[06:56] <tsdgeos> and?
[06:57] <Saviq> and they change differently
[06:57] <Saviq> currentIndex changes straight away
[06:57] <Saviq> currentItem waits for the transition to finish
[06:57] <tsdgeos> you may want to use the
[06:58] <tsdgeos> forceLayout stuff
[06:58] <tsdgeos> ah wait not
[06:58] <tsdgeos> that's introduced in my patches
[06:58] <tsdgeos> we are still not using that :D
[06:58] <Saviq> and really, it's not QML-ish because LightDM isn't QML-ish
[06:58] <tsdgeos> sure
[06:58] <Saviq> it's a challenge-response mechanism
[06:59] <Saviq> so the workflow is: authenticate(userName); wait-for-potential-prompt; onClicked: respond(password); onAuthenticationCompleted: login()
[06:59] <tsdgeos> i know, i implemented the remote login in lightdm-gtk
[06:59] <Saviq> good
[06:59] <tsdgeos> vaaaala :D
[07:00] <Saviq> so if you can look at it and find a way to make it more declarative-friendly, go for it, I failed last week
[07:00] <Saviq> only thing I can think of right now is reacting onIndexChanged and using itemAt()
[07:00] <Saviq> instead of reacting onCurrentChanged
[07:01] <tsdgeos> it'd be "the same" i guess
[07:02] <tsdgeos> what i wonder is what mterry mentioned about the variant unboxing
[07:02] <Saviq> yeah
[07:02] <tsdgeos> seems to me like it should just work
[07:02] <Saviq> I didn't think that was an issue
[07:02] <Saviq> wanted to try that myself
[07:05] <tsdgeos> oki
[07:05] <tsdgeos> you try that then?
[07:05] <Saviq> yeah, trying
[07:05] <tsdgeos> cool
[07:08] <tsdgeos> Saviq: also should find a way not to duplicate the enums
[07:09] <Saviq> tsdgeos, yeah +1
[07:09] <tsdgeos> looks like it'll break quickly
[07:09] <tsdgeos> paulliu: any luck with the peoplepreview failing test?
[07:09] <Saviq> tsdgeos, I'm generally of the opinion that enums should be wrapped in separate non-creatable classes
[07:10] <tsdgeos> that's a way to get them around, yep
[07:12] <paulliu> tsdgeos: not yet.. Still reading the code.
[07:39] <Saviq> tsdgeos, I found no way to reuse the  enums other than going "enum NewEnums { Role = OldEnums::Role, ... }"
[07:40] <Saviq> that at least will let us know when stuff break
[07:40] <Saviq> s
[07:40] <tsdgeos> or exporting the "base model"
[07:40] <tsdgeos> to qml
[07:40] <tsdgeos> no?
[07:40] <Saviq> or that, yeah
[07:40] <Saviq> but that would mean it's otherwise accessible, not sure mterry wanted that, but I'll add a comment
[07:41] <tsdgeos> we can export it uncreatable
[07:41] <tsdgeos> should not hurt, no?
[07:41] <Saviq> yeah
[07:42] <Saviq> effectively doing what I mentioned above...
[07:42] <tsdgeos> kind of, yes :D
[07:47] <Saviq> tsdgeos, any idea why the QVariantMap approach could be so slow?
[07:49] <tsdgeos> Saviq: it's creating the qpixmap with the background every time
[07:49] <tsdgeos> :D
[07:49] <Saviq> right
[07:49] <tsdgeos> in UsersModel::data UsersModel::BackgroundRole
[07:49] <tsdgeos> that *has* to be slow
[07:50] <Saviq> yeah, just saw
[07:50] <Saviq> sounds broken
[07:51] <tsdgeos> well, the thing in models is that ideally you only get stuff when you need it/has changed
[07:51] <tsdgeos> so having an expensive data "is ok-ish"
[07:51] <Saviq> yeah
[07:51] <tsdgeos> but the ::get function is breaking that assumption
[07:51] <Saviq> hence the get() shouldn't even be there
[07:51] <Saviq> we need to look through its uses
[07:51] <tsdgeos> agreed
[07:51] <Saviq> and make it go away
[07:54] <tsdgeos> want me to do that?
[07:55] <tsdgeos> shall we write it in the blueprint somwere
[07:55] <tsdgeos> ?
[07:55] <tsdgeos> +e+h
[07:55] <Saviq> tsdgeos, yeah, drop it in a bp somewhere
[07:56] <tsdgeos> done
[07:57] <Saviq> thanks
[07:58] <greyback> hi guys!
[07:59] <Saviq> tsdgeos, I think we can live with the data(int, int), though, what do you think?
[07:59] <paulliu> Ah.. I think I need some help.
[07:59] <Saviq> greyback, hey
[08:00] <Saviq> greyback, how was your trip?
[08:00] <paulliu> Just check every possible field like Item.visible, etc. Everything is ok there.
[08:00] <Saviq> greyback, and how is your anti-jetlag? ;)
[08:00] <tsdgeos> Saviq: yeah, data(int, int) and maybe data(int, string) so one can use the roleName if wanted
[08:00] <Saviq> tsdgeos, only thing is... that adds to the ListModel API...
[08:00] <greyback> Saviq: not bad. Managed to sleep a few hours on the plane, and woke at 5.30 this morning. Jet-lag probably kick in later today
[08:01] <paulliu> Let me push the non-proper fix first.
[08:01] <Saviq> tsdgeos, which we might end up abusing
[08:01] <Saviq> tsdgeos, and expect those to be implemented in all ListModels
[08:01] <tsdgeos> true
[08:03] <tsdgeos> but that's something we already have :D
[08:03] <tsdgeos> i mean the code was using get()
[08:03] <tsdgeos> what we can do is not have any of the get()
[08:03] <paulliu> BTW, is there any way to make bzr push faster? Small changes but still needs to upload a lot of data.
[08:03] <tsdgeos> is that what you meant?
[08:04] <tsdgeos> paulliu: yes
[08:04] <tsdgeos> use --stacked-on
[08:04] <tsdgeos> bzr push --stacked-on bzr+ssh://bazaar.launchpad.net/+branch/unity/phablet/ lp:blablabla
[08:05] <paulliu> Is lp:blablabla the branch that being stacked-on or it is a newly created branch?
[08:05] <Saviq> paulliu, the new one
[08:06] <paulliu> ok.. got it.
[08:06] <Saviq> tsdgeos, seems the dri fix doesn't want to get merged?
[08:06] <paulliu> Let me try that.
[08:08] <Saviq> greyback, I got rerouted via CPH (SFO > FRA > CPH > WRO)
[08:09] <tsdgeos> Saviq: yep, paulliu working on it
[08:09] <greyback> Saviq: ouch
[08:09] <Saviq> the good thing about that is the easiest €250 earned in my life ;)
[08:09] <tsdgeos> somehow the fact we actually render the test makes it unstable now
[08:09] <greyback> Saviq: Overbooked? So when did you actually get home?
[08:09] <Saviq> greyback, 9pm Sunday
[08:09] <Saviq> some 20hrs trip
[08:10] <greyback> Saviq: nasty
[08:10] <paulliu> tsdgeos: Is this ok? bzr push --stacked-on lp:unity/phablet lp:~paulliu/unity/fix-tst-peopleview
[08:10] <paulliu> tsdgeos: It told me that UnsupportedProtocol.
[08:11] <Saviq> paulliu, no, copy the exact command from tsdgeos
[08:11] <Saviq> paulliu, you need the full bzr+ssh://...
[08:11] <Saviq> for the --stacked-on
[08:11] <paulliu> Saviq: ok.
[08:24] <tsdgeos> paulliu: i've commited the waits to my ~aacid/unity/jenkins_mesa_dri/ branch that fails all the time in CI
[08:24] <tsdgeos> just to prove that it makes CI pass
[08:24] <tsdgeos> then we can remove them and add a proper fix :-)
[08:24] <tsdgeos> if we find it :D
[08:27] <paulliu> tsdgeos: I'd like to find it. But I need some clue.
[08:28] <paulliu> tsdgeos: 600 is actually a magic number for my slow machine. If I use my faster desktop machine, it only needs 300 or less.
[08:28] <tsdgeos> i see
[08:28] <tsdgeos> let's see if 600 works for the CI machines :D
[08:32] <tsdgeos> sadly not even running it in valgrind makes it fail here
[08:32] <tsdgeos> need a slower machine!
[08:34] <greyback> tsdgeos: waitForRendering(item,timeout) any use maybe?
[08:34] <greyback> not that I understand why such a thing is needed frankly
[08:35] <tsdgeos> :D
[08:35] <tsdgeos> no clue, paulliu can you give ↑↑ that a try?
[08:36]  * tsdgeos sets up a VM with only 40% of the CPU pwoer to try to reproduce the issue locally
[08:37] <paulliu> tsdgeos: yeah.. I'll try it.
[08:38] <greyback> tsdgeos: paulliu: also that test would probably be a lot more robust if we used "tryCompare" instead of "compare"
[08:39] <paulliu> greyback: hmm.. I've treied tryCompare.. not working there.
[08:39] <paulliu> greyback: it is really not ready to get a mouse event.
[08:39] <tsdgeos> greyback: trycompare won't help here
[08:40] <tsdgeos> basically you either got the click or not
[08:40] <Saviq> greyback, can you https://code.launchpad.net/~saviq/unity/phablet.tweak-build_unity/+merge/162730
[08:40] <greyback> hmmm, would there not be a way to do something like "tryCompare(mouseArea, ready, true)" ?
[08:40] <greyback> Saviq: ack
[08:44] <paulliu> greyback: the wait(600) have to be in front of mouseClick anyway. If we move it after mouseClick, it failed.
[08:44] <paulliu> tryCompare is a loop and wait, isn't it?
[08:44] <greyback> paulliu: effectively, yes
[08:45] <greyback> paulliu: I'm more curious about what's actually happening in the declarative engine to make the test fail.
[08:46] <paulliu> greyback: yeah, me too.
[08:46] <tsdgeos> greyback: mousearea ready?¿
[08:46] <greyback> tsdgeos: pseudo-code
[08:46] <tsdgeos> ah :D
[08:46] <paulliu> greyback: And I've tried to see those properties in Item. Is the child visible, or ready to accept events, or those. They are all true/ready.
[08:46] <greyback> tsdgeos: completed maybe?
[08:47] <tsdgeos> greyback: thing is, if it's "there" it should be "ready"
[08:47] <tsdgeos> there's no loader afaics
[08:47] <Saviq> greyback, that's Component prop, not there on the actual item
[08:47] <Saviq> not even prop, signal
[08:47] <Saviq> the only thing I can think of would be to instrument the actual MouseArea
[08:48] <Saviq> and first tryClick() in a loop until clicked() is emitted
[08:48] <Saviq> and only then progress with the test
[08:48] <Saviq> but then we do not always have direct access to the MouseArea
[08:48] <greyback> tsdgeos: yep. /me puzzled
[08:50]  * Saviq dislikes the fact that there's no "previous workitems" summary in LP
[08:50] <Saviq> so after the month passes, there's no way to see the summary for them
[08:52] <Saviq> we'll have to wait for kgunn to sort them out
[08:53] <tsdgeos> +1
[08:53] <tsdgeos> i actually lost the unfinished items
[08:54] <tsdgeos> and had to go looking at the blueprints to bring them to the next month
[09:23] <Saviq> tsdgeos, yeah exactly
[09:28] <tsdgeos> so yeah addig the wait definitely makes CI pass
[09:37] <paulliu> greyback: sorry, what is waitForRender?
[09:38] <greyback> paulliu: I'm not entirely sure :) But it looked maybe relevant
[09:47] <tvoss> Saviq, ping
[09:48] <Saviq> tvoss, pong
[09:52] <Saviq> greyback, you got the patch to run the shell in mir?
[09:54] <greyback> Saviq: is rough, but yeah
[09:54] <Saviq> greyback, is fine
[09:54] <Saviq> greyback, can you pastebin?
[09:54] <greyback> Saviq: use lp:~mzanetti/unity/phablet-integrate-mir/
[09:54] <Saviq> greyback, cheer
[09:59] <mmrazik> didrocks: ping
[10:01] <tsdgeos> yay, test fails in the VM :-)
[10:01] <didrocks> mmrazik: pong
[10:03] <mmrazik> didrocks: regarding the dashboard document. Who is actually supposed to be the end user of the functionality?
[10:03] <mmrazik> like who will be able to retrigger a release, etc
[10:04] <didrocks> mmrazik: upstream would be the end user of the functionality
[10:04] <mmrazik> what is upstream?
[10:04] <didrocks> mmrazik: the integration team will sometimes have to do "manual publication"
[10:04] <mmrazik> lets say for unit next
[10:04] <mmrazik> like kevin gunn?
[10:04] <didrocks> mmrazik: right
[10:04] <mmrazik> or the engineers in his team?
[10:04] <mmrazik> (both?)
[10:04] <didrocks> mmrazik: both, I guess
[10:05] <didrocks> mmrazik: also, the management (upstream and integration) who wants a view on their status regarding the distro
[10:05] <mmrazik> didrocks: so what is wrong with having a link to jenkins to a specific job. You click there, the job gets triggered again... ?
[10:05] <mmrazik> like we do with CI
[10:05] <mmrazik> there are lots of downstream jobs
[10:05] <mmrazik> but there is a rebuild link to the "master" job
[10:06] <mmrazik> I assume you have something similar
[10:06] <didrocks> mmrazik: because the whole workflow would be managed by celery
[10:06] <didrocks> and not jenkins
[10:06] <didrocks> jenkins isn't done for controlling workflow
[10:06] <didrocks> we are just abusing it this way
[10:06] <didrocks> and this lead to corner case and contentions
[10:07] <mmrazik> mhm.. I guess I just don't understand the problem here
[10:07] <mmrazik> so we are essentially reimplementing jenkins in celery?
[10:08]  * mmrazik is just reading about celery
[10:08] <didrocks> mmrazik: no, jenkins is still used for running the jobs
[10:09] <didrocks> mmrazik: celery would be used to control the workflow (job chained)
[10:09] <didrocks> mmrazik: look at my latest comment on the document, there are multiple modes in daily release contrary to upstream merger
[10:09] <mmrazik> didrocks: so what is wrong on the way jenkins does that with upstream/downstream/etc ?
[10:09] <mmrazik> ok
[10:09] <didrocks> mmrazik: look at the -generic job
[10:09] <didrocks> mmrazik: for running tests
[10:09] <didrocks> it's not easy to tell what -check triggered what -generic
[10:09] <didrocks> for instance
[10:10] <didrocks> also, we have some "control flow jobs" like, head, prepare, and so on…
[10:10] <didrocks> let's imagine one job is stuck
[10:10] <didrocks> the others are then pending, and we can end up having all the jobs stuck as the new subjobs is waiting on a free slot
[10:10] <mmrazik> to me it still sounds like all this functionality is in jenkins. We just have too many generic jobs  so we have problems to tie them together (but even that is possible in the jenkins api)
[10:10] <mmrazik> but I'm still reading your comments
[10:11] <mmrazik> when I read about celery I have an impression like reading about jenkins
[10:11] <didrocks> mmrazik: celery is about chaining jobs, jenkins isn't supposed to be able to run 10 subjobs and collecting the status
[10:12] <mmrazik> didrocks: why not?
[10:12] <didrocks> mmrazik: see the contention point ^
[10:12] <didrocks> mmrazik: we can end up in a situation where the tracking jobs are stucked
[10:12] <mmrazik> but that is something you need to figure out in celery as well
[10:12] <mmrazik> or not?
[10:13] <mmrazik> (by having more workers like you would have in jenkins)
[10:13] <didrocks> mmrazik: no, as celery doesn't have the concept of slots, basically, celery is like a grafcet, then you can run whatever you want from this grafcet (in that case, jenkins jobs)
[10:14] <mmrazik> didrocks: grafcet == petri net?
[10:14] <mmrazik> (can't find anything english for that term)
[10:15] <didrocks> mmrazik: interesting, indeed, can find in spanish, deutch and french…
[10:15] <didrocks> not really petri net though
[10:16] <didrocks> you can see it as a workflow descriptor, chaining jobs on conditions
[10:16] <didrocks> those jobs would be jenkins jobs
[10:16] <didrocks> we are just going to move away the controller from the executor
[10:16] <mmrazik> I still think we are implementing our own jenkins that way... jenkins jobs will be made equivalent to shell scripts
[10:17] <mmrazik> but anyway... thats not my main concernt
[10:17] <tsdgeos> greyback: and the prize goes to you
[10:18] <greyback> tsdgeos: waitForRender?
[10:18] <tvoss> didrocks, if jenkins is still the executor, having an external does not help at all, as slots are still provisioned by the executor. Or am I missing something?
[10:18] <mmrazik> I'm just a bit concerned to spend time developing replacement for something where I (personally) don't see huge issues
[10:18] <tsdgeos> greyback: yep, that fixes i
[10:18] <tsdgeos> t
[10:18] <tsdgeos> greyback: seems like the row was still "in flux"
[10:18] <tsdgeos> not having really adapted all the sizes properly
[10:18] <mmrazik> the contention thing can be resolved by propper priorities and executors
[10:18] <tsdgeos> and waitForRendering makes sure everything is stable
[10:18] <didrocks> tvoss: the issue there is that the controller is provisionning executors, and it's executed as well
[10:18] <greyback> tsdgeos: interesting
[10:18] <mmrazik> didrocks: but that can be resolved in jenkins
[10:18] <didrocks> tvoss: so you can have all slots taking bug controller jobs
[10:18] <tsdgeos> i did printing of .x of the elements of a row
[10:18] <tsdgeos> and got
[10:18] <tsdgeos> 0
[10:18] <tsdgeos> -56
[10:19] <didrocks> mmrazik: apart by having more slots, how?
[10:19] <tvoss> didrocks, how does an external controller solve that?
[10:19] <tsdgeos> which was weird since the second element of the row can't be to the left of the first one :D
[10:19] <mmrazik> didrocks: priorities, more slots, "virtual" executor which executues controlling jobs only
[10:19] <didrocks> tvoss: the external controller doesn't take jobs on jenkins and only execute real "jobs", not workflow controler jobs
[10:19] <greyback> tsdgeos: very interesting, I hadn't expected that
[10:19] <didrocks> tvoss: mmrazik: having workflow control jobs as a jenkins jobs is a workaround to me
[10:20] <mmrazik> didrocks: e.g. our master jenkins only executes controlling jobs only and with ~25 execs it works just well
[10:20] <didrocks> mmrazik: well, the main idea, before removing the executors is first to have a sensible global view of the stack
[10:20] <didrocks> mmrazik: which isn't possible with jenkins
[10:20] <mmrazik> didrocks: but thats what jenkins is for. We can then just use shell scripts (which might be fine but I fear we will just run into new issues)
[10:20] <didrocks> mmrazik: you don't have 50 jobs controlled by one executor job though
[10:20] <mmrazik> didrocks: ack. that is the dashboard thing -- aggregating information from varios sources into one cohesive view
[10:21] <mmrazik> thats what I 100% agree we need and thats what francis/allan are working towards
[10:21] <didrocks> mmrazik: indeed, and having the executor at the same place definitively avoid having to recode the same "workflow view" twice
[10:21] <mmrazik> didrocks: are all 50 running at the same time?
[10:21] <didrocks> it will be only in one place
[10:21] <didrocks> mmrazik: yeah, we have stacks like webapps and unity with that many subjobs
[10:22] <mmrazik> didrocks: and they run in parallel ?
[10:22] <tsdgeos> paulliu: can you confirm https://code.launchpad.net/~aacid/unity/jenkins_mesa_dri/+merge/162377 works for you too?
[10:22] <didrocks> indeed
[10:22] <mmrazik> didrocks: and they are all control jobs?
[10:22]  * mmrazik doesn't get it
[10:22] <didrocks> mmrazik: no, there is 3 control jobs
[10:22] <tvoss> didrocks, do we have a prototype for celery driving jenkins?
[10:22] <mmrazik> didrocks: so its essentially 3 jobs that is not so bad
[10:23] <didrocks> tvoss: well, the idea is to build that prototype, but I don't think it's that different from my first upstream merger which had tarmac driving jenkins
[10:23] <mmrazik> all the rest is doing actual work and will be translated to jenkins jobs anyway
[10:23] <didrocks> mmrazik: indeed, but then, you recode the workflow once in jenkins
[10:23] <didrocks> and then again in the dashboard
[10:23] <didrocks> (for the presentation layout)
[10:23] <didrocks> which is what can lead to issue, desynchronisation
[10:23] <didrocks> having that in a coherent place makes more sense to me
[10:24] <tvoss> didrocks, so do you plan on having a small quick prototype soon to verify that integration works as expected?
[10:24] <mmrazik> yeah.. this is the part I still don't understand... why I would need to reimplement the workflow in dashboard
[10:24] <mmrazik> I would just take the result of those 3 control jenkins jobs
[10:24] <didrocks> tvoss: that's my goal, as soon as we finish with the utah replacement in 2 weeks with jibel, we are going to work on that
[10:24] <didrocks> mmrazik: that doesn't work, you want to say "unity stack failed because of:"
[10:24] <didrocks> - prepare failed
[10:25] <didrocks> - build fail
[10:25] <didrocks> - check failed
[10:25] <didrocks> - publish in manual mode
[10:25] <didrocks> - wait on this stack which is locked for…
[10:25] <didrocks> so you have multiple cases, and you need to reimplement the workflow, knowing the orders of jobs and so on
[10:25] <didrocks> and you do that in jenkins and the dashboard
[10:25] <mmrazik> didrocks: it still sounds similar to what we do in CI... we want to know that clang failed (as a downstream job) or coverity check failed
[10:25] <mmrazik> and e.g. coverity is just  ageneric job
[10:26] <mmrazik> we just query jenkins for those relationships
[10:28] <tvoss> didrocks, how do we plan on aggregating results from the different jenkins jobs if we do not explicitly model the relations in jenkins?
[10:28] <didrocks> tvoss: this is what celery is getting to use, to "pilot" (hence using the word control) jenkins jobs
[10:28] <didrocks> tvoss: so it will know the status and results
[10:28] <tvoss> didrocks, but how so? purely on a filesystem level?
[10:29] <didrocks> tvoss: ? using the REST api
[10:29] <tvoss> didrocks, okay
[10:29] <didrocks> tvoss: we do use the filesystem level as of today to coordinate stacks and status, as jenkins is forcing us doing that, and that's what wrong IMHO
[10:29] <didrocks> like to know if you skip a step or not
[10:29] <didrocks> this way, we'll remove that part
[10:30] <tvoss> didrocks, in the usual jenkins setup or in the automerger setup?
[10:30] <didrocks> tvoss: I'm speaking of daily release
[10:31] <tvoss> didrocks, which jenkins setup does that use? I was of the impression that the jenkins setup mmrazik is talking about does not use the filesystem for job control purposes
[10:32] <didrocks> tvoss: filesystem is used for two things:
[10:32] <didrocks> - stack synchronization (knowing that a stack is running when another one should wait on it, and then finally getting the other stack status)
[10:33] <didrocks> - and for the -generic PS test job to know if it needs to skip or run the tests (this skip file/flag on the FS was implemented by mmrazik IIRC)
[10:33]  * mmrazik can't recall what is the 2nd thing
[10:34] <mmrazik> (but I'm not saying I didn't do it :-))
[10:34] <mmrazik> the skip part is something I would implement with a job param (but still can't think of when is that used)
[10:34] <didrocks> the /tmp/autopilot.skip I guess (looking at the job)
[10:35] <mmrazik> I didn't do that
[10:35] <mmrazik> or I really can't recall at least
[10:35] <didrocks> was a long time ago TBH…
[10:35] <didrocks> but I'm more concern about the first case, which is stack synchronization
[10:36] <didrocks> and having B waiting on A, being able to possibly force running B or detect that A is stuck
[10:36] <didrocks> still getting the latest status from A
[10:37] <mmrazik> didrocks: still don't get how celery solves this problem
[10:37] <mmrazik> you would need to implement it there as well
[10:37] <mmrazik> in one way or another
[10:38] <mmrazik> while we seem to have it for jenkins
[10:38] <didrocks> mmrazik: celery will have the whole workflow in memory, and with its django binding, we'll be able to reflect that directly in the dashboard
[10:39] <mmrazik> I see
[10:39] <didrocks> mmrazik: if there was not this django <-> celery, I agree, the story would be different
[10:40] <didrocks> I just see an opportunity to easily be able to reflect the workflow and a global status, in one unique place
[10:40] <mmrazik> by essentially replacing jenkins :)
[10:40] <mmrazik> good that sergio is not here. He would applaud :)
[10:41] <didrocks> ahah :)
[10:41] <didrocks> mmrazik: we'll still use jenkins, just not for controlling chaining tasks
[10:41] <mmrazik> didrocks: yeah... but we can just use shell scripts and upload the stdout/stderr to some random server
[10:41] <mmrazik> thats pretty much what you would use jenkins for
[10:42] <mmrazik> in this model
[10:42] <didrocks> mmrazik: that's not untrue, but we'll still be able to have some different slots on different servers, so it's doing the load repartition as well
[10:42] <mmrazik> right
[10:44] <mmrazik> didrocks: well... still not entirely convinced. I think we should move the daily release stuff to the new infrastructure. Keep doing our work on dashboard (displaying stuff from jenkins, aggregatging e.g. coverage data, etc) and then talk in 2 weeks or so
[10:44] <mmrazik> maybe create a small prototype to see
[10:44] <mmrazik> but I would still try to do it separately from the dashboard
[10:44] <mmrazik> and we can just integrate those two when necessary
[10:45] <didrocks> what's the new infrastructure?
[10:45] <didrocks> mmrazik: but yeah, I didn't request help from your team before jibel and I implement a prototype to have celery controlling the workflow :)
[10:46] <didrocks> I don't want to add that task on your shoes :)
[10:46] <mmrazik> didrocks: srry. I meant the utah replacement
[10:46] <didrocks> mmrazik: ah yeah, we are clearly proritazing that :)
[10:46] <didrocks> way more important as it will unblock a lot
[10:49] <tsdgeos> greyback: can to approve https://code.launchpad.net/~aacid/unity/jenkins_mesa_dri/+merge/162377 ?
[10:49] <tsdgeos> E_NO_GRAMMAR
[10:49] <greyback> tsdgeos: parse error
[10:50] <tsdgeos> greyback: care to review https://code.launchpad.net/~aacid/unity/jenkins_mesa_dri/+merge/162377 ?
[10:50] <tsdgeos> it's the waitForRendering stuff
[10:50] <greyback> tsdgeos: ok
[10:50] <tsdgeos> + something mzanetti had alreayd appoved
[10:50] <tsdgeos> +r
[10:51] <greyback> tsdgeos: coolio, looks fine to me. Will do sanity check and approve
[11:25]  * greyback 's soundcard is completely missing, hopes reboot fixes it
[11:27] <tsdgeos> oh dang, another test failed in the dri thing :D
[11:27] <tsdgeos> but CI had worked :-/
[11:38] <paulliu> tsdgeos: yeah, works
[11:38] <tsdgeos> great
[11:40] <greyback> do we have raring based phablet images?
[11:43] <tsdgeos> the images are raring based
[11:44] <greyback> tsdgeos: it's what I thought
[12:53] <Saviq> kgunn, hi
[12:53] <kgunn> mornin' (or afternoon :)
[12:53] <greyback> kgunn: howdy
[12:56] <Saviq> greyback, can you handle standup today?
[12:56] <greyback> Saviq: ok
[12:56] <Saviq> greyback, I'm EOD'ing soon due to anti-jetlag (I imagine tsdgeos will too, soon)
[13:00] <greyback> Saviq: no worries
[13:31] <tsdgeos> dandrader: hi there, can you review https://code.launchpad.net/~aacid/unity/wait_1_rendering/+merge/162782 ? It is failing randomly in CI and following what we just discovered in the other issue with had i think this is "a better" wait than the wait(1)
[13:32] <dandrader> tsdgeos, ok
[14:10] <Saviq> mterry, of course, itemAt(x, y) is not correct... I confused it with Repeater::itemAt(index)
[14:10] <Saviq> which, btw, I blame the APIs for
[14:10] <mterry> Saviq, yeah  :(  I suppose they don't give itemAt(index) because the item may not exist
[14:11] <Saviq> mterry, yeah, but they've no problem with giving currentItem, which has the exact same issues
[14:11] <mterry> Saviq, you were right about QVariant.  Just tried it myself.  Not sure what happened last time I tried it
[14:11] <mterry> Saviq, :)
[14:12] <mterry> Saviq, so I'll go ahead with exposing the liblightdm class as a different name like "UserEnums" or some such
[14:12] <Saviq> mterry, yup, UserRoles would probably be best
[14:13] <mterry> Saviq, sure.  It only has roles as an enum right now, so that's fine
[14:15] <Saviq> mterry, I'll be fine with merging it like it is, but we do need to find a way to avoid getting data by index altogether
[14:15] <Saviq> at some point
[14:15] <mterry> Saviq, why on earth does Qml not give us a more native way to get a data point from a model?
[14:22] <Saviq> mterry, because you're not supposed to do it like this
[14:22] <mterry> Saviq, you're not supposed to need any data from the model outside of a delegate?  That seems unreasonable
[14:22] <Saviq> you might need the data
[14:22] <Saviq> but you shouldn't access it directly from the model
[14:23] <kenvandine> thomi, still around?
[14:23] <Saviq> rather forward it via a signal / binding / property out of the delegate
[14:23] <Saviq> when it becomes current
[14:23] <kenvandine> Saviq, you can drop the online-accounts-qt5-staging PPA now, we don't need it anymore
[14:23] <mterry> Saviq, I'm not convinced that's the Qml way, since delegates are explicitly short-lived and they basically say not to rely on them
[14:24] <Saviq> mterry, yeah, I know
[14:25] <Saviq> especially since current index may be offscreen, in which case the delegate won't get created anyway, nor will currentItem be correct
[14:35] <kaleo> Trevinho: hi!
[14:36] <kaleo> Trevinho: remember our conversation about qmlscene apps not picked up adequately by bamf because of the lack of declared desktop file?
[14:38] <kaleo> mterry: when strictly necessary the custom is to add a get method to the model
[14:38] <kaleo> mterry: that calls data()
[14:38] <kaleo> mterry: though it's rarely necessary
[14:41] <mterry> kaleo, but we ran into some oddities with doing that (most native approach is to return a QVariantMap, but that requires getting all data from the model, which may be expensive)
[14:41] <mterry> plus, why wouldn't Qml make that a default thing?  Or allow a way to do that for all models...
[14:42] <kaleo> mterry: usually we just return one role with the get method
[14:42] <kaleo> mterry: could be default but I guess they would like to avoid people abusing it
[14:44] <kaleo> mterry: maybe there is a bug repot about it
[14:44] <kaleo> +r
[15:31] <dandrader> Saviq, are qmltests disabled in Jenkins?
[16:10]  * greyback eod
[17:47] <ankitkv> is there any proper documentation for using the messaging menu from my C application?
[17:52] <tvoss> tedg, can you help ankitkv?
[17:56] <seb128> tvoss, ankitkv: http://developer.ubuntu.com/api/ubuntu-12.10/c/messaging-menu/MessagingMenuApp.html
[17:56] <tvoss> seb128, awesome, thank you
[17:56] <seb128> yw ;-)
[17:59] <ankitkv> thank you :)
[21:15] <bozonius> am i in the right place to ask about unity desktop?
[21:15]  * bozonius assumes yes
[21:16] <bozonius> how do I get the bacula tray monitor to show up somewhere in the panel?
[22:11] <slangasek> smspillaz: hey, so fwiw only the first of the two cherry-picked commits seemed to be associated with the bug in question... the latter was what kenvandine pointed me at as a possible proper fix /from you/ for the bug :)
[22:11] <slangasek> smspillaz: anyway, I'm still seeing less-than-perfect window placement handling with those commits after all, so feel free to nuke that MP from orbit