/srv/irclogs.ubuntu.com/2014/08/29/#ubuntu-devel.txt

mwhudsonthere's nothing in trusty-proposed currently that's going to eat my system, right? :)00:12
Unit193Hello, Xubuntu plans to upload a xfce4-power-manager to correctly build a plugin, and it's stuck/waiting on Bug #1361459.01:23
ubottubug 1361459 in lxpanel (Ubuntu) "lxpanel is missing the development files" [Undecided,New] https://launchpad.net/bugs/136145901:23
jaminxnox, there's a second breakage in oem-config03:37
jaminI've worked around it, looks like a change with python3 as the code looks the same as what was working in python2, but FDs are too aggressively closed, resulting in the handle to /dev/urandom being closed before a tempfile can be made03:39
SpamapSwow.. getting 107kB/s to archive.ubuntu.com from my 30Mbit connection here in Los Angeles..03:52
SpamapSwhere do the archive ops people hang out?03:52
jaminhttps://bugs.launchpad.net/ubuntu/+source/oem-config/+bug/136292004:19
ubottuLaunchpad bug 1362920 in oem-config (Ubuntu) "OSError: [Errno 9] Bad file descriptor" [Undecided,New]04:19
jaminxnox, bug 1362920 contains what appears to be the final blocker to getting oem-config to work on server installs again04:27
ubottubug 1362920 in oem-config (Ubuntu) "OSError: [Errno 9] Bad file descriptor" [Undecided,New] https://launchpad.net/bugs/136292004:27
pittiGood morning04:39
pittiinfinity, ogra_: no, I just need VERSION_ID and NAME in /etc/os-release for apport, nothing else; I changed the rest just for consistency04:40
pittiinfinity, ogra_: we can change some bits back if necessary; but RELEASE ceratinly should not be 14.10, that'd be a lie?04:41
pittiand codename, too; 14.09 != utopic04:41
pittisergiusens: what is a flo?04:41
pittisergiusens: what do you mean with "ignored"? the rule isn't being applied, or udisks still treats it as a removable disk?04:43
pitticjwatson: triggering autopkgtests from buildds is a bit early, as they need to be published and installable04:44
pitticjwatson: running them *on* the buildds only works for tests which are simple enough to work in a chroot04:44
pitticjwatson: while that's true for the majority, a sizable chunk need a container or even a full VM04:44
pittilifeless: thomi is asking about an update of python-testtools to latest upstream; is it ok if I do that in Debian, or want to do that?04:50
thomioh, I just asked in #subunit :D04:50
thomiparallel nagging :)04:51
cjwatsonpitti: I don't mean on the buildds as in during normal package builds05:25
cjwatsonpitti: I mean as a different job type that happens to be dispatched by launchpad-buildd05:26
cjwatsonpitti: So it could do anything that can be jammed into launchpad-buildd, though if it needs starting a fresh VM as part of the tests then we'd have to think about whether nested virt is going to work ...05:27
pitticjwatson: I tried nested KVM some six months ago, it was devastating :(05:28
cjwatsonpitti: (Or run on the non-virtualised builders, but those don't scale well and ultimately we should be planning for them to go away)05:28
pittimaybe utopic's kernels and qemu are better, but for now we try to avoid it05:28
cjwatsonpitti: Does it need to run a VM under control of some other part of the job, or would it be sufficient if the entire job were run in a fresh VM?05:28
pitticjwatson: but actually the direction has been to distribute the jobs through rabbitmq and use a proper cloud (currently HP cloud)05:28
cjwatsonpitti: Launchpad's virtualised builders are a proper cloud, FWIW, but OK ...05:29
pitticjwatson: a fresh temporary VM is what we need; the control can even happen from a remote machine (although a local machine is more robust and avoids the assumption that ssh works all the time)05:29
pitticjwatson: I mostly know that just running a gazillion jobs on the 4 machines that we currently have doesn't work05:30
pittievery gcc upload causes jamming if there's also upgrade and dkms jobs running in the background05:30
cjwatsonWe have three machines running all of Launcompute nodes running all Launchpad's dvirt builders right now, soon to be six05:31
cjwatsonurgh, let's try that again05:31
pitticjwatson: anyway, if we can/want to use the "LP builder cloud", that seems fine05:31
cjwatsonWe have three compute nodes running all Launchpad's virt builders right now, soon to be six05:31
cjwatsonWell, if you have a solution already with HP cloud, then maybe there are other more useful things to focus on05:32
cjwatsonI just thought it might be worth some consideration05:32
pitticjwatson: ah, not yet "have"; the CI airline is using it, and vila has worked on running autopkgtests there05:33
pittibut it's not deployed yet05:33
pitticjwatson: will the LP cloud sustain 50 job requests in parallel? it might quickly run into the same scaling problems?05:33
pitticjwatson: I'm not emotionally attached to using one cloud or the other; I'm just eager to get rid of jenkins and manually administrating servers05:34
cjwatsonpitti: Seems to sustain full parallelism for its number of builders right now; the thing that sucks is lots of parallel resets, but we mostly avoid storms there by cleaning at the end of builds rather than at the start05:35
cjwatsonWhich AIUI tends to spread things out a bit05:35
pitti*nod*; good to keep that option in mind05:35
cjwatsonpitti: The new infra is certainly noticeably higher-performance than what we used to have, which took something like 20x the number of machines05:36
pitticjwatson: ci.debian.net currently doesn't have any parallelism at all; it's a single machine which does everything and just runs amd6405:36
pitticjwatson: but I suppose Debian's buildds couldn't take the load05:36
pitticjwatson: I've been developing this in close coordination with terceiro to have something that works for both D/U05:36
pitticjwatson: (if he's at debconf, say hello :) )05:37
cjwatsonDebian's buildd network has rather less capacity than ours for the most part, and wanna-build isn't at all set up to be able to dispatch non-package-build jobs05:37
cjwatsonI stopped into the last bit of his debci talk today, though missed most of it05:37
cjwatsonHaven't actually spoken to him yet though05:37
cjwatsonI actually do think doing it from the buildd network would be an even better idea for Debian as it is for Ubuntu, since Debian is often operating under tighter hardware constraints and that's exactly when you need to consolidate your resources05:38
cjwatsonBut I don't have time to implement it in Debian, so it's just talk :)05:38
pittiit'd certainly settle the "multiple architectures" aspect, although on most you can probably just get LXC; but that gives you 95% of what we need, and the remaining 5% can then just run on x86 (not a biggie)05:39
cjwatsonThough for Ubuntu we'd need to have non-x86 working in scalingstack before we get that benefit.05:41
cjwatson(Which is on the roadmap, but I don't know when)05:41
pittifor armhf/ppc64el we can probalby just continue to use the bunch of "static" machines that we have; we shouldn't lock ourselves into migrating them all at once05:42
errekerrewolas05:44
errekerresaveis de linux?05:45
errekerreprimero savies español?05:46
errekerresaveis?05:46
pittierrekerre: sorry, this is an English channel05:46
errekerrevalla por dios05:47
errekerrealguna sala ke hablen español?05:47
=== sletta_ is now known as sletta
infinitypitti: It's not really a lie, it's a snapshot of 14.1005:55
pittiinfinity: it's called 14.09 in Launchpad..05:55
infinitypitti: Sure, but whatever.05:56
pittiso by not calling it what it is in LP we can't match it to bugs/crashes/etc.05:56
infinitypitti: There are build systems that define their behaviour based on version and codename, you're opening a can of worms by suddenly defining a new one.05:56
pittiand "Ubuntu RTM" doesn't have a 14.10 or utopic release05:56
pittiinfinity: well, I didn't start with this -- we defined a wholly new distribution for this (not just a new Ubuntu release)05:57
pittiand that wholly new distribution doesn't have "utopic" or "14.10" releases..05:57
pittiso it doesn't make sense to talk about Ubuntu RTM utopic05:57
infinitypitti: Yeah, I know, but it's a short-lived fork (or bloody well should be), not something we should be adjusting tooling and potentially a bunch of packages for.05:57
infinityGCC, for instance (to pick one at random) picks its defaults based on release codenames.05:58
pittiinfinity: hm, we spent weeks on fixing all our tools (LP, buildds, ddebs, retracers, transaltions, langpacks, etc) for a second distro05:58
infinityPossibly bugs in packages that do so, but a lightweight fork for a pre-release freeze isn't the time to find those bugs.05:58
infinitypitti: We fixed infrastructure, but are you prepared to find all the packages that will break if rebuilt against a base-files with a weird unknown distro?05:59
pittiwe already found bugs because it's wrong -- add-apt-ftparchive, apport, etc.05:59
zygainfinity: hi06:00
pittiinfinity: well, perhaps we should have considered that before we put that giant pain of "maintain a parallel distro" upon us?06:00
pittiinstead of at least just a new ubuntu release06:00
zygainfinity: we've finished automatic testing of 3.2 yesterday but we got a few issues that needed to be re-checked06:00
pittiinfinity: now it's broken either way06:00
zygainfinity: I'm just checking if we have the results of that06:00
infinitypitti: Really, modulo a few small forks, it *is* utopic/14.10 (though a pre-release), could we not just figure out how to make apport add an extra key only in the rtm version?06:00
infinitypitti: ie: patch apport in ubuntu-rtm instead of changing base-files and trying to find all the package bugs?06:01
pittiinfinity: well, we could -- but like you said, are you prepared to find out everything which is now broken due to that? :-)06:01
infinitypitti: apport/whoopsie/daisy seems like a much smaller set of things to twiddle than "every package that we don't know might be broken".06:02
pittie. g. apt thinks its package origin is "Ubuntu RTM"06:02
pittiinfinity: how do you know that in advance?06:02
pittiinfinity: if there's lots of packages broken by correcting os-release, then there's at least as many packages potentially broken by not fixing it06:02
pittiwe can't know06:02
infinitypitti: Err, what would be broken by not changing it?06:02
pittiinfinity: yes, we can certainly hack apport to hardcode "Ubuntu RTM" "14.09" and ignoring /etc/os-release, and do that for other things like add-apt-ftparchive too06:03
pittibut we have to find all those06:03
infinityHow does add-apt-ftparchive relate?06:03
pittiinfinity: adding a PPA can't add ubuntu/utopic, it has to add ubuntu-rtm/14.09 apt sources06:03
infinityAnd I assume you mean add-apt-repository?06:03
pittierr, yes06:04
pittinot sure whether aptdaemon looks at this06:04
infinityDo we really expect people to build a PPA community around this release whose entire raison d'etre is to not exist very long?06:04
pittiinfinity: we already do -- they are called Ubuntu RTM silos, and people test them all the time06:04
infinityAFAIK, the goal is to drop it like a hot potato and move to utopic as soon as we can.06:05
pittiinfinity: I certainly hope we can drop it again06:05
pittiinfinity: but then I don't understand why we spent so many manweeks of making sure that our infrastructure can get along with that separate distro06:05
pittiit seems like an awful lot of investment for something which just lasts for a few weeks06:05
infinityThe silo argument is a developer workflow thing, that's a little less interesting, as I'd hope our developers know how to add apt sources without a magic tool.06:05
infinitypitti: It was the lesser of many potential evils.  *shrug*06:06
pittiso how do we tell if we are running on RTM/14.09 or Ubuntu/Utopic without os-release/lsb-release?06:07
infinitypitti: apport could know by being forked.06:07
pittiinfinity: you could say the same about gcc..06:07
infinitypitti: Yes, but gcc doesn't need to know, does it?06:07
pittior aptdaemon, or add-apt-repository, or what not06:07
infinitypitti: You're trying to solve a specific problem here (you want bucketing to be different, though I'm not sure I actually see much value in that).06:08
pittithe entire point of having a correct os-release is that all our tools can look at it and not hardcode stuff06:08
pittiinfinity: you said above that changing os-release breaks it?06:08
infinity"it"?06:08
pittigcc06:08
pittiinfinity | GCC, for instance (to pick one at random) picks its defaults based on release codenames.06:09
infinityI said it could potentially do so.  I'd have to look at debian/rules to be sure.06:09
infinityIt'll break llvm.06:09
pittiso we need to grep RTM for usage of /etc/os-release, /etc/lsb-release, and lsb_release, and fix/hardcode stuff to use RTM/14.09 instead where appropriate06:10
infinityIt might even break llvm at runtime, actually, which is even more fun than breaking gcc at build time.06:10
infinitypitti: I'm not sure I have the energy to discuss this tonight, but fundamentally, it feels like a waste of time to patch in support for a release that isn't going to get any ongoing support.06:13
pittiinfinity: I don't know about the support; it just feels like we have wasted the previous weeks if RTM isn't a longer-lived thing06:14
infinityIf it's a longer-lived thing, we failed miserably to achieve our goals.06:14
infinityThe point of the fork was just to give the rtm people a stable base to work against because their release target is a little over a month before Ubuntu's.06:15
infinityOnce utopic is out, RTM shouldn't be a thing anymore.06:15
infinityAnd, indeed, it should upgrade to released utopic.06:15
pittiinfinity: so, don't get me wrong -- I'm ok with hardcoding stuff in apport and ignoring os-release if that's the smaller amount of work; the thing that just makes me grumpy is that now RTM is going to go away in a few weeks?06:15
infinitypitti: Probably more than a few weeks, I imagine people will iterate on it for a little while, but it should go away shortly after utopic is released unless we're doing something wrong.06:16
infinitypitti: Maintaining a long-term fork is something we don't have the resources to do, and we'd be crazy to try.06:16
pittiit was so much pain and effort to get that working, and doing an entirely new release seems absolutely pointless then06:16
pittis/release/distro/ I mean06:17
pittia new release would have been right06:17
infinitypitti: The other option was snapshot the entire archive and maintain it without the help of our usual tools, either in an external repo or a giant PPA of doom.06:17
infinitypitti: The derived distro path was more elegant.06:17
pittibut that's what we call a distro release..06:17
infinitypitti: A new release causes some issues in that our release model is linear.06:17
pitti-updates?06:18
infinityErr, how would that help?06:18
pittiand 14.09 is before 14.10, so no problem there06:18
pittiand if people want to backport fixes from utopic to 14.09, there's 14.09-updates06:18
pittianyway, this is all moot now06:18
infinityYou mean everything targeted to 14.10 from now until release would go in updates, so as to not break the release pocket?06:18
infinityCause, ew.06:18
pittierr, no?06:18
pittiutopic wouldn't change, but some fixes we might want in the 14.09 release, and then utopic is the next release after 14.0906:19
infinityThat would be two open development releases.06:19
pittiI don't see how it is any different than trusty/utopic, except that it's not 6 months apart but 5, then 106:19
infinityWhich breaks the world.06:19
infinityOr opening, forking, and immediately "releasing" 14.09, and then doing everything as SRUs.06:20
pittiand 14.09 would be stable now, and can receive SRUs06:20
infinityThat might have worked.06:20
infinityBut we didn't do it.06:20
infinitySo, whatever. :P06:20
infinityIt also lends even more legitimacy to an illegitimate thing.06:20
infinityLike, we wouldn't want it on archive.u.c, etc.06:21
infinitypitti: Anyhow, I agree it's all a mess, but it's the best mess we could come up with when pressed for options.06:22
pittiso now we have two entirely different distros and releases which both claim to be Ubuntu 14.1006:22
pittiI guess an RTM archive grep is in order then06:22
infinitypitti: My only advice on the matter is to not put too much effort into trying to make it messier.  The RTM archive should focus mostly on polishing the user experience as much as it can, the rw/apt-ppa/etc experience might not need to be perfect.06:23
zygainfinity: 3.2 is good to go06:44
dholbachgood morning06:55
infinityzyga: Ta.07:01
lifelesspitti: DPMT ftw07:53
pittilifeless: I'm not officially in that team07:53
pittihence I'd rather ask before07:53
lifelesspitti: ah07:53
lifelesspitti: so I *think* we moved it into that team07:54
pittilifeless: yes, it is07:54
lifelesspitti: so - long as you follow the protocol (commit metadata to svn etc) I'm cool with you doing occasional uploads; I can't speak for the whole team of course07:54
pittilifeless: yes, of course I'd use the svn07:55
=== Mikee_C_afk is now known as Mikee_C
pittilifeless: uploaded and committed to svn08:41
lifelesspitti: cool08:46
=== Zic is now known as Guest75714
=== Guest75714 is now known as Zic
=== inaddy is now known as tinoco
=== superm1_ is now known as superm1
=== Trevinho_ is now known as Trevinho
=== Tribaal_ is now known as Tribaal
tjaaltonhrm, sbuild post-build phase triggers some security warning on trusty, started recently..09:53
=== Quintasan_ is now known as Quintasan
tjaalton"problem with defaults entries"09:54
tjaaltonmaybe messed things up myself, but no idea where09:54
Riddellany ppc64el experts able to take a look at sflphone?09:55
Riddellhttps://launchpad.net/ubuntu/+source/sflphone/1.3.0-1ubuntu3/+build/6263494/+files/buildlog_ubuntu-utopic-ppc64el.sflphone_1.3.0-1ubuntu3_FAILEDTOBUILD.txt.gz09:56
=== lool- is now known as lool
=== ming is now known as Guest50175
=== NComman`` is now known as NCommander
=== arrrghhhZ is now known as arrrghhh
flexiondotorgcjwatson, May I DM you quickly?10:04
flexiondotorgNot a support request.10:05
=== semiosis_ is now known as semiosis
=== psivaa is now known as psivaa-off
=== ev_ is now known as ev
=== nik90_ is now known as nik90
=== TheMaster is now known as Unit193
=== greyback__ is now known as greyback
=== mitya57_ is now known as mitya57
=== ivoks_ is now known as ivoks
=== xnox_ is now known as xnox
=== zoktar_ is now known as zoktar
=== inaddy is now known as tinoco
=== popey_ is now known as popey
=== Adri2000_ is now known as Guest54399
=== beisner- is now known as beisner
=== henrix_ is now known as henrix
=== sletta_ is now known as sletta
=== FourDollars_ is now known as FourDollars
=== MacSlow is now known as MacSlow|lunch
=== bigon_ is now known as bigon
mardyLaney: hi! Can I bug you for bug 1029289?11:02
ubottubug 1029289 in Online Accounts: Account plugins "Need to authorize my google account each time I boot the computer" [Critical,In progress] https://launchpad.net/bugs/102928911:02
=== dkessel_ is now known as dkessel
=== _salem` is now known as _salem
=== _salem is now known as salem_
=== alai` is now known as alai
=== Sweetsha1k is now known as Sweetshark
=== ev_ is now known as ev
=== cody-somerville_ is now known as cody-somerville
Riddellwho looks after usb-creator these days? there's a fix just been proposed12:18
seb128Riddell, nobody12:20
Riddellyes I susected as much12:20
Riddellthis seems like quite a failing of us all :(12:21
seb128Laney said he would be interested to look at some of the issues on it iirc (but I might be wrong), I don't think he's interested to become officially maintainer/reviewer though ... maybe check with slangasek if foundation has somebody would could take over it instead of xnox (might need to wait for them to hire somebody)12:22
sergiusens_pitti: flo is the codename for the "nexus 7 2013 wifi" device12:25
sergiusens_pitti: the hint is not being applied when looking at the object path for the blocks over udisks212:26
=== beuno_ is now known as beuno
=== Pici` is now known as Pici
=== ssweeny` is now known as ssweeny
Saviqsergiusens_, hey, ciborium is really moody about failing to add a storage device... that I don't have any in the first place12:52
ogra_moody ?12:52
ogra_for me it fails all the time on first attempt after reboot12:52
ogra_but then pisk up the SD just fine12:53
ogra_*picks12:53
Saviqogra_, yeah, I don't have any SD12:53
Saviqogra_, and mako doesn't even *do* SD12:54
sergiusens_Saviq: flo?12:54
Saviqsergiusens_, mako and krillin12:54
Saviqogra_, it's messing with our autopilot tests12:54
sergiusens_Saviq: really? mako?12:54
sergiusens_Saviq: image?12:54
Saviqsergiusens_, https://docs.google.com/a/canonical.com/file/d/0B32jwBcbaPloRGo5OGd3MmhhQVk/edit12:55
sergiusens_Saviq: not supposed to display anything on mako12:55
Saviqsergiusens_, latest devel-proposed12:55
sergiusens_Saviq: rtm?12:55
Saviqsergiusens_, no, devel-proposed, but the same happens on krillin rtm12:55
Saviqsergiusens_, r213 mako12:56
sergiusens_Saviq: I've been running on mako for a week before this landed12:56
Saviqsergiusens_, rtm@r4 on krillin12:56
Saviqsergiusens_, run the unity8 ap test, maybe that triggers it (it restarts unity8 repeatedly)12:57
sergiusens_Saviq: you can "stop ciborium" to get it out of the way; I'm going to need some logs12:57
sergiusens_Saviq: is this on the ci dashboard?12:57
Saviqsergiusens_, not *yet*12:57
Saviqsergiusens_, local run12:58
Saviqsergiusens_, but I've seen it on our ci too12:58
sergiusens_Saviq: can you pass me the /home/phablet/.cache/upstart/*ciborium* files in there12:58
Saviqsergiusens_, https://drive.google.com/drive/#folders/0B32jwBcbaPloWGVVZmE3dkdlM0k13:00
* Saviq abuses drive, wonder if it will allow downloading as an archive13:01
Saviqnope13:02
Saviqsergiusens_, http://people.canonical.com/~msawicz/ciborium/ as well13:02
Saviqsergiusens_, looks like it's trying *all* the unmounted mmc partitions13:03
sergiusens_Saviq: it's like the udev rule isn't hitting you13:04
Saviqsergiusens_, does ciborium ship a rule?13:04
sergiusens_Saviq: no, lxc-android-config does13:04
sergiusens_Saviq: gdbus introspect --system -p -d org.freedesktop.UDisks2 -o /org/freedesktop/UDisks2/block_devices/mmcblk0 /org/freedesktop/UDisks2/block_devices/mmcblk0p2 | grep System13:05
sergiusens_Saviq: that should return true13:05
sergiusens_well, not return, be13:05
Saviqsergiusens_, false13:05
Saviq      readonly b HintSystem = false;13:05
sergiusens_Saviq: grep UDISKS_SYSTEM /usr/lib/lxc-android-config/70-mako.rules13:06
sergiusens_on mako13:06
Saviqsergiusens_, ACTION=="add", KERNEL=="mmcblk0*", ENV{UDISKS_SYSTEM}="1"13:07
sergiusens_Saviq: bah; ogra_ is udev racy?13:08
sergiusens_Saviq: in all my reboots I haven't seen this problem on mako nor krillin13:09
Saviqsergiusens_, lemme reboot then13:09
sergiusens_Saviq: still, you shouldn't be getting that13:10
=== mthaddon` is now known as mthaddon
Saviqsergiusens_, now it's true13:10
ogra_sergiusens_, it shouldnt be ... though note that we shut it down while bringing up the container during boot13:11
sergiusens_hmm, so there is a race somewhere; I wonder where...13:11
Saviqsergiusens_, let me see if it becomes false during my test run or is it sometimes on reboot13:11
ogra_(but you know that)13:11
Saviqsergiusens_, it was my first boot after flashing I think, will try that hypothesis too in a moment13:13
sergiusens_ogra_: yeah; I might do something hackish and ignore mmcblk0 if this becomes a huge issue and can't figure out that race13:27
=== Mikee_C is now known as Mikee_C_afk
sergiusens_Saviq: first boot indeed takes longer; was it with a wipe?13:27
sergiusens_I'll give that a go13:27
ogra_sergiusens_, yeah, i guess it is safe to ignore the rootfs device ... i wouldnt blindly take mmcblk0 though but check where / lives13:28
Saviqsergiusens_, no wipe, no13:28
sergiusens_click hooks ran though?13:28
Saviqsergiusens_, everything else seemed fine13:40
=== warp10_ is now known as warp10
Saviqsoo... I've my home on SSD{ btrfs{ cryptfs } }, whenever I'm flashing the phone, or doing something with large files, I get iowaits, some apps would go grey for a few seconds... who can get me ideas how to debug this?13:49
Saviqsergiusens_, can't get it to be false any more of course13:49
sergiusens_Saviq: just when you want things to go wrong, they go right :-P14:00
Saviqsergiusens_, story of my life14:02
Saviqwait14:02
Saviq;)14:02
sergiusens_I'll wait14:06
=== olli_ is now known as olli
=== Mikee_C_afk is now known as Mikee_C
=== dobey_ is now known as dobey
sergiusens_Saviq: even if you can't repro, can you ubuntu-bug ciborium and lxc-android-config with this info?14:30
Saviqsergiusens_, will do14:35
tedgjodh, Was going to try to build your cgroup fix for upstart, is there an easy way to get a deb for it?15:02
* tedg is spoiled by bzr bd15:02
tedg:-)15:02
jodhtedg: autoreconf -fi && ./configure && make. Then tweak /usr/bin/ubuntu-touch-session to run 'exec /path/to/your/init/init --debug --user 1>&2'15:06
jodhtedg: note that we still need to fix systemd-shim though.15:07
tedgjodh, Ah, cool, I think I got the deb building.15:07
tedgjodh, We modified the cgmanager upstart job so that it'll start before the shim.15:08
jodhtedg: yeah I know, but see the last sentence in my comment: https://bugs.launchpad.net/ubuntu-app-launch/+bug/1357252/comments/3415:09
ubottuLaunchpad bug 1357252 in upstart "upstart can race with cgmanager when using remove-on-empty" [Undecided,In progress]15:09
jodhtedg: hallyn tells me that desrt|pdx is the guy we need to poke with a stick15:09
tedgjodh, I think we're okay in that we clean up the cgroup in the application job today.15:11
tedgjodh, We make sure all the processes are gone in post-stop15:11
jodhtedg: my understanding from discussing with hallyn yesterday was that systemd-shim is cleaning up the cgroups (via cgmanager) before the overall job has finished with them.15:12
tedgjodh, Because they were set as remove-on-empty, but we're not setting that until the job is done now, right?15:15
jodhtedg: upstart isn't setting that until the job has completed, correct. However, systemd-shim sets remove-on-empty at the logind session level and the upstart session-init inherits that. It's not something upstart can deal with - it's a bug/limitation/feature of systemd-shim :)15:16
tedgjodh, I'm a bit confused, so wouldn't that only effect the overall session cgroup? Or does it mean that every cgroup in that session cgroup has the remove-on-empty property set?15:18
jodhtedg: I believe so. hallyn ?15:18
SonikkuAmericaIs there an instruction list for what ubiquity does when it installs and then removes itself from the target system? ubiquity installed everything, then crashed installing GRUB 2. I booted the partition by hand, and now I need to know what packages to clean up. (This is Utopic, by the way)15:19
SonikkuAmerica(Or is this a support question for #ubuntu+1 ?)15:21
=== tarpman_ is now known as tarpman
jodhtedg: anyway, what you'll find is that my branch works sometimes, but you'll see the occasional "failed to start job" error and if you look in /var/log/upstart/cgmanager.log you'll see entries like: http://paste.ubuntu.com/8179550/15:24
jodhtedg: note the uid of the removal requestor - it's not the session init, it's systemd-shim.15:25
=== kees__ is now known as kees
jodhtedg: well, actually it's cgmanager.15:25
tedgHmm, okay.15:26
tedgLet's see how it does on the uitoolkit tests.15:26
jodhtedg: I've raised bug 1363134 (unclear if bug 1355966 is supposed to cover the same request?)15:31
ubottubug 1363134 in systemd-shim (Ubuntu) "systemd-shim needs to grow support for abandoncgroup and stopsession " [Undecided,New] https://launchpad.net/bugs/136313415:31
ubottubug 1355966 in systemd-shim (Ubuntu) "Implement AbandonScope (etc)" [Medium,Triaged] https://launchpad.net/bugs/135596615:31
Laneymardy: there's a new evo/e-d-s 3.12 point release that I want to get in soon-ish15:32
jodhtedg: an alternative may be to have cgmanager grow a unset-remove-on-empty verb, but that's just horribly fugly.15:33
=== happyaro1 is now known as happyaron
shadeslayercould someone explain why I can't write /etc/sddm.conf like this : http://paste.kde.org/pmy4cqrdp16:00
directhexshadeslayer: because of what you are and aren't sudoing16:04
shadeslayerright16:04
directhexshadeslayer: you are only sudoing "sudo log-output -t user-setup chroot /mnt $ROOT cat <<EOF" - the "> /etc/sddm.conf" is done by the host shell16:05
shadeslayermhm16:05
frezixhi, I'm doing a netinstall and I'm now at this stage - http://imgur.com/ba9qcCc - how do I remove that partitioning scheme and start fresh?16:07
frezixI've asked this in #ubuntu also but no one seemed to have an answer16:08
shadeslayerdirecthex: any recommendations on how to fix it16:08
directhexuse "| sudo tee filename" as your output mechanism for things16:09
=== elopio_ is now known as elopio
shadeslayerdirecthex: yeah tried that, didn't work16:10
shadeslayerwrites to host machine16:11
shadeslayerso I used sh -c16:11
shadeslayerbut now I'm unsure how to extract the username from the host16:11
directhexadd speech marks around what you want to sh -c ?16:11
shadeslayers/host/target/16:11
=== robru_brb is now known as robru
hallyntedg: jodh: remove-on-empty is inherited on mkdir from the parent cgroup16:21
tedghallyn, Can Upstart change that?16:21
hallyntedg: not currently16:21
hallyntedg: I'm not sure whether ti's better to provide an API method for that in cgmanager, or to just fix systemd-shim16:22
hallyni think the latter16:22
jodhhallyn: +1.16:22
tedgI guess it seems like a reasonable default to me for systemd to set.16:22
hallyni just wish someone more competent would do it :)  but maybe if i can get rharper to look at the qcow2 corruption i can fast-track the systemd fix16:22
hallyntedg: no, i tshouldn't be needd, logind does ask fo cleanup16:23
hallynwe just set remove-on-empty bc we ignore the cleanup requests16:23
hallynit's purely a dbus callback issue, *should* be simple16:23
rharperhallyn: stop the presses! qcow2 has data corruption issue ?16:23
tedghallyn, Oh, okay.16:23
hallynrharper: holy cow.  yes, since 1.716:23
hallynrharper: it's killing me!16:24
rharperhallyn: that's why we never approved qcow2 use while I was at the LTC for IBM products16:24
rharperwe pushed in QED as a format because qcow2 had so much trouble;  it's improved significantly, but with all of the features... hard to ensure you've found all of the issues16:24
hallynrharper: sorry, another meeting, if you're willing to look at it i'd *love* to talk to you in a bit about it16:24
hallynrharper: but no, this is regression.  it was fine in 1.516:25
hallynthat's why security team (jdstrand and sarnold) always run the old 1.5 version!!!  crazy16:25
rharperif it's  regression I'd think we could lean on kwolf and stefanha in #qemu once we have a proper test case/reproduce16:25
rharperhallyn: going to head out in a bit, but post lunch we should chat...16:26
dokojibel, pitti: the python2.7 and python3.4 autopkg tests show regressions, versions which suceeded before. any changes in the test setup?16:29
=== Mikee_C is now known as Mikee_C_afk
cjwatson_flexiondotorg: If you're going to send a private message, just do so.  Don't ask first in a channel and then wait for timezones to match before I can respond.17:39
hallynrharper: so there's a few open bugs on the same issue, but it's basically https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/129223417:46
ubottuLaunchpad bug 1292234 in qemu (Ubuntu) "qcow2 image corruption in trusty (qemu 1.7 and 2.0 candidate)" [High,Confirmed]17:46
hallynrharper: i have NOT reproduced it with his testcase msyelf.  what i HAVE had is two (or more) regular uvt-kvm vms go corrupt as i was using htem heavily (in one buildint-testing libvirt many times, in another lxc)17:47
hallynin the latest one, i suddenly found that ~/build3 was actually poinging to the code in ~/build2 (!).  Then I tried to reboot to see if it would fix it, but it wouldn't reboot17:47
hallynso if i could only reliably reproduce then i would bisect.  but i can't reliably reproduce.  only when i'm trying ot get something done, after hours of work :)17:48
hallyni'm going to try just almost-filing the disk right now to see if htat is the trigger.17:48
hallynrharper: when yo uget back we can either chat here or do a hangout.17:48
sarnoldhallyn: good idea, I seem to recall at least one of my qcow2s was huge17:49
hallynadd 3G of /dev/zero, leaving 1.4G free, let's see how that works17:52
hallynhopefully qcow2 doesn't compress it all away :)17:52
=== sergiusens_ is now known as sergiusens
=== cjwatson_ is now known as cjwatson
=== cyphermox_ is now known as cyphermox
cjwatsonRiddell: sflphone> That looks like it just needs a config.guess/config.sub update in that subdirectory.18:08
=== timrc is now known as timrc-afk
=== timrc-afk is now known as timrc
jdstrandhallyn: you are using snapshots, correct? eg:18:39
jdstrand$ qemu-img info ./sec-utopic-amd64.qcow218:39
jdstrandimage: ./sec-utopic-amd64.qcow218:39
jdstrandfile format: qcow218:39
jdstrandvirtual size: 8.0G (8589934592 bytes)18:39
jdstranddisk size: 11G18:39
jdstrandcluster_size: 6553618:39
jdstrandSnapshot list:18:39
jdstrandID        TAG                 VM SIZE                DATE       VM CLOCK18:39
jdstrand1         pristine                  0 2014-08-25 18:15:09   00:00:00.00018:39
hallynjdstrand: i'm using your exact snapshotting recipe, with the forhallyn.img you provided, yes.  tha thasn't worked.  what has resulted in corruption for me is simple vms using qcow2 with a backing file (but no snapshots)18:40
hallynzul: hm, getting a bunc hof failures and test skips, looks like virtinst problem.  i dn't see a python-libvirt 1.2.7, could that be the problem?18:44
zuli dont have libvirt-python 1.2.7 yet18:45
zulgimme a sec18:45
jdstrandhallyn: interesting. I hope there aren't two bugs-- one in bs and one in snap...18:47
rharperhallyn: looking at the bug... once I'm up to speed, let's talk18:47
rharperjdstrand: hallyn one question on the images -- is it only reproducable using the images created back on 1.5 with newer qemu ?18:48
hallynjdstrand: yeah, it's not impossible.  also i'm back runnign with ksm, so it's possible that my bs bug ends up being a ksm bug18:48
hallynrharper: no i don't thin kthat's the case.  pretty sure jdstrand can ruin any new image he creates18:48
sarnold:)18:49
rharperok, that's useful to know;18:49
rharperand we're always using the qemu/libvirt defaults for cache mode on the disk image, and the host filesystem ?18:49
rharperno ones doing fancy dev stuff like cache=unsafe and disabling barriers on their fs ?18:50
hallynrharper: pretty sure not.  sarnold: uvt doesn't do any o fhtat right?18:51
rharperuvt can18:51
hallynhell i'v eonly had failures with the defaults!18:51
hallynwhen i run kvm by hand i'v enever had a failure, and by hand i always do 'cache=unsafe' :)18:51
rharperusing uvt or just libvirt ?18:51
sarnoldrharper: the security team uses marc's uvt, not robie's uvt..18:51
hallynusing uvt18:51
hallynno, uvt-kvm18:51
hallyn*I* us uvt-kvm, security team uses uvt18:51
rharperok, then someone who knows uvt needs to help specify what cache mode is being selected (or if none at all in qhich case we get cache=writethrough18:52
sarnoldI don't see any "unsafe" in /etc/libvirt/**18:52
rharperas well as file systems in use and any uptes18:52
hallynsarnold: filling up a bunch of disk didn't help yet.  lemme fill it up more and upgrade from t->u18:52
rharpersarnold: any cache= values?18:52
hallynsarnold: ^ can you provide that info?18:52
hallyn(else i can d/l the script and dig)18:52
sarnoldrharper: no "cache" in /etc/libvirt/** either18:53
rharperif someone has a ps aux output from a vm run by uvt, that'd be best18:53
sarnoldrharper: my host filesystem is ext3, rw,relatime,data=ordered18:54
rharperk18:55
rharpercan I get the sec team uvt anywhere ?18:55
sarnoldrharper: command line: http://paste.ubuntu.com/8181058/18:55
sarnoldrharper: there's a fair amount of other setup work necessary, all documented here: https://wiki.ubuntu.com/SecurityTeam/TestingEnvironment#preview18:56
sarnoldsigh, of course leaving off the #preview :)18:56
rharpersarnold: and where do you get your original/pristine images?18:58
rharperah, cd images18:58
sarnoldrharper: 'uvt new' makes them from downloaded ISOs18:58
rharperfor the releases18:58
rharperright18:58
rharperdoes some sort of auto install ?18:59
sarnoldyeah18:59
rharperk18:59
rharperso the forhallyn image is presumable one of those pristine images18:59
sarnoldit started as one, though I don't know what, if anything, might have been done to it along the way19:00
sarnoldthe two images I gave hallyn started that way but had been apt-get dist-upgraded several times, snapshotted/restored several times..19:00
tvosspitti, you around?19:05
jdstrandrharper: see the end of the description-- it doesn't seem related to machine type. I'm not 100% sure I tried on 2.0 to create a machine and try to reproduce, but I think I did19:05
jdstrandrharper: here is typical xml: http://paste.ubuntu.com/8181138/19:07
=== cmagina_ is now known as cmagina
jdstrandrharper: so we aren't specifying cache mode. host fs is ext4 for me, along with whatever is the default in the guest (ie, ext4)19:08
jdstrandrharper: the forhallyn image was generated using the standard security process with uvt, yes19:09
rharperjdstrand: thanks for the info,19:13
rharperbrb, need to grab the kids19:13
jdstrandrharper: oh I had to have tried to create a vm on 2.0, otherwise I wouldn't have been able to test pc-i440fx-1.7 and pc-i440fx-2.0 (duh)19:17
hallynso, 'git log --pretty=oneline v1.5.0..v1.7.0 block/qcow2 | wc -l' says only 69 commits.  i guess i'll actually look at each :)19:17
hallynright and what you gave me was pc-i44fx-2.019:17
* jdstrand nods19:17
jdstrandI'm highly motivated to have this fix. the trick is that I rely on qemu so heavily I'm not always in a place where I can lose my VMs19:18
jdstrand(eg, if I am doing dev work or security work and using vms, I can't really test new versions on that day)19:19
hallynmaybe the key here is looking at the type sof things which those 69 commits change, and trying to write testcases for edge cases there19:30
jdstrandhallyn: we can do bisects19:32
hallynjdstrand: alternatively, perhaps i can promote the bisecting by pushing a set of binaries (say 10-20/day) with which you can start bisecting :)19:32
hallynjdstrand: *I* can't :(19:32
hallynwe need to reliably reproduce.19:32
jdstrandwell, if you produced binaries that included commit 35 of those 69, sarnold and I could try to repoduce19:33
hallynkinda got my eye on the commit "qcow2: Batch discards"19:34
jdstrandit just might be slow going on some of the feedback19:34
hallynjdstrand: yeah, it might be worth doing.  the only bitch of it is that it destroys th eidea of 'bisecting', as we have to build a lot more than log_2(N) binaries :)19:34
jdstrandfunny thing is, it occurred to my I should really be using precise's qemu instead of saucy, since it is actually security supported :)19:35
hallynheh.19:35
jdstrandhallyn: well, could just do bisects relative to those 69 commits19:35
hallynthat's what i use on my big server19:35
hallynyeah19:35
hallynok what the heck i'll build+publish them.  you'll just need a few tweaks to your apparmor policy, but i think you can handle those :)19:36
hallynoh no yo udon't, you'll just install under /usr/bin.  duh19:36
jdstrandhallyn: if we get to the point where we know which of the 69 first had it, then we can bisect further on the other commits between the last good of the 69 and the first bad of the 6919:37
hallynyeah.  let me script up the building of those binaries real quick19:37
hallyn(haha, what are the odds they'll build easily enough to script)19:38
jdstrandyeah, I was wondering how easy that would be19:38
jdstrandit is one thing having a plan, it is quite another implementing it :)19:38
hallynjdstrand: trying http://paste.ubuntu.com/8181365/19:45
hallynthat *should* let me fix it if there is a build failure.19:45
hallynguess i need a 'git reset --hard HEAD' at top of loop so the git checkout master wlil succeed19:46
hallyn(if it fails)19:46
hallynfirst binary delivered19:46
hallynthink i'm gonna go get some coffee and check on this when i get back19:46
sarnoldno libraries needed?19:46
rharperjdstrand: qcow2 corruption is rarely related to machine type, rather it's likely to be one of the many feature flags;  I've not yet found a tool that dumps the flags, but they matter w.r.t behavior, in particular, I'm looking at lazy_refcount which delays metadata updates of qcow2 (which is wehre 99.9999% of corruption comes from)19:46
hallynsarnold: hm.  i don't think so.  i was testing without those yesterday19:47
rharperthe compat mode determines what features accessible based on which qemu version you'r running with;  pre 1.0, 1.0, 1.1, and on up.19:47
hallynrharper: that suggests that the commit "qcow2-refcount: Repair shared refcount blocks" might be to blame19:47
rharperhave we tried qemu-img repair on these iamges?19:48
rharperie the non-bootable ones?19:48
rharpernext I was goign to run the qemu-img check on each one to see if it detected metadata errors19:48
hallynsarnold: you have a corrupted one sitting someplace rharper can get to it right?19:49
* hallyn REALLY needs some coffee, biab19:49
rharperit will be interesting to see what format of level (qemu-img info file) these are, versus what gets created on new systems19:49
jdstrandrharper: right-- I was simply saying that I couldn't have created/run a 2.0 machine type on 1.5, that I must've used 2.0 for that, and since I am otherwise using defaults, that info might be helpful to you19:49
frezixhi, I'm doing a netinstall and I'm now at this stage - http://imgur.com/ba9qcCc - how do I remove that partitioning scheme and start fresh?19:50
rharperjdstrand: ok -- but machine type has nothing to do with the qcow2 image, at best it's machine type could suggest what level of qemu you have19:50
sarnoldhallyn,rharper, yeah, lillypilly.canonical.com:~sarnold/sec-precise-amd64.qcow2.bz2.sig (and the file without .sig) and sec-trusty-amd64.qcow2.gz.sig (and the file without .sig)19:50
rharperbut they're independent19:50
frezix(Is this the right channel to ask this also?)19:50
rharpersarnold: can I get that from chinstrap ?19:50
sarnoldrharper: I believe so19:50
sarnoldfrezix: try arrow-down to see if the individual partitions can be selected?19:51
rharpersarnold: fetching... thanks19:52
jdstrandrharper: right, that is all I was trying to suggest to you :)19:52
rharperthey typical pattern is images created on older qemus tend to show corruption with newer qemus because bugs have been fixed in newer qemu, but their behavior is different.19:53
rharperwhich I think is exactly what was originally seen (older 1.5 images, upgrade to trusty, boom)19:53
rharperthe more interesting one is if you can create new iamges on the latest qemu, and see the same corruption; which it sounded like, but not clear to me if that's confirmed.19:54
jdstrandrharper: that is confirmed19:54
rharperone possible answer is that the newer images are created in compat mode, versus the latest19:54
jdstrandI am not being clear19:54
frezixsarnold: these are the 3 options when I select individual partitions - http://imgur.com/mrObbpD - note that when selecting "Erase data on this partition" it only erases the data instead of converting that partition to unallocated space.19:54
jdstrandI cannot create a vm with a -2.0 machine type unless I am running qemu 2.0. since I stated in the description that I specifically tested machine of different machine types, I *must* have used a newer qemu to create/run/corrupt the image19:55
sarnoldfrezix: dang.19:56
jdstrandthe forhallyn image used 2.019:56
frezixwhen I'm at that partition choosing menu, choosing "Undo changes to partition" also doesn't seem to have any effect. when I went into the "Configure encrypted volumes" option, this is what I got - http://imgur.com/01GCq8Q - which pretty much explains much of what I'm facing.19:56
jdstrandI used whatever defaults virtinst uses19:56
rharperjdstrand: ok -- but the last part of your statement matters, do you know if you *created* the image with newer qemu, or only observe the failure on newer qemu.19:56
sarnoldrharper, off to lunch...19:56
rharpersarnold: k19:57
jdstrandrharper: I had to *create* on newer qemu otherwise the xml would have a -2.0 machine type19:57
frezixI'm now wondering how I can still remove those partitions (I do know the passphrase)19:57
jdstrandwould not* have19:58
jdstrandrharper: see the description19:59
jdstrandqemu-kvm 2.0~git-20140307.4c288ac-0ubuntu219:59
jdstrandqemu-img info ./forhallyn-trusty-amd64.img19:59
jdstrandimage: ./forhallyn-trusty-amd64.img19:59
jdstrandfile format: qcow219:59
jdstrandvirtual size: 8.0G (8589934592 bytes)19:59
jdstranddisk size: 4.0G19:59
jdstrandcluster_size: 6553619:59
jdstrandFormat specific information:19:59
jdstrand    compat: 0.1019:59
jdstrandrharper: then see 'Steps to reproduce'19:59
rharperjdstrand: ok -- sorry for being obtuse, just trying to understand the failure scenarios w.r.t  image creation;19:59
rharperjdstrand: fair enough;20:00
jdstrandthe step sto reproduce says I created the forhallyn vm with 2.020:00
jdstrandI forgot I wrote that myself, so it didn't help the conversaton20:01
=== cmagina_ is now known as cmagina
frezixdamn wifi20:08
frezixdid I miss anything?20:08
frezixso during a netinstall, if it's not possible to remove encrypted LVM partitions (even when passphrase is known), would this be considered a bug?20:11
Laneybah20:30
desrt|pdxLaney: hm?20:31
Laneyofflineimap trashed my maildir20:31
desrt|pdx:(20:32
rharpersarnold: your corrupted image is odd;  none of the qcow2 metadata is corrupt, but the guest OS snapshot (and original) data is hosed;20:36
rharperjdstrand: in your original comment, when you say revert to 1.5, you mean for the whole sequence of operations;   (all of the create, snapshot, revert) etc... you can use newer libvirt but need to have older qemu ?20:37
tedgbdmurray, Do you know when the next whoopsie release is expected?20:38
jdstrandrharper: I just instal the old qemu 1.5 packages. I have to recreate the VMs that are corrupted. for the others, I usually adjust the libvirt xml to use a 1.5 machine type20:39
rharperright, ok20:39
jdstrandbut I don't usually have to recreate them20:39
jdstrandI think that all works ok cause we are on compat 0.1020:39
rharperjdstrand: and the corrupted images don't boot any better in 1.5, correct ?20:40
jdstrandI'm not 100% sure I tested that20:40
rharperok, with this sort of corruption, I would expect them to fail on 1.5 or anywhere20:40
jdstrandI think I may have always just recreated them20:40
jdstrandcause, like hallyn pointed out, the corruption seems to happen at precisely the time it isn't convenient and you are rushing to get back to a usable state :)20:41
rharperjdstrand: your local system does this at will, this recreates with your steps elsewhere ?20:41
jdstrandwhat do you mean by elsewhere?20:41
jdstrandanother host machine?20:41
bdmurraytedg: I uploaded one today. Are you looking for one after that?20:42
rharperjdstrand: yes20:42
rharperanother host machine20:42
jdstrandrharper: I have not, but sarnold has the same corruption20:42
rharperk20:42
tedgbdmurray, Heh, no I don't think so. You're just ahead of me.20:43
bdmurraytedg: I try20:43
tedgbdmurray, Thanks! Excited for moar data!20:43
hallynjdstrand: sarnold: if you wanna start, the most recent 7 suspect commits are available at http://people.canonical.com/binaries.[0-6]20:46
hallynwith suspect being defined as 'a commit which affected block/qcow*"20:46
jdstrandhallyn (and sarnold): I guess you mean http://people.canonical.com/~serge/binaries.[0-6]20:50
hallynyeah20:50
hallynsorry20:50
jdstrandnp :)20:50
hallyni can't believ how smoothly the builds are going, only had to correct 2 so far (after disabling spice at least)20:51
jdstrandhallyn: it is because you are awesome20:51
hallynsaving that for my i-need-an-uplift days :)20:53
hallyn-12 pushed20:58
rharperjdstrand: sarnold have you tried virsh resume on those images?21:01
rharperinstead of virsh start as I see in the instructions ?21:01
rharperinternal snapshots contain guest ram that's not yet flushed to disk21:01
sarnoldrharper: no, I almost never interact with 'virsh' directly21:01
rharperbut the corrupt image you handed me was an internal snapshot21:01
rharperwhich means it holds both guest ram and disk data21:02
rharperhrm, but the steps have the guest shutdown...21:02
rharperthat should be fine, ok21:03
* rharper keeps moving21:03
bdmurraytedg: oh, I was wondering do we need ProcMaps for RecoverableProblems?21:04
tedgbdmurray, No, I don't think so.21:05
sarnoldrharper: we quite often use "uvt stop -rf" to just quickly "yank the power" and revert to the snapshot, so next time we need it, it is 'clean' and ready to go -- I believe that works out to virsh "destroy" followed by virsh snapshot-revert21:05
sarnoldrharper: probably when those images failed to boot, I just used uvt stop -f on them to kill them quickly but not revert the disk image21:05
tedgbdmurray, Can't wait for that to hit, I've got this recoverable error for bad appid, but I don't know which one. Going to be exciting to find out.21:08
bdmurraytedg: is there a betting pool?21:09
tedgHeh, I don't think that we could make one now because some people have access to the database and could know the results before they trickle through :-)21:10
bdmurrayAre you calling me a cheater?21:10
tedgNo, no, I was more worried about ev.21:11
bdmurraylol21:11
rharperjdstrand: sarnold: in your use-case, do you ever save disk state after the upgrade and shutdown?  as in, do you want to "merge" the updates applied back into the original disk ?21:30
rharperor do you always want to throw the delta from pristine away ?21:30
jdstrandrharper: that is a use case21:31
jdstrandrharper: basically, we do this21:31
jdstrandwe generate i386 and amd64 vms for all supported releases21:31
jdstrandwe use uvt to do that and use cd images21:31
jdstrandthen we create the pristine snapshot21:31
rharperright, your base images21:31
rharperyep21:32
jdstrandyep21:32
jdstrandthen, we go along and test security updates, etc21:32
jdstrandthen will revert back to pristine21:32
jdstrandhowever, they get out of date after not too long21:32
jdstrandso we have an 'uvt update' command21:32
rharperthat corresponds to the "boot after pristine snapshot, dist-upgrade;  which includes applying latest security updates"  ?21:33
jdstrandthat reverts to pristine, starts the vm, apt-get sit-upgrades it, etc21:33
jdstrandthen shuts it down cleanly21:33
jdstrandthen does a new snapshot of the same name21:33
rharperbut each time you want to start at pristine and then apply dist-upgrade latest ?21:33
jdstrandrharper: re correspons> yes21:33
jdstrandrharper: re each time> that is what our update command does, yes21:34
rharperare you ever interested in the state of the VM after dist-upgrade after you have shutdown the VM (but before reverting the image back to pristine) ?21:34
jdstrandrharper: but we are free to do vm configuration and then use 'uvt snapshot' to update the pristine image21:34
jdstrandrharper: we are interested in that state21:35
rharperif you don't actually want to inspect or boot the image after the updates are applied, I'd like mention -snapshot which writes deltas to a temporary file and is removed when the guest process exits, which would avoid any need to run snapshot commands on the image and would avoid touching the original file for writes at all21:35
rharperah, ok21:35
jdstrandrharper: it is that state where we may update the pristine snapshot21:35
jdstrandrharper: also, sometimes we like to leave a vm in a certain state so we can come back to it later21:35
rharpermaybe the names confuse me, you update doesn't commit the changes to the base, it removes them21:35
rharperby my reading of your steps in the bug...21:35
jdstrandfor example, now I have a vm that is off but has loads of stuff for our apparmor landing in it21:36
jdstrandrharper: ah, well the bug only describes how I was able to trigger this21:36
rharperok, but typically you'd want to keep the update around and merge the updates with the previous pristine, aka commit21:36
rharpercommit my changes to snapshot called pristine21:36
jdstrand(it also wouldn't happen every time iirc; the steps I gave happen to trigger it most often21:37
jdstrandour 'update' command will do that21:37
jdstrandbut we are free to 'uvt snapshot' whenever we want21:37
jdstrandlet me get you the bzr branch21:38
jdstrandrharper: http://bazaar.launchpad.net/~ubuntu-bugcontrol/ubuntu-qa-tools/master/view/head:/vm-tools/uvt21:38
jdstrandrharper: you might also be interested in: https://wiki.ubuntu.com/SecurityTeam/TestingEnvironment#Snapshotted_virtual_machines21:39
jdstrandrharper: that more or less captures how we work21:39
sarnoldrharper: (the convention for the uvt commands is a function defined like "cmd_snapshot" or "cmd_update")21:39
rharperjdstrand: so, update does:  revert to pristine (unless it doesn't exist);  boot vm do upgrade;  stop vm, delete snapshot named "pristine", then create a new one called "pristine" again...  which matches your bug commands21:46
rharperheres what I don't know;   you're deleting the current snapshot after applying changes to the image;  it's not clear to me exactly what that does w.r.t internal snapshots;21:46
rharperit seems strange to me to remove the previous snapshot before creating a new one and then just renaming.21:47
jdstrandI actually didn't right this bit of code, but it does work with 1.521:48
jdstrandwrite*21:48
sarnoldwas it done that way to placate earlier libvirts?21:48
xnoxinfinity: where are you? =)21:48
jdstrandas in, I can't say why it is implemented the way it is. mdeslaur may have had a reason21:48
jdstrandsarnold: maybe? :)21:49
rharperin the external snapshot world (which IMO is far safer to use than internal snapshots since you never touch your original file)21:50
infinityxnox: Hiding.21:50
=== manjo` is now known as manjo
rharperyour update would be:  remove the snapshot file; create a new one;  do the update;  shutdown; and then you can commit the snapshot into the base image if you wanted to save it, or just delete it if you want to go back to pristine21:51
rharperthat would guarantee that you never corrupt your original image as long as you never committed the snapshot to the very base file that was created from the isos.21:51
jdstrandrharper: I do know mdeslaur wanted to use pure libvirt commands. I had a shell implemention that would use backing stores underneath libvirt before libvirt had reliable snapshot functionality21:52
=== inaddy is now known as tinoco
=== DrKranz is now known as DktrKranz
rharperthere's certainly a bug here,  as internal snapshots should be able to handle this;  the order of operations seems odd to me, but I need to look at the qemu implementation to see what happens on snapshot_blkdev_intenral w.r.t qcow2 refcounts21:53
=== Quintasan_ is now known as Quintasan
=== salem_` is now known as _salem
=== mhall119_ is now known as mhall119
=== lifeless1 is now known as lifeless

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!