/srv/irclogs.ubuntu.com/2014/02/17/#juju-dev.txt

wallyworldaxw: standup?01:32
axwoops01:33
axwwallyworld: brt01:33
waiganiwallyworld: doc/hacking-state.txt:49 talks about mgo/txn's "transactions"02:41
wallyworldyeah, i read that way back when02:41
waiganibut they are not really transactions?02:42
waiganijust sets/slices of db opps ?02:43
wallyworldyep02:44
=== mwhudson is now known as zz_mwhudson
wallyworldthat's how i see it02:44
waiganiokay, just double checking02:45
waiganithanks02:45
wallyworldi guess each slice of ops is a txn02:45
wallyworldbut there are limitations compared with what you might expect from using other dbs02:45
=== zz_mwhudson is now known as mwhudson
=== mwhudson is now known as zz_mwhudson
dimiternmorning all07:58
waiganiaxw: can I bother you?08:02
axwwaigani: yep?08:03
axwmorning dimitern08:03
hatchhello all, has anyone ever run into a situation where juju-core (1.17.2 precise( thinks an environment is bootstrapped but can't destroy it because there are no instances? I tried removing the environments/ folder but no luck08:05
axwhatch: the provider-state file is probably in cloud storage08:06
axwwhat provider?08:06
hatchec2, I'll take a look08:06
waiganiaxw: sync-tools. quick hangout?08:07
axwhatch: if it happens again, try destroy-environment --force08:07
axwwaigani: sure08:07
hatchaxw that was it! Thanks, I didn't know that it did that, I have been switching between trunk and devel a bunch so I wasn't sure if I broke something big :D08:08
axwno worries08:08
axwwould be good to know why it happened, but that'd be difficult to figure out with no instances :)08:09
hatchI'll keep an eye open to see if it happens again08:09
hatchif the machines were destroyed out from under Juju (in the ec2 control panel) could that cause it?08:10
axwhatch: that would cause it I think, but I can't tell if that's *the* cause08:17
hatchwell after I'm done doing what I'm doing I can give it a try...might not be until later int he week though :)08:18
axwno problems, thanks08:20
hazmataxw, fwiw filed some new manual provider issues over the weekend (https://bugs.launchpad.net/juju-core/+bugs?field.tag=manual-provider&orderby=-date_last_updated&start=0)08:33
axwhazmat: thanks, will take a look08:34
hazmathatch, yanking the provider-state in control-bucket should do the trick, there's an outstanding bug for this issue. basically juju should sanity check the instance id in object storage.08:34
axwoy, I thought the reverse lookup was fixed08:35
hazmathatch, https://bugs.launchpad.net/juju-core/+bug/117696108:35
hatchahhh thanks08:35
hazmataxw, hmm.. i was going back and forth from trunk to 1.17.2 .. that one might have been against 1.17.208:35
hatchI had used --force08:35
hatchbut good to know there is a known issue around this08:35
axwhazmat: nah there's still a lookup in there, just in a different spot from before08:37
axwhazmat: is https://bugs.launchpad.net/juju-core/+bug/1280432 on trunk?08:40
hazmataxw, yes, but your pending branches may address08:41
axwhazmat: https://bugs.launchpad.net/juju-core/+bug/127925908:41
axwyeah08:41
axwok08:41
hazmataxw, it looked like on upload-tools it was hardcoded to use ubuntu user before user was setup08:41
hazmatmodifying it to use configured bootstrap-user resolved it for me.. your fixes look more comprehensive08:41
axwhazmat: what should happen is the ubuntu user gets initialised before any other ssh attempts are made; then ubuntu@ is hard-coded for everything else08:42
axwonly the ubuntu user init should use bootstrap-user08:42
hazmataxw, i saw the logic, just not the reasoning, ie say we support centos ;-)08:43
axwheh08:43
axwhazmat: fwiw, the reasoning is: limit the number of times we request passwords from the user to one time during bootstrap08:47
hazmataxw, btw, i was able to use some of the recent manual feature api additions to give a slick demo, of creating 50 lxc containers as env machines in under a minute, all offline08:47
axw(once for ssh, once for sudo)08:47
axwnice :)08:47
axwoh, without apt-get stuff... very cool08:47
hazmataxw, it needs a little setup (base images, btrfs) but the core comes out to just being roughly 20 lines.. https://github.com/kapilt/juju-lxc/blob/master/juju_lxc/add.py#L2908:48
hazmataxw, yeah.. it  is pretty awesome, thanks :-)08:48
axwoo, I hadn't seen juju-lxc08:49
axwthis looks like it'd be useful for my testing08:49
hazmataxw, yeah.. its what i do dev with.. its not really cleaned up for easy consumption though, hoping to push some of it to tim's push to make local provider moar awesome.08:51
axwhazmat: ah right, hence the talk of a plugin rather than local-specific.08:51
hazmataxw, yup.. burnt my free time hacking on making digital ocean manual plugin easily consumable.. curious where that goes... i'll clean up the lxc plugin next time around.. but back to client work for the next few weeks.08:52
axwenjoy ;)08:53
rogpeppejam: standup?09:01
jamrogpeppe: yeah, 1:1 I was just making some lunch09:01
dimiternrogpeppe, it's a little early to be standing up :P09:06
rogpeppedimitern: you're right, i'm sitting down09:21
mattywrogpeppe, can you ping me when you're done? I've got questions/ need some help when you have a moment09:36
dimiternjamespage, ping09:39
jamespagedimitern, hello09:40
dimiternjamespage, did you get my last few messages?09:40
dimiternjamespage, hey09:40
fwereadeaxw, waigani: just responded to https://codereview.appspot.com/61520045/ -- thoughts?10:00
waiganifwereade: sorry dude, my only thought right now is that I can't keep my eyes open. I'll take a look in the morning.10:10
fwereadewaigani, np, sleep tight :)10:10
TheMuefwereade: https://codereview.appspot.com/58510045/ is the current approach to debug-log, with support for local provider10:32
fwereadeTheMue, nice coincidence, I literally just got to that point in the review queue, probably won't do it until after standup though10:35
TheMuefwereade: ok, have a new task where I have to read a lot first10:36
fwereadeTheMue, cool :)10:36
dimiternrogpeppe, now's the time to stand up10:47
dimitern;)10:47
rogpeppewallyworld: are you coming back? we miss you!10:50
* dimitern is out for 2h11:41
rogpeppetrivial code review anyone? https://codereview.appspot.com/65050043/13:01
rogpeppe(it just sorts all imports consistently throughout the code base)13:01
rogpeppefwereade: ^13:01
* fwereade looks13:10
fwereaderogpeppe, LGTM13:11
rogpeppefwereade: thanks13:11
fwereadeTheMue, half-reviewed https://codereview.appspot.com/58510045/ -- rogpeppe, would you take a look as well please?13:35
=== gary_poster|away is now known as gary_poster
TheMuefwereade: thx13:38
TheMuefwereade: regarding the public or internal params if I ask two of you I get three opinions. :)13:43
TheMuefwereade: and all are one package, only different files. maybe a more general conceptual problem?13:44
fwereadeTheMue, haha13:45
fwereadeTheMue, what's the case for calling them internal?13:45
fwereadeTheMue, IMO if we expose them over the public API they're, well, public13:45
fwereadeTheMue, re files -- yeah, it's just convention I guess, but I think there's some value to spreading things out by file even if it's not compiler-enforced13:46
TheMuefwereade: I had it in public before13:46
TheMuefwereade: see https://codereview.appspot.com/58510045/diff/60001/state/api/params/params.go#newcode570 :)13:48
fwereadeTheMue, cheers13:48
fwereadeTheMue, I read that a bit differently to you, I think -- both the debug bits and the charms response should be in params, because they're both public api13:50
TheMuefwereade: So you mean it should be moved inside the internal.go file? Otherwise, what does "Also, please move this in internal.go, where ..." mean?13:52
fwereadeTheMue, I think there was agreement in dimitern's second comment that they should both go in params, not internal13:52
fwereadeTheMue, he said params is fine, but please more CharmResponse13:53
fwereades/more/move/13:53
TheMuefwereade: OK, ic.13:54
TheMuefwereade: But I won't move CharmResponse as the refactoring of those two extra handlers should be an extra CL. This one is already too large.13:54
rogpeppefwereade: i responded to some of your comments on  https://codereview.appspot.com/58510045/14:01
TheMuerogpeppe: your way of letting all providers explicitly set the log location is less convenient but sounds logical and save14:14
dimiternrogpeppe, hey, are you aware of the status of schema upgrades using the new upgrade framework?16:29
rogpeppedimitern: mongo schema upgrades?16:29
dimiternrogpeppe, yep16:29
rogpeppedimitern: i think they're planned for, but i don't know when16:29
dimiternrogpeppe, I know wallyworld did some work on upgrades in general, but is it usable?16:29
rogpeppedimitern: it only covers upgrades to stuff on a given machine16:29
dimiternrogpeppe, hmm ok, so no schema upgrades yet16:30
rogpeppedimitern: the upgrades doc talks about mongo schema upgrades, but there's quite a bit of stuff yet to design16:30
dimiternrogpeppe, i'm asking because of bug 1174610 which I've just fixed, but it involves some schema changes16:31
_mup_Bug #1174610: unit ids should be unique <regression> <juju-core:In Progress by dimitern> <https://launchpad.net/bugs/1174610>16:31
rogpeppedimitern: schema changes are essentially major-version upgrades16:32
dimiternrogpeppe, I'll propose it provisionally for now, pending what needs to be done re schema upgrades16:32
rogpeppedimitern: how are you proposing to fix the problem?16:33
dimiternrogpeppe, by using the sequence collection for unit ids, as we do for pretty much all other ids (machines, containers, etc.)16:34
rogpeppedimitern: so if you deploy wordpress, then deploy mysql, the first mysql unit is mysql/1 ?16:35
dimiternrogpeppe, no16:35
dimiternrogpeppe, the sequence name is "s#servicename#unit", so any service named "mysql" will have its units starting from 016:35
rogpeppedimitern: what happens now?16:36
dimiternrogpeppe, e.g. if you deploy wordpress as mysql, then add a unit, it will be mysql/0, then destroy the service and deploy mysql with name "mysql", add a unit - it will be mysql/116:36
dimiternrogpeppe, now unit ids start from 0 for each service16:36
rogpeppedimitern: ok, that's a little better16:37
rogpeppedimitern: it feels a little bit like a hack to get around the fact that our *service* names aren't unique though16:37
dimiternrogpeppe, and apparently that's a regression from before, and some charms depend on using unit ids and them being unique16:37
rogpeppedimitern: the problem is that some other charms might depend on having a unit 0.16:38
rogpeppedimitern: (not that they should, of course)16:38
dimiternrogpeppe, if there are any, it's not mentioned16:39
dimiternhazmat, you'd be happy to know a fix for bug 1174610 is land very soon16:44
_mup_Bug #1174610: unit ids should be unique <regression> <juju-core:In Progress by dimitern> <https://launchpad.net/bugs/1174610>16:44
dimiternrogpeppe, there it is https://codereview.appspot.com/6489004416:44
dimiternhazmat, s/is land/will land/16:46
rogpeppedimitern: if it's not backwardly compatible without a schema change, i don't see how it can land16:48
dimiternrogpeppe, it is compatible i think16:49
dimiternrogpeppe, the problem is to update the sequences collection during the upgrade, so new units won't get ids starting from 016:49
rogpeppedimitern: exactly16:50
rogpeppedimitern: it's a major-version issue16:50
rogpeppedimitern: i'm wondering if there's a way to do it without the schema change16:51
rogpeppedimitern: or, without needing to synchronously update the schema anyway16:51
hazmatdimitern, woot!16:54
rogpeppedimitern: for example, when a service is created, you could mark it with a "uses global sequence numbering" flag16:56
dimiternrogpeppe, yeah?16:56
rogpeppedimitern: when a service is destroyed that doesn't have that flag set, it could update the sequences collection with the most recent unit number for that service16:56
dimiternrogpeppe, isn't that a schema change as well?16:56
rogpeppedimitern: when a unit is created, if allocates it from the service sequence number unless the "uses global sequence" flag is set16:57
dimiternrogpeppe, ah, one of those flags where false is default16:57
rogpeppedimitern: yes16:57
rogpeppedimitern: in that way, you can remain compatible with the old schema but update to the new schema over time16:57
dimiternrogpeppe, well, that could work, but how about service creation? we always create services with this flag=true16:57
rogpeppedimitern: yes16:58
dimiternrogpeppe, ok, i'll look into it tomorrow, i'd appreciate these comments in the review please :)16:58
rogpeppedimitern: so only legacy services will have that flag==false16:58
rogpeppedimitern: ok, will do16:58
dimiternrogpeppe, ta!16:58
jamespagedavecheney, btw a new gccgo-4.9 snapshot is working its way into trusty; I've rebuilt gccgo-go and juju-core using this new version17:44
jamespageits the default (gccgo -> gccgo-4.9)17:44
rogpeppetrivial code review, anyone? https://codereview.appspot.com/65160043/18:27
=== BradCrittenden is now known as bac
mgzrogpeppe: will look in a sec18:37
rogpeppemgz: ta18:37
=== zz_mwhudson is now known as mwhudson
=== mwhudson is now known as zz_mwhudson

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