[06:21] <urulama> rogpeppe: morning
[06:21] <rogpeppe> urulama: hiya
[06:22] <urulama> rogpeppe: did anyone provide any feedback yesterday?
[06:22] <rogpeppe> urulama: not that i've seen
[06:25] <urulama> rogpeppe: ok. nevertheless, we still need to make v4 as a charmstore "stub" for London ... 
[06:25] <urulama> rogpeppe: be here soon, just making quick breakfast
[07:01] <urulama> rogpeppe: ready ... and i just remembered, that it would be great if I buy some GBP for Sunday ...
[07:01] <rogpeppe> urulama: good plan :-)
[07:02] <rogpeppe> urulama: or just use your card when over here
[07:02] <urulama> rogpeppe: yeah, just to be on the safe side to have for a bus from Stansted to Liverpool station
[07:03] <rogpeppe> urulama: ah yes. you'll need some cash for that.
[07:03] <rogpeppe> urulama: presumably you mean Liverpool Street station...
[07:03] <urulama> rogpeppe: indeed :D
[07:03] <rogpeppe> urulama: we don't want you ending up in Liverpool!
[07:06] <urulama> rogpeppe: is it v4 branch now?
[07:06] <rogpeppe> urulama: yes
[07:06] <rogpeppe> urulama: the PR is here: https://github.com/juju/charmstore/pull/14
[07:20] <urulama> rogpeppe: what about 004-restructure branch?
[07:20] <urulama> rogpeppe: 004-restructure-1
[07:21] <urulama> that was the last commit afaics
[07:21] <rogpeppe> urulama: it can't be easily reviewed until the previous pull request goes in
[07:22] <urulama> ok
[10:49] <rogpeppe> urulama: https://github.com/juju/charmstore/pull/15
[11:51] <urulama> rogpeppe: ping me when you return
[13:15] <rogpeppe> urulama: ha, only just saw your "ping me" message
[13:16] <rogpeppe> urulama: i've been back a while :-)
[13:23] <frankban> rogpeppe: urulama: how is it going?
[13:23] <rogpeppe> frankban: pretty well, i'd say
[13:23] <rogpeppe> frankban: wanna gogogo?
[13:24] <frankban> rogpeppe: sure, I'll be there in a bit
[13:27] <urulama> frankban: hi there
[13:27] <urulama> rogpeppe: i was stuck on a rick_h__ comment about how version numbers could be interpreted (min vs max version)
[13:27] <rogpeppe> urulama: in which document?
[13:29] <rick_h__> rogpeppe: this is related to the package version compared to api version
[13:29] <rick_h__> rogpeppe: that we had an initial thought on yesterday 
[13:29] <rogpeppe> rick_h__: ah yes
[13:30] <rogpeppe> rick_h__: my current inclination is to treat the package version and the api version as two entirely distinct things
[13:30] <rogpeppe> rick_h__: because the package version is all about compilability
[13:31] <rick_h__> rogpeppe: ok, that's fine by me. I was just concerned with matching package version with latest api version (the v4 update and such)
[13:31] <rogpeppe> rick_h__: cool. yeah, i'll change that
[13:31] <rick_h__> rogpeppe: I think that makes sense as well and is traditional/expected
[13:32] <rogpeppe> rick_h__: i think it's reasonable not to have to change the import paths in programs that use charmstore because the api versions have changed.
[13:33] <rogpeppe> rick_h__: especially as it could even be dynamic which versions are served up
[13:34] <rogpeppe> rick_h__: (for example, with a command line flag or environment variable to determine which versions the API serves)
[13:34] <rick_h__> rogpeppe: +1
[13:34] <rogpeppe> rick_h__: i'll go for a v2 branch, as with the charm package. and i think we'll move the import path to gopkg.in/juju/charmstore.v2
[13:35] <rick_h__> rogpeppe: ok sounds like a plan
[14:23] <rick_h__> jujugui heads up I've got laggy network, casuing me to lose my irc ssh connections/etc in case I'm not as responsive as usual. 
[14:53] <rick_h__> jujugui call in 8
[15:13] <hatch> rogpeppe I have no idea what Dominion cards are but if you have enough for extra decks then I'd learn :)
[15:13] <rogpeppe> hatch: i have the base set, but it's much more fun with extra sets
[15:13] <hatch> ahh 
[15:13] <rogpeppe> hatch: http://en.wikipedia.org/wiki/Dominion_(card_game)
[15:14] <hatch> yeah I checked it out
[15:14] <hatch> I won't be able to buy any before I take off....oh wells
[15:15] <rick_h__> I'll see how many CaH cards I can fit into my carry on :)
[15:15] <hatch> I can't believe that game is so popular when everyone on the internet gets offended by everything lol
[15:15] <hatch> clearly they are all pretend offended 
[15:19] <rogpeppe> i've only played it once. i was not offended.
[15:19] <rogpeppe> mind you, i'm not easily offended
[15:19] <hatch> here here!
[15:51] <kadams54> rick_h__, hatch: I'm seeing additional oddness when replicating the bug I'm working on, https://bugs.launchpad.net/juju-gui/+bug/1341653
[15:51] <_mup_> Bug #1341653: Cannot drop an unplaced unit on a ghost container <juju-gui:In Progress by kadams54> <https://launchpad.net/bugs/1341653>
[15:52] <rick_h__>  kadams54 otp, can chat in a sec
[15:53] <kadams54> The service unit I tried to drop is still unplaced, but there's a machine listed without an ID and it seems to have the service deployed: http://cl.ly/image/0j3c122P171M
[15:55] <hatch> kadams54 hm looking
[15:55] <hatch> kadams54 ok that might be happening because the placeUnit isn't removing the ghost unit token from the db
[15:56] <hatch> there is probably an error somewhere which is causing it to not find the ghost unit, and because of that, not remove it
[15:56] <kadams54> So we have a bug in rollback scenarios
[15:57] <hatch> kadams54 it might be worth outlining all of the different interactions we can take with that and then going through step by step
[15:57] <hatch> that way we know that each time we modify that code that it's not breaking something else
[15:58] <kadams54> Transactional commits, rollbacks… if only they made datastores that supported these things!
[15:59] <kadams54> I think it would be worth outlining if that was the first step in creating a functional test (or suite of tests).
[16:00] <kadams54> hatch: But I'm not sure that's the problem here (unspecified/tested interactions). The problem seems more basic: how do we ensure, when an error occurs, that we can recover to a clean and good state?
[16:00] <hatch> kadams54 well it should be impossible to enter a dirty state
[16:00] <hatch> there is no way we can get out of it if the code is broken :)
[16:01] <kadams54> Why would that be?
[16:01] <kadams54> What happens when we send a command off to juju-core and it fails?
[16:01] <kadams54> We've often already updated the GUI and the client DB
[16:01] <kadams54> So those changes need to be rolled back
[16:02] <hatch> well yes the environment handles that
[16:02] <hatch> this ECS stuff is new uncharted territories 
[16:02] <hatch> there are going to be a whole slew of interactions which need to be tested
[16:03] <urulama> jujugui see you in London
[16:03] <hatch> cya urulama  safe travels
[16:04] <rogpeppe> i'm also off now
[16:04] <kadams54> urulama: safe travels
[16:04] <rick_h__> urulama: be safe
[16:04] <rogpeppe> safe travels to all
[16:04] <kadams54> rogpeppe: you too
[16:04] <rogpeppe> no missiles anyone, ok?
[16:05] <urulama> thanks, same to you
[16:05] <kadams54> hatch: sure, but being able to recover from a failed transaction seems pretty low level. It shouldn't care about what kind of work is happening in the transaction, so you don't need to test every type of transaction to ensure clean rollbacks.
[16:06] <hatch> right - but the issue is that we create ghost records in the db then the env creates the real ones
[16:06] <hatch> the issue you're experiencing looks like the ghost record isn't being removed
[16:06] <hatch> likely because of a name missmatch or something
[16:08] <kadams54> hatch: I guess I had a different perspective: in my view, the problem wasn't that the ghost record still existed. The transaction failed, so IMO it should still be an unplaced unit. Rather, the problem was that this mystery ID-less machine popped up, with an equally mysterious mysql unit deployed on it.
[16:08] <kadams54> Those should have been rolled back when the transaction failed, leaving me back at an unplaced unit.
[16:11] <hatch> yes I agree, I'm just trying to think of how this is to be done with the current ecs/ghost/db implementation
[16:20] <rick_h__> kadams54: hatch sorry, call is over. Everyone ok or need another set of eyes?
[16:21] <hatch> I have to run in a bit so when I get to the airport I'll pop it open again and look at the code
[16:22] <kadams54> rick_h__: Not sure we need a second set of eyes, we just may have another bug, in addition to the one I'm working on.
[16:22] <rick_h__> kadams54: ok
[16:31] <hatch> cya everyone, have a safe trip
[16:31] <rick_h__> safe flight hatch 
[16:31] <hatch> thanks
[16:41]  * rick_h__ makes lunch
[19:23] <rick_h__> jujugui I'm out, going to get the bags packed up. See you all soon.
[19:26] <Makyo> ccccccdiltnnrhthtkkkvghvfrtgecbuiivndeblduie