[07:29] <jibel> pitti, I made some progress on a nova setup script for the ssh runner. I'd need to add a wait_for_ssh in adt-virt-ssh because nova returns when the VM is active but it takes a moment before ssh is really listening. Are you okay with that or do you think of another way to do it?
[07:29] <pitti> jibel: no, that's a good idea; it can affect LXC as well
[07:30] <pitti> jibel: http://anonscm.debian.org/gitweb/?p=autopkgtest/autopkgtest.git;a=shortlog;h=refs/heads/adt-virt-ssh is up to date with what I have
[07:30] <pitti> (except the test cases)
[07:30] <jibel> pitti, ok, that's the branch I checked out
[07:31]  * pitti AFK for a bit
[07:42] <pitti> hm, I'm getting sh: 1: Syntax error: Bad fd number
[07:42] <pitti> for a tar copy
[08:09] <pitti> jibel: did you happen to run into something like that? http://paste.ubuntu.com/7709955/
[08:09] <pitti> jibel: that's the closest I got so far
[08:10] <pitti> jibel: i. e. with multi-line scripts it fails
[08:10] <pitti> $ bash -x /tmp/runcmd sh -ec 'exec 3>&1 >&2; whoami'
[08:10] <pitti> that works fine
[08:10] <pitti> jibel: so it's getting confused by line breaks somehow
[08:14] <jibel> indeed quoting is completely different: sh -ec $'exec 3>&1 >&2\nwhoami' for the 1rst case and sh -ec exec\ 3\>\&1\ \>\&2\;whoami for the second
[08:14] <jibel> I never noticed that before
[08:15] <pitti> jibel: I'm ssh'ing into LXC, not sure if that makes any difference
[08:16] <pitti> but I had assumed that pretty much any test would need to run scripts
[08:16] <pitti> $ ./run-from-checkout -B ~/ubuntu/tmp/testpkg// --- ssh -s ssh-setup/adb
[08:16] <jibel> pitti, it is not related to lxc, because if you execute it directly it's the same errpr
[08:16] <pitti> but this stilll works fine
[08:16] <jibel>  sh -c "sh -ec $'exec 3>&1 >&2\nwhoami'"
[08:16] <jibel> sh: 1: Syntax error: Bad fd number
[08:18] <pitti> jibel: oh, the >3 bits are only done from build_source()
[08:19] <jibel> pitti, re wait_for_ssh, I'll add a retry argument to VirtSubproc.check_exec(), what do you think?
[08:20] <pitti> jibel: ah, I would just do that loop in virt-ssh's setup, and call VirtSubproc.execute_timeout until it succeeds
[08:21] <jibel> pitti, ok
[09:24] <jibel> pitti, autopkgtest in a nova instance: ./run-from-checkout --setup-commands="apt-get update" -d libpng --- ssh -s ssh-setup/nova -d -l ubuntu -- -f 1 -k j-lallement -i 138cdd41-e72d-4f98-b394-db2b66ba24af
[09:24] <jibel> \o/
[09:24] <pitti> yay!
[09:25] <pitti> jibel: still wondering how you can evade that quoting issue; maybe it behaves differently if you have sudo in between?
[09:25] <pitti> jibel: but anyway, after wresting with lots of various shell trickeries, I resigned and changed adt-run to never give commands with newlines
[09:33] <pitti> jibel: what's that magic -i number?
[09:34]  * knome never knew "c" (etc) is a number
[09:34] <jibel> pitti, -f is the flavor (m1.tiny ...) -i the id of the image
[09:35] <jibel> -k the name of your key in the keypair you registered
[09:35] <pitti> jibel: ah, of course
[09:35] <jibel> pitti, I tried in canonistack, it probably work in hpcloud but didn't try
[09:36] <pitti> test_no_script_no_root (__main__.SshRunner)
[09:36] <pitti> no setup script, no root ... ok
[09:36] <pitti> test_password (__main__.SshRunner)
[09:36] <pitti> no setup script, no root, password auth ... skipped 'ssh password auth is not implemented'
[09:36] <pitti> \o/
[09:38] <pitti> jibel: ok, I committed two fixes to master (one of them the \n → ; change, to avoid the %q madness), and rebased the adt-virt-ssh branch
[09:38] <pitti> jibel: does git pull just work for you, or does that complain?
[09:39] <jibel> pitti, it seees to be happy, just complained that I changed adt-virt-ssh too
[09:39] <jibel> seems
[09:39] <pitti> jibel: ah, so "git stash save", "git pull", "git stash pop"
[09:40] <jibel> pitti, yup,
[09:41] <jibel> pitti, i'm adding a cleanup and will send you the nova setup script and my changes for review
[10:03] <pitti> jibel: would you mind pulling again, and see how far this gets? ADT_TEST_LXC=adt-utopic tests/adt-run  SshRunner
[10:04] <pitti> jibel: I have a suspicion it'll fail because your tests/home/.ssh/id_rsa is not 0600, but 0644 or so (then ssh complains); git doesn't seem to maintain permissions that way
[10:04]  * pitti makes it robust against that anyway
[10:04] <pitti> ah yes, even a simple checkout master / checkout adt-virt-ssh makes it fail
[10:05] <pitti> jibel: so hold on
[10:07] <pitti> jibel: ok, fixed; can you please give it a try?
[10:28] <jibel> pitti, ADT_TEST_LXC=adt-trusty-amd64 tests/adt-run
[10:28] <jibel> Ran 95 tests in 517.676s
[10:28] <jibel> OK (skipped=32)
[10:29] <pitti> jibel: splendid! You can run only the ssh ones with ADT_TEST_LXC=adt-trusty-amd64 tests/adt-run SshRunner
[10:29] <jibel> (amongst which sshrunner)
[10:29] <jibel> pitti, they all ran and passed
[10:30] <jibel> correction 1 skipped
[10:30] <pitti> jibel: right, expected; I wrote a test case for "password but no ssh key", and then realized that this isn't implemented yet
[10:31] <pitti> (but we should at some point, by faking an SSH_ASKPASS)
[10:38] <pitti> jibel: open and setup are really redundant, right? I'd consolidate this to use open only to correspond to the adt-virt protocol
[10:38] <jibel> pitti, agreed
[10:41] <pitti> jibel: WDYT? http://paste.ubuntu.com/7710515/
[10:41] <pitti> jibel: that's a ssh-setup/SKELETON file
[10:42] <jibel> pitti, LGTM
[10:43] <pitti> jibel: pushed that and the setup/open unification
[10:43] <jibel> pitti, I'm nearly done with nova. I'll finish it after lunch
[10:44] <pitti> jibel: so I suppose you need to adjust nova now
[10:44] <jibel> pitti, right, that's why I'm nearly done essentially :)
[10:48] <pitti> jibel: ah, so for an external lxc setup script I'll also need the "state" string that open() can generate; you already did that, right?
[10:48] <pitti> ok, running + lunch, bbl
[10:48] <jibel> pitti, yes, I added an 'extraopts' key that is passed back to the script
[10:49] <jibel> pitti, the form is extraopts="key1=val1 key2=val2 [...]"
[10:49] <jibel> pitti, then there is a function to return the value for a key
[10:50] <pitti> jibel: ah, is that easier to handle than extraopts=-d /foo -i myid ?
[10:50] <pitti> or just a string which is passed back verbatim as --state
[10:51] <pitti> jibel: sure, works as well; that function needs to be in every setup script then, right?
[11:33] <jibel> pitti, right, your approach is more generic, I'll change that
[12:50] <elopio> ping ubuntu-qa: can somebody review this please?
[12:50] <elopio> https://code.launchpad.net/~elopio/ubuntu-calendar-app/fix1332173-swipe_to_create_new_event/+merge/224735
[12:51] <elopio> la_juyis: I'm here for when you want to pair program.
[12:51] <la_juyis> elopio, great! I think I'll be ready in ~1hr
[13:05] <pitti> jibel: shockingly, writing tests for "with setup script" revealed another bug :) fixed/tests pushed
[13:06] <pitti> jibel: (I created that bug, so I'm just proving myself wrong)
[13:06] <jibel> pitti, it's impossible, the bug must be in the test ;P
[13:30] <jibel> pitti, http://paste.ubuntu.com/7711161/ setup script for nova + extraopts + small fixes
[13:31] <jibel> pitti, tested on canonistack, it should work the same on hpcloud, maybe the detection of the IP will be a bit different depending on the output of nova show
[13:49] <pitti> jibel: landed click support in master now!
[13:49]  * pitti tests virt-ssh with click then
[13:52] <pitti> jibel: adt-virt-ssh branch rebased against master with click, so we can test the two together now
[13:54] <jibel> pitti, I filed bug 1335134 to not lose the diff for nova
[13:54]  * jibel updates master
[13:54] <pitti> jibel: I have it in a tab, but thanks
[13:54] <pitti> jibel: sorry, haven't looked yet, was busy with rebasing and fixing some conflicts
[13:55] <jibel> pitti, no problem, that's why I filed a report.
[13:56] <jibel> Yay autopkgtest 3.0 \o/
[13:56] <pitti> hehe
[13:56] <pitti> One Runner to Rule Them All!
[13:58] <jibel> pitti, I'll teach the nova runner to create snapshot so it doesn't always have to create a new instance, and that'll open the revert capability
[13:58] <pitti> jibel: nice
[13:58] <pitti> jibel: also, I had the idea of speeding up virt-ssh by using ssh connection sharing; I'll file that as a bug too
[13:59] <pitti> bug 1335136
[14:01] <jibel> pitti, did you try click on the phone already?
[14:02] <pitti> jibel: not yet, currently writing a test for click + ssh
[14:03] <pitti> jibel: and BAM!, bug found; I hate test suites! :-)
[14:04] <pitti> yeah, passing --setup-commands through the ssh runner is again that quoting issue
[14:05] <pitti> jibel: ok, this is still broken in some ways, that's something for next week I'm afraid
[14:06] <pitti> jibel: I need to change the way --setup-commands works, to avoid running the commands through the auxverb :(
[14:08] <pitti> or we need a proper fix for quoting of commands containing \n
[14:14] <pitti> jibel: http://paste.ubuntu.com/7711353/
[14:14] <pitti> jibel: !!
[14:15] <pitti> now, *drumroll*, putting it all together
[14:15] <jibel> pitti, !!!!
[14:15] <jibel> :)
[14:16] <pitti> jibel: http://paste.ubuntu.com/7711366/
[14:16] <pitti> jibel: we somehow need to export the phone user's environment to that runner
[14:16] <pitti> jibel: i. e. in the setup script
[14:17] <pitti> so with "su" I get the env
[14:18] <pitti> hm, also with ssh
[14:18] <jibel> pitti, isn't it because we do a sudo su and lose the env at some point?
[14:18] <pitti> but presumably not throgh sudo
[14:18] <pitti> phone, brb
[14:18] <jibel> try with sudo -E
[14:38] <pitti> jibel: it's probably not on that side, we need su -l or so
[14:39] <pitti> root@ubuntu-phablet:~# su -c 'env|grep UPSTART' phablet
[14:39] <pitti> root@ubuntu-phablet:~# su -l -c 'env|grep UPSTART' phablet
[14:39] <pitti> UPSTART_SESSION=unix:abstract=/com/ubuntu/upstart-session/32011/1312
[15:03] <jibel> pitti, ah it's the same -l that solved the cd . permission denied. it makes sense
[15:03] <pitti> jibel: it just breaks other stuff :/
[15:18] <balloons> ubuntu-qa, can someone review these pep8 fixes. Should be really quick check; https://code.launchpad.net/~nskaggs/ubuntu-terminal-app/new-pep8-fixes/+merge/224856, https://code.launchpad.net/~nskaggs/ubuntu-rssreader-app/new-pep8-fixes/+merge/224855, https://code.launchpad.net/~nskaggs/ubuntu-clock-app/new-pep8-fixes/+merge/224853, https://code.launchpad.net/~nskaggs/dropping-letters/new-pep8-fixes/+merge/224857
[15:18] <elopio> balloons: me _o/ choose me!!!
[15:18] <balloons> elopio, :-) I think that's the rest of the core apps that needed it
[15:18] <la_juyis> balloons, i can do at least some
[15:19]  * elopio cedes the job to la_juyis
[15:19] <elopio> go and earn some nice karma.
[15:20] <la_juyis> elopio, :D
[15:21] <elopio> balloons: can you review this one? https://code.launchpad.net/~elopio/ubuntu-calendar-app/fix1332173-swipe_to_create_new_event/+merge/224735
[15:23] <balloons> elopio, oO.. is this what I think it is? ;-)
[15:25] <elopio> balloons: probably not. I went a little crazier on this one and it got big.
[15:27]  * balloons sees an EventBubble class.. Leo went ham!
[15:35] <jibel> pitti, last but not least a man page http://paste.ubuntu.com/7711679/
[16:07]  * tachyons_ is away: Away , ദൂരെ 
[16:22] <balloons> elopio, so you don't interact with the the time and date spinners
[16:22] <balloons> I assume because of the AP date/time issues we encountered?
[16:23] <balloons> we should link that bug.. let me find it
[16:26] <elopio> balloons: I didn't do it in this branch because the original test wasn't doing it.
[16:27] <elopio> I haven't even tried yet.
[16:27] <balloons> elopio, yea, that code must have been completely gutted. I had code to do it, I clearly didn't leave it as a comment I guess. It used the new helper
[16:29] <elopio> balloons: what's next after this branch should be to add an event for the future.
[16:29] <elopio> I'm not sure if I will be able to do it next week though.
[16:29] <balloons> elopio, https://bugs.launchpad.net/autopilot/+bug/1328600
[16:29] <elopio> balloons: oh, right, that one.
[16:30] <elopio> we need the autopilot guys to fix it first.
[16:30] <balloons> elopio, I would simply note the bug and give a small comment about setting times
[16:30] <balloons> elopio, yes, but that way we don't forget and try and add the time selection
[16:30] <elopio> balloons: in progress...
[16:33] <elopio> balloons: pushed.
[16:38] <balloons> elopio, shouldn't class DayView inherit the Page class?
[16:42] <balloons> actually I suppose many pages might make sense to import from page.. I realize they don't use the methods atm... Also should clean up the imports, still using     emulators as toolkit_emulators
[16:51] <elopio> balloons: I think that page class should be removed.
[16:51] <elopio> you shouldn't just drag a page up or down.
[16:51] <elopio> you should drag it to make something visible, and I think it's clearer if you call that something.swipe_into_view()
[16:51] <balloons> elopio, that's also an option
[16:52] <elopio> so, the Page object will be eventually without methods, and then it makes no sense to add it to the class hierarchy.
[16:52] <elopio> we do need a page helper. But I think it will have something like a reference to the previous page, and a go_back method that opens it.
[16:53] <balloons> I'm happy with cutting it.. but if it stays you should use it
[16:53] <elopio> balloons: oh, I didn't notice it's not longer in use.
[16:54] <elopio> so if you are happy with what I said above, I'll remove it.
[16:54] <balloons> elopio, yes when you mentioned the methods I was thinking why they existed.
[16:55] <balloons> elopio, it's used in test_yearview I see at least
[16:57] <elopio> balloons: humph, I can't find where that self.page is defined
[16:59] <elopio> balloons: I think that means test_yearview will fail in 4 days.
[16:59] <balloons> elopio, :-)
[16:59] <balloons> well we caught it in time
[17:03] <elopio> balloons: I'll report the bug. That can be done with swipe_into_view if the element is loaded, of with flickable.click_element if we have to scroll for it to be created.
[17:08] <elopio> https://bugs.launchpad.net/ubuntu-calendar-app/+bug/1335241
[17:10] <balloons> hmm.. I set my month locally to a later date
[17:15] <balloons> still seems to be fine
[17:16] <balloons> ahh, broke it :-)
[17:19] <elopio> balloons: when you have time, remind me to talk about patching home and about reminders.
[17:19] <balloons> elopio, I haven't forgotten.
[17:20] <balloons> elopio, let's chat after lunch on it eh?
[17:20] <balloons> elopio, I think for the merge as-is, I would like to see Page removed. We can fix the scroll issue in another mp
[17:21] <balloons> I'll approve
[17:21] <balloons> top approved, thanks
[17:46] <elopio> thanks balloons