=== txwikinger2 is now known as txwikinger [00:56] http://www.brandonholtsclaw.com/blog/2012/how-not-to-fail-at-the-cloud/ [01:04] imbrandon: you're not allowed to just leave it hanging like that :) [01:10] hahaha [01:11] dude that alone took like 2 days to write [01:11] heh === izdubar is now known as MarkDude [01:20] wow, my blogs starting to get a little traffic too, went to go check the numbers for last month ... 17,391 pageviews [01:20] ( that cant all be me hitting refresh hahahaha ) [03:49] hi all [03:52] I'm messing around with juju using a local environment, is there any way I can specify which apt mirror to use? [03:59] no [03:59] the local provider brings up an apt-cacher-ng automatically [03:59] and there is AFAIK no knob to tweak this. [04:00] there is an experimental patch to let you set an explicit proxy, but it only affects the first node spawned, last I checked. [04:00] hazmat would know more, but hazmat should be sleeping right now ;) [04:00] * hazmat should be sleeping :-) [04:00] lifeless: so i see smoser has done this: https://bugs.launchpad.net/cloud-init/+bug/897688 [04:00] <_mup_> Bug #897688: cloud-init should support apt-proxy and hostname based mirror selection < https://launchpad.net/bugs/897688 > [04:01] but I have no idea where cloud-init fits in here [04:01] jk-, cloud-init is how juju initializes machines, but it doesn't directly expose all of cloud-inits config to the user [04:01] at the moment its not supported re mirror selection [04:02] hazmat: ok, cool [04:06] hm, what *is* cloud-init? I don't have any executable with that name. [04:06] it runs in cloud images only [04:06] oh, right. [04:06] the cloud provider invokes it automatically right after the image comes up [04:07] gotchya, thanks. [04:07] in principle, depending on the cloud it either calls back to get data from an instance metadata API, or has data injected into it via the filesystem [04:07] I think pragmatically they all use the same instance metadata API call though. [04:07] as doing heterogeneous file system injection is just messy [04:08] its responsible for things like setting the ubuntu users ssh key etc etc === bcsaller1 is now known as bcsaller === cereal_b1rs is now known as cereal_bars [04:33] jimbaker: sorry I was afk way longer than I expected to be. Yes trunk has been open since 0.5.1 released [04:34] imbrandon: the way mysql sets up replication is a bit naive, and not suitable for use on an insecure network (need to transfer the db snapshot via https) but the general idea is, I think, sound. === almaisan-away is now known as al-maisan [10:51] could someone fix the charmstore ( specificly charmload ) or at least be bothered to confirm the bug report that is reporduceable every single time ( even in the official store as we're missing charms ) [10:52] its been reported over 3 weeks now and not even a "ok we'll get to it ... once someone else learns how to program in go" or anything ... kinda anoying the store has been broken all this time [10:53] * imbrandon goes to piss-off time doing something else ... === al-maisan is now known as almaisan-away [11:02] imbrandon: which bug are you talking about? [11:03] https://bugs.launchpad.net/juju-core/+bug/1015700 [11:20] imbrandon: how are you running it? [11:21] there is only one way iirc "charmload 127.0.0.1" [11:24] imbrandon: the version of charmload i have here expects a config path as its first argument [11:24] hrm ... [11:25] i am using charmstore from ppa:juju/pkgs [11:25] is there another ? [11:25] imbrandon: i'm just looking at it. there's a config file in the package dir which i'll try using [11:26] kk [11:26] root@server-1339205906-az-1-region-a-geo-1:~# charmload [11:26] usage: charmload [11:26] wrtp: i can give you ssh to that box if it helps [11:27] imbrandon: i'm interested to see if i can reproduce your behaviour here. just need to work out how to run mongodb :-) [11:27] heheh, kk , just run "mongod &" is simplest [11:28] imbrandon: is 60017 the default port number? [11:28] yup [11:28] err [11:28] 27017 [11:28] lemme look [11:29] imbrandon: ah, looks like i need to give it a data directory [11:30] Wed Jul 11 11:29:42 [initandlisten] MongoDB starting : pid=7948 port=27017 dbpath=/data/db/ 64-bit host=server-1339205906-az-1-region-a-geo-1 [11:30] imbrandon: ok, seems to be running ok now. [11:31] imbrandon: i'll see if i see your issue [11:31] cool kk, yea after that , the first charmload will finish [11:31] and every attemot after will fail [11:31] at that same place [11:31] or should [11:31] i has on 2 diff boxes here [11:31] reliably [11:32] btw the first charmload will take a good little while, so make some tea or get lunch [11:32] hehe [11:33] wrtp: btw thanks for poking at this :) [11:33] it has been very very anoying [11:33] imbrandon: by "a good little while" do you mean an hour or 8 hours? [11:33] like 2 [11:34] just under 2 iirc [11:34] imbrandon: by "every attempt after", do you mean when you run charmload again? [11:34] it downloading every charm and putting them into gridfs [11:34] and yup [11:34] when you rerun it its supose to update the charms with new ones if there are any [11:35] when you re-run it , it only takes like 2 minutes [11:35] only this first run takes a long time [11:36] its using lp api to getBranchTips iirc [11:36] and checks for new ones against that json return from what i understand [11:37] imbrandon: feels to me like it could be doing more stuff concurrently. but maybe it *is* maxing out my network. [11:37] heh, no i agree [11:37] i think its all serial [11:38] not 100% certain tho [11:38] when i run it , i run it on a HPCloud server with a fat pipe [11:39] so i dont hink its network that makes it slow [11:39] i think it just processes one at a time, for all 160ish of them [11:41] wrtp: brb gotta run for like 1 hour, but i'll be round after that all day, should u need something else from me [11:41] imbrandon: k === almaisan-away is now known as al-maisan === al-maisan is now known as almaisan-away === almaisan-away is now known as al-maisan [12:23] * imbrandon returns [12:40] imbrandon: ok, i've seen the bug. [12:40] imbrandon: i didn't need to run charmload twice [12:40] imbrandon: i will have a look into it [12:41] imbrandon: looks like it's something to do with the terracotta charm in particular [12:42] wrtp: rockin [12:42] thanks a ton [12:46] imbrandon: np. BTW i've now got a 15 line standalone program that reproduces the bug: http://paste.ubuntu.com/1086121/ [12:47] oh cool [12:47] that might help me learn a bit of go :) [12:47] imbrandon: it's not a hard language [12:48] yea i've been poking at it the last 2 days or so [12:48] just picking up the ultra basics so far, but most new langugues are just learning the packages [12:48] synatax is syntax [12:48] :) [12:49] imbrandon: yeah. actually the idioms are a bit different too - the lack of subtyping and the way packages are structured makes a significant difference [12:49] imbrandon: but, yeah, as always, the packages are the main thing [12:49] s/packages/standard packages/ [12:52] hehe yea [12:59] imbrandon: ok, i've got a fix. will add a test and propose it soon. [13:01] wrtp: wow, urock [13:01] ty [13:03] imbrandon: np [13:27] juju deploy ubuntu [13:27] 2012-07-11 14:27:31,259 INFO Searching for charm cs:precise/ubuntu in charm store [13:27] 2012-07-11 14:27:31,942 ERROR Error processing 'cs:precise/ubuntu': entry not found [13:27] http://jujucharms.com/charms/precise/ubuntu [13:28] what am I doing wrong? [13:28] jml: nothing [13:29] its broken, you need to grab a local copy of the charm, that is part of the bug that wrtp just got a fix for [13:29] imbrandon: ok, thanks. [13:29] in the charmstore and will be fixed $sometime but still needs code review etc [13:51] imbrandon, jml: proposal to fix the bug: https://codereview.appspot.com/6344105 [13:56] wrtp: looks like already taped it too , i def owe ya a beer in copenhagen :) [13:58] * wrtp is always willing to accept a beer :-) are you in copenhagen? [14:04] nope, but thats likely the next time i'll get to meetup with ya [14:04] 12.10 uds [14:04] imbrandon: ok, the fix is in. i guess it'll take a while to propagate to the ppa. i haven't actually tested charmload again yet :-) [14:04] np, i'm actually compiling it local how to try [14:05] imbrandon: cool, i didn't know the location had been confirmed [14:05] well trying to if i can find glang-tip [14:05] wrtp: ahh i'm not 100% for sure, thats what the consensus was last i heard tho [14:06] imbrandon: if you've got golang installed, you should be able to do: go get launchpad.net/juju-core/store/charmload [14:06] ahh cool,i was trying to rebuild the package [14:06] yup i do [14:06] imbrandon: or possibly: go get -u ... if you've already installed the juju stuff under Go. [14:07] imbrandon: (get -u goes to the web site even if there's already a local version) [14:08] oh now thats cool [14:08] * imbrandon forgives some of golangs verbosness :) [14:10] brb grabbing a soda, but i assume its compiling now [14:10] brb === zyga is now known as zyga-food [14:14] wrtp: where did it put the binary [14:14] heh [14:15] "where'd WHO go!?" [14:16] imbrandon: if you've got $GOPATH set then it's in $GOPATH/bin [14:16] imbrandon: otherwise it's in $GOROOT/bin [14:16] k [14:16] imbrandon: unless you've got $GOBIN set [14:16] no likely [14:16] not* === salgado is now known as salgado-brb [14:17] imbrandon: what does go list -f '{{.Dir}}' launchpad.net/juju-core/store/charmload [14:17] print? [14:18] root@server-1339205906-az-1-region-a-geo-1:~# go list -f '{{.Dir}}' launchpad.net/juju-core/store/charmload [14:18] /usr/lib/go/src/pkg/launchpad.net/juju-core/store/charmload [14:18] ahh ok [14:18] yea i have no $GO* env set [14:18] heh [14:18] heya SpamapS :) [14:20] wrtp: ok thats a dir [14:20] with the src [14:21] ahh got it [14:21] imbrandon: yeah. if you want stuff to be installed in your home, then set GOPATH to e.g. $HOME/src/go [14:21] * imbrandon headdesks [14:22] imbrandon: in your case, you can run /usr/lib/go/bin/charmload [14:22] imbrandon: i think [14:22] ahh cool , yea i should set all that up today , zomg all my ram will be taken by env vars, you should see my "# env" printout [14:22] heh [14:22] :-) [14:22] yup, now i got to find that config [14:22] imbrandon: there's one in the charmload directory [14:23] ahh rockin [14:24] ok loaded up, looks good so far [14:24] no idea why it dosent use the default 27017 port [14:24] silly store === salgado-brb is now known as salgado [14:25] wrtp: woot works perfect [14:25] imbrandon: cool. [14:25] imbrandon: i've been chugging charmload along too, and it hasn't encountered any further problems... [14:25] * wrtp checks [14:26] next question is SpamapS once that lands in the PPA how do get store.juju.ubuntu.com updated ? or whatever the url is [14:26] imbrandon: nope, still working [14:26] sweet [14:26] imbrandon: no idea, sorry :-) [14:27] no worries, liky its automatic OR justa simple IS ticket [14:29] SpamapS: woot, looks like most if not all the ones on the MIA list are now loading [14:29] i've seen a few come by already [14:29] imbrandon: you made some fixes? [14:29] not me, wrtp did [14:29] ahh [14:29] i just helped debug [14:30] It needs to get merged into juju and then we have to get our IS people to deploy the new version [14:30] wrtp: any chance you added HTTPS ? ;) [14:30] yea its merged , already revied by gustavo [14:30] reviewed [14:30] ah ok we just have to bump IS then [14:30] and should be in PPA soonish [14:30] SpamapS: Btw, I apologize for being behind on the API to get errors [14:30] SpamapS: i just did the fix. no new features... [14:30] SpamapS: I'll sort that out [14:31] SpamapS: It's really me being lazy.. the errors are even in the database already [14:31] oh speak of the devil 0/ [14:32] SpamapS: but i did get a little peek into the go code world , so maybe that will nudge me to hunker down on it this week :) [14:34] imbrandon: Oh, neat [14:34] imbrandon: What's your take on it? [14:35] niemeyer: much more verbose than i'm used to , but def something cool, i'm really looking forward into getting deep enough to play with some concurency [14:36] imbrandon: Oh, interesting. Verbose in which sense? [14:36] just than lang its self, i've been doing ruby,js,php far too long :) [14:37] actually its seems alot like backwards js, but thats just a feeling, dont really know how to explain myself there [14:37] not in a bad way tho :) === zyga-food is now known as zyga [14:37] as in the loops in logic seems reversed , much more like c [14:39] imbrandon: Ah, yeah, one of the loop forms is close to C indeed === al-maisan is now known as almaisan-away [14:39] imbrandon: Anyway, happy to see you poking with that.. please ping if you need anything [14:40] sure thing :) [14:55] niemeyer: no worries. We're all behind on everything. If you could work on that thing to make the world turn slower so we get 25 hours a day that would help. ;) [14:57] SpamapS: :-) === zyga_ is now known as zyga [15:51] SpamapS, doublechecking: is it ok to merge in branches into juju trunk at this time? [15:52] jimbaker: lp:juju has been open since 0.5.1 released [15:53] jimbaker: and there's no plan currently for honolulu's release [15:53] SpamapS, ok [15:55] jimbaker: still broken on natty and oneiric :( [15:56] we care about natty and oneiric ? [15:56] imbrandon: I don't know for sure. I think we probably should since AFAIK OMG is still on oneiric, isn't it? [15:56] nah [15:56] its on precise [15:57] last major redo [15:57] err redeploy [15:57] I'd be happy to let go of natty.. but oneiric we still have an active charm series for [15:58] yea i dont mind much either way. but just seems kinda odd as there isnt any uptodate charms for natty iirc [15:59] natty is only about the client [16:00] 0.5.1 works on oneiric.. [16:00] and natty actually [16:00] so we can just say those are the last supported releases on natty/oneiric [16:00] but yea i moved it to precise a month or so ago when the last big redeploy in hopes there would be a stable php 5.4 i could toss on there at some point [16:01] for precise [16:01] imbrandon: there is.. [16:01] but not moved to 5.4 yet, just was planning [16:01] yea at the time there wanent tho [16:01] https://launchpad.net/~ondrej/+archive/php5 [16:01] that had no apc [16:01] a month ago [16:01] imbrandon: tho that may be somewhat experimental [16:01] SpamapS, do you have the buildd log for natty/oneiric? [16:01] yea apc segfaulted on that untill like 2 weesk ago [16:01] jimbaker: https://launchpadlibrarian.net/109247690/buildlog_ubuntu-oneiric-i386.juju_0.5.1%2Bbzr555-0juju1~oneiric1_FAILEDTOBUILD.txt.gz [16:02] jimbaker: https://launchpadlibrarian.net/109247508/buildlog_ubuntu-natty-i386.juju_0.5.1%2Bbzr555-0juju1~natty1_FAILEDTOBUILD.txt.gz [16:02] imbrandon: you might consider a no-change rebuild of quantal's packages too [16:02] yea thats exactly what i was planning once you told me you uploaded it [16:02] Is there any way to indicate a charm requires a subordinate? [16:03] SpamapS, so the common failure is this one, juju.unit.tests.test_lifecycle.UnitLifecycleTest.test_remembers_relation_removes [16:03] looks like we need to merge w/ Debian actually. hm [16:03] heya marcoceppi 0/ [16:03] ok, that's a useful place to start [16:03] o/ imbrandon et al [16:03] marcoceppi: umm would requires: charmname scope: container [16:03] not work ? [16:04] not sure [16:04] jimbaker: install ubuntu-dev-tools, use 'mk-sbuild oneiric' to create a buildd-like chroot. Use 'schroot -c oneiric-amd64 -u root' to enter the chroot and you can install build-deps, try the test suite, etc. etc. [16:04] i dont think its enforced but i think that would be the way [16:04] haven't tried, wasn't sure if there was a way to indicate that a "main charm" required a sub-ordinate [16:04] it looks like the problem with natty is that the yaml format is slightly different (presumably libyaml difference) [16:04] marcoceppi: ahoy! [16:04] or at least make that more obvious aside from descriptions [16:04] right [16:04] marcoceppi: there are no required subordinates. [16:04] 'morning all [16:05] yea i'm not sure either, but that seems like it right off the top of my head [16:05] SpamapS: Okay, so if a charm requires a suboridnate you're doing it wrong? [16:05] marcoceppi: part of the way it figures out which side is primary/sub is the provides (primary) and requires (subordinate) [16:06] SpamapS: ah, that makes a lot more sense [16:06] marcoceppi: possibly, but subordinates are a little clunky for anything except their intended use case (container-aware monitoring/management).. can you provide more details? [16:06] Multi-site wordpress via subordinates [16:06] SpamapS: so like requires: loggin interface: blah scope: container ? is not right [16:06] marcoceppi: I'm starting to think we should think about "building" charms using my splice tool for inheritance. [16:07] oh hm [16:07] no thats different [16:07] marcoceppi: ahh i ran into the same issue with nginx and sub sites [16:07] SpamapS, oddly, i cannot run juju.unit.tests.test_lifecycle.UnitLifecycleTest.test_remembers_relation_removes by itself on precise [16:07] imbrandon: right, I don't know what that would do, but probably not what you think. :) [16:07] so that's a pretty good sign something is wrong with that test [16:07] not found a good DRY solution [16:08] jimbaker: very interesting [16:08] imbrandon: the only (poor) DRY solution is to stuff everything in a package in a PPA [16:08] SpamapS: what I was thinking, if there's no subordinate then just roll-out with wordpress, but the problem is preserving that "one instance" when you start adding more subordintaes of wordpress sites [16:08] which leads me to believe I should be doing a wordpress and wordpress-mu charm [16:08] imbrandon: and even then you still have to RY on the metadata [16:08] yea [16:09] SpamapS, when i tried the juju.lib.format tests, i was doing this on oneiric. i wasn't even thinking of natty! :) so i will revisit with natty, but the buildd log basically tells me what i need to know, there's a slight incompatibility there [16:09] marcoceppi: another way to go is to just have the charm morph itself from single -> multi on attachment to the mu relation [16:09] marcoceppi:oh yea, thats right its not like drupal where yoy can just drop a new site in the config dir [16:09] SpamapS: no, wordpress its self [16:09] SpamapS: right, but then the problem is preserving that one first install. Then how do you update the themes and plugins for it, it's not in a charm repo anywhere [16:09] marcoceppi: I have the same problem with ceph actually. Its hard to know what something is intended to be until after all the hooks (relations, et.all) have fired at least once [16:10] I think I'm going to skip multi-site for now [16:10] It was a cool idea, but it's really starting to cause logic circles for me [16:10] jimbaker: if we need to just run a subset of tests on natty thats fine [16:11] jimbaker: Ideally the test would detect the incompatibility and skip itself tho [16:11] marcoceppi: probably a good idea [16:11] cool, I'll strip that out in to a new branch [16:12] SpamapS, yeah, let's just fix the test [16:12] or better yet fix the code [16:12] i'm sure i can workaround this minor incompatibility [16:13] jimbaker: the idea is not to spend too much time fixing server-only code for natty [16:13] jimbaker: we only want natty users to be able to use juju as a client.. :) [16:14] in lucid I don't even run the test suite [16:14] the client "might" work ;) [16:14] but juju is basically python 2.7 only [16:15] SpamapS, this possibly can impact client-level code [16:15] since they can observe the yaml formatting being used [16:16] jimbaker: ok, let me be more clear. Priority == low [16:17] SpamapS, but on the other hand it does seem unlikely since it only fails here, not in similar tests that actually ensure what the client sees [16:17] SpamapS, so given that those tests are robust and cover this case at the client level, i think we can skip this test on natty [16:18] in any event, i'm more concerned about the lifecycle test, since that seems to be broken across the board, but in a weird way [16:19] most likely it's impacted by a data race === salgado is now known as salgado-lunch [16:23] jimbaker: thanks for looking [16:23] SpamapS, np, sorry it took so long to coordinate on the specifics here [16:26] wrtp: charmload completes 100% [16:26] woot [16:27] when did you say it would hit the ppa ( so i know when to bug SpamapS to bug IS ) heh [16:28] imbrandon: yeah, it completed for me too [16:28] rockin [16:28] imbrandon: niemeyer would be a better person to ask about the ppa [16:28] kk, but its in the trunk now so if ppa were to build it would go ? [16:28] niemeyer: ^^ ? [16:28] I suspect this recipe needs to be run: https://code.launchpad.net/~niemeyer/+recipe/charmstore [16:29] Built on request [16:29] niemeyer: ^^ [16:29] ahh cool, please :) [16:31] oh wtf google.. [tab] on results page should not take me to nav bar.. 1st result *please* [16:32] heh [16:33] SpamapS: i suspect IS will need more than a bump too, as before ( as in the current package ) runs with "charmload " and the new one runs with "charmload " config = yaml with mongo ip:port [16:37] imbrandon: *DOH* [16:49] What's charmload? === salgado-lunch is now known as salgado [16:57] marcoceppi: the charmstore [16:57] well what loads the charms from LP into the charmstore [16:59] SpamapS, imbrandon: Will do [17:25] Can juju associate reserved ips to instances? [17:26] dpb___: no it hasn't abstracted that yet [17:26] dpb___: but you can use the API to do that [17:27] dpb___: this does cause some issue if 'public-address' is used in the charms. but that is actually fairly rare [17:27] SpamapS: oh? Is there a pointer for how to do that? [17:29] dpb___: euca-associate-address (or ec2-associate-address if you prefer big slow tools ;) [17:37] SpamapS: ooh, I see what you mean, ok === fenris_ is now known as Guest10826 === Guest10826 is now known as ejat [17:47] adam_g: http://askubuntu.com/questions/161731/using-juju-with-private-openstack-cloud-deployment [17:47] or anybody? [17:54] jcastro: answering.. i think the IP address issue should be resolved once he's attached a floating IP, but the ability to insert user defined config into juju nodes' cloud-config would solve his second issue [17:54] cool === bkerensa_ is now known as bkerensa [18:03] Is there a way to increase the virtual machine HD size when running with -e local? [18:04] adam_g: I guess Ill be seeing you next week ;) [18:08] negronjl: hey does drawbridge use mongo or mysql in the backend? [18:09] Is there a wiki page for Juju on Fedora? [18:09] * MarkDude is heading to OSCON and CLS- [18:09] you gonna be there jcastro ? [18:09] yeah [18:09] Cool [18:09] bkerensa: ya, for sure [18:10] tncardoso: local is not a VM, its a container.. [18:10] tncardoso: you can mount /var/lib/lxc somewhere larger if you want [18:10] Lets get a photo op for it, I want to go next step and get publicity, and maybe have Nixie Pixel put sumthin' about it in one of her videos she is making there :) [18:10] * SpamapS would love to be at OSCON.. one of the best confs [18:10] MarkDude: I'm trying to find someone to take over the Ubuntu Booth for me 90% of the time ;) [18:10] Get you in front of Fedora booth, [18:11] Phil will be there, he is sleeping on the floor of our Fedora room [18:11] lol [18:11] We could also just have some Fedorans in front of Ubuntu Oregon booth [18:11] your water and towels will be gone [18:11] :) [18:12] Whatever [18:12] MarkDude: Finn is coming to and Nathwill [18:12] so it should not be a problem [18:12] He will be our *token Ubuntu guy* [18:12] SpamapS: If I log in the container and run 'df' I get 20Mb filesystem, this is making it harder to test my charms [18:12] We will order him extra towels and water- remember we are NOT staying at Motel6 [18:12] :D [18:13] Despite your urging during funding meeting- which was pretty EPIC trolling on your part. [18:13] Good stuff, people were amused [18:13] * MarkDude too [18:14] If you do prank the Fedora booth, make sure we get a good photo op [18:14] We are planning to sorta troll you by offering you a bit of our table space to put some Ubuntu SWAG [18:14] Since we have some space that is [18:14] :D [18:17] tncardoso: that means /var/lib/lxc is on a 20Mb filesystem [18:17] tncardoso: mount -o bind /mnt/somewhere/big /var/lib/lxc [18:18] SpamapS: Ok, I will try that, thanks [18:21] MarkDude: there's no wiki page for it, there's a page for it we point to on github tho [18:21] Fair enough, ty [18:22] Looking forward to seeing you there- CLS also? [18:22] I'm in the middle of planning a booth so I can't do CLS, really wanted to though [18:22] er, a move. [18:23] MarkDude: hey those RPMs look fresh, anyone test these lately? [18:23] other than brandon I mean [18:23] Well no [18:23] thats the part of publicity [18:23] Honest answer is F17 sorta sucks right now [18:24] So many are still on F16- or even F14 [18:24] :) [18:24] True story. [18:24] ok so we just keep pushing these and when you guys are set you'll let us know? [18:24] Yep [18:24] or are you basically doomed until F18? [18:24] Thats WHY I want to get some publicity [18:24] Or maybe F19 [18:25] We are in the process of killing Gnome 3 [18:25] That will take a while ago [18:25] SpamapS: You know about LP Team running into issues with charm-tools? https://code.launchpad.net/~yellow/charm-tools/trunk/+merge/101554 [18:26] bkerensa: yeah, I really need to just sit down and do this. Perhaps today [18:27] SpamapS: yeah I think they thought I was the guy for that [18:27] ;) [18:27] which is clearly not the case [18:42] I'm trying to do some hook debugging. https://juju.ubuntu.com/docs/write-charm.html But when I run something like config-get, I'm not in a juju context (no environment vars set). How do I load all that correctly? [18:43] i.e., I ran juju debug-hook, I'm in the remote byobu session in terminal 0, and I don't have any environment set. [18:47] dpb___: 0 is not really useful [18:47] dpb___: you need to change a config setting [18:47] dpb___: so config-change is executed [18:47] config-changed rather [18:47] oh I see, and then I will get in real time something. [18:47] * SpamapS thinks we should print that out in window 0 actually [18:47] let me try [18:57] SpamapS: ok, and this leads me to wonder how I debug the initial install attempt? [19:00] SpamapS: i think we should just setup an environment there [19:01] dpb___: juju deploy foo ; juju debug-hooks foo/0 [19:01] dpb___: there's a need, IMO, to have a juju deploy --debug-hooks foo [19:01] imbrandon: there's context missing in the agent tho [19:01] SpamaS: got it. makes sense. thanks much. [19:01] imbrandon: its possible that config-get and unit-get can be made to work w/o context [19:01] refire the config-changed, or make a special context for it [19:01] yea [19:02] imbrandon: the env being up for things that make sense would be useful tho === fenris is now known as Guest42115 [19:02] right [19:02] really there could be a "dead" hook [19:02] or something [19:03] or hell a hook/debug [19:03] * imbrandon waits for another gold star. or a green one [19:03] actually I do think we should be able to know when debug is set somewhere so we can increase charm log verbosity [19:03] but juju-log is supposed to help w/ that [19:04] it does a little, but like the case i always find myself in ... [19:04] i want to work on a charm, everything is deployed nice [19:04] i run debug-hooks [19:04] i cange a config [19:04] thats about useless [19:05] then i give up and just put the hook i'm [19:05] working on at the bottom of upgrade charm [19:05] and run upgrade charm over and over tuill i get what i want [19:05] pain in the A** but it does the trick [19:06] not really found a better workflow [19:06] would be super cool if i could run debug hooks as now [19:06] but THEN [19:07] maually fire any hook i wanted [19:07] from juju [19:07] so juju --retry install [19:07] or whatever [19:07] from another console [19:08] imbrandon: the upgrade-charm loop isn't all that awful. I put myself in it all the time. ;) [19:08] imbrandon: you can at least juju resolved --retry to get a failed hook to try again [19:08] it is as there is no context [19:09] imbrandon: thats ok, because you can then write your relation hooks to use relation-ids and be more useful :) [19:09] right, but i want to fire specific hooks [19:09] hahah yea NOW i can [19:09] imbrandon: but yeah, I think window 0 should be able to force fire a hook [19:09] run-hook foo [19:09] yea [19:09] * SpamapS opens a wishlist bug for that [19:09] i would kiss whom coded that ( its a threat ) [19:09] hahah [19:11] SpamapS: think we could rangle jitsu into doing it ? [19:11] imbrandon: no [19:11] k [19:11] <_mup_> Bug #1023565 was filed: debug-hooks window 0 should be able to force hooks to execute < https://launchpad.net/bugs/1023565 > [19:11] imbrandon: perhaps, but I don't think we should get too fond of having jitsu poke zk to do things [19:11] SpamapS: why not? [19:11] hahah but its the crazy ground [19:12] because ZK will be hidden from us [19:12] :) [19:12] and may change layout [19:12] or even turn into something else.. like mongodb ;) [19:12] thats the case with anything , the api may change too [19:12] SpamapS: lol [19:13] i youd rather not see jitsu do it i'm good with that but yea thats kinda the point i was told jitsu was for , crazy stuff that shouldent be done :) [19:13] heya negronjl 0/ [19:14] imbrandon: o/ [19:14] imbrandon: no, the API will not change once it is set [19:14] imbrandon: its about time investment tho [19:14] imbrandon: investing time in that is investing in something that will die soon [19:15] hey SpamapS [19:15] SpamapS: http://omttd.blogspot.com/2012/07/configuring-nfs-on-ubuntu-in-amazon-ec2.html [19:15] well ok , was kinda joking till now, but here is my take, good or bad or whatever, no matter what ppl say Go is not ready, its not even in an alpha state to be used by nuts-o-ppl and so time investment imho isnt an issue [19:15] not from this side of the fence [19:16] SpamapS: this would be a nice thing to blog about, doing it the juju way, what do you think? [19:16] imbrandon: its your time, do what you want with it :) [19:16] I, however, am not on my own time.. ;) [19:16] SpamapS: right :) [19:16] jcastro: thats short enough... there's no real win for juju there [19:17] booo subordinates ftw. [19:17] there already is a juju nfs suborinate and honestly the juju way would be longer:) [19:18] maybe better in the long run for them but longer [19:18] it wouldn't be longer, just the first time, after that if there's a relationship in place, automatic [19:18] right, thus long run better [19:18] but I see what clint is saying, find something more complicated to care about than NFS. [19:18] the juju way is only better for everything *after* that blog post [19:18] yea, see the bottom of my last blogpost [19:18] wanna help ? [19:19] like after that you probably want to use it to store uploads [19:19] but you also probably want HA [19:19] so juju could help setup drbd [19:19] and help add proper exports for each client you associate [19:20] jcastro: NFS is ripe for juju help.. but the bits this person blogged about are.. frankly.. the obvious things [19:20] oh i'm going to a special place in hell .... [19:20] http://api.websitedevops.com/bin/hello.go [19:21] SpamapS: well with juju I don't need the first 4 steps at all [19:21] #!/usr/lib/go/bin/gorun [19:21] package main [19:21] func main() { println("Content-Type: text/html") println("") println("

Hello from GO!

") [19:21] } [19:22] ^^ seat right next to satans daughter at the dinner table [19:23] jcastro: yea you replace those 4 steps with http://juju.ubuntu.com/docs/getting-started.html [19:25] jcastro: to paraphrase SpamapS "deployment is *boring*" and in this case it shows, now "juju set memcache engine=twememcache" for a runing environment is sexy [19:25] hey so what do they change [19:25] like, do people need to change their apps and stuff [19:26] they don't really say "drop in replacement", probably on purpose [19:26] so far nothing , its the infrstucture that is changed [19:26] not the front end [19:26] and the infra changes is what juju is good at :) [19:29] jcastro: yea and one thing about twitter they are good about using standard open source stuff , no embrace extend extenguish, so it makes sense its a dropin [19:29] and they wouldve changed the name more like Riak2 or something :) [19:30] * SpamapS feels like he missed some context [19:30] * SpamapS goes to ponder that at lunch [19:30] SpamapS: twitter has a new memcached fork [19:30] SpamapS: you did , i'll fill you in when you get back [19:31] http://engineering.twitter.com/2012/07/caching-with-twemcache.html [19:31] so the idea is, wouldn't it be cool if you could play with it right now with juju [19:31] SpamapS: and i'm attempting at making the "juju set memcache engine=twememcache" "just work(tm)" [19:31] but it looks like a drop in replacement so I figure a config option on the memcached charm [19:32] there is also a new memcache proxy that sits infront , or can sit infront of memcache/twememcache [19:33] and let it scale in the same way my nginx-proxy does or mysql-proxy does [19:33] guess its name ? heh twememproxy iirc or something similar [19:33] heh [19:34] jcastro: have you looked at all the kick ass projects that twitter pops out tho ? hold on there is a slick list .... [19:34] I know, they do release a ton of stuff [19:34] http://twitter.github.com/ [19:35] color coded by prog lang even :) [19:35] 30 public repos [19:36] oh wow, you know that blogger dude is a ex-canonical employee [19:36] jcastro: ^ [19:36] yeah he is [19:37] so he should know of juju [19:37] I'm a Linux geek. I previously worked for Canonical, which is the corporate sponsor of Ubuntu. (It's an incredible place to work, and they're always hiring! Despite the fact that I'm not there any longer, I have nothing but good things to say about them. They rock.) [19:38] jcastro: btw the NFS isnt a good story, but he is obviously on aws, obviously uses ubuntu, lets see if we can talk to him about the whole Libboo env [19:39] true dat [19:39] if its a one man show, or close to it, it may fly [19:39] When Libboo migrated from hosting everything ourselves to using Amazon's Elastic Compute Cloud (EC2), we decided to do a bit of rearchitecting at the same time to make scaling easier in the future. [19:39] ohhh yea [19:39] we need to have a chat with him :) [19:40] you wanna email him ? your better at that kinda stuff than me, but o [19:40] i'll defiately take the torch from there if he bites [19:41] and show him the ropes etc [19:45] Yeah I'm on it. :) [19:45] rockin i'm messing with twememcache, i dont think it will be that hard at all [19:46] doing it now, well and a bit of playing with go [19:46] jcastro: when is your next "showoff" day [19:46] this tuesday [19:46] 7 days from now [19:47] oh yea, we're golden then [19:47] i'll have this tongiht or tomarrow mroning if i hit snaggs [19:49] imbrandon: if not depending on our time, etc. we can just blog it when it's ready, I think it's cool enough on it's own to begin with [19:49] imbrandon: do you happen to have anything using memcached anywhere? [19:50] it'd be cool to see someone putting it through it's paces, etc. [19:50] interesting [19:50] dormando, the current memcached maintainer, is an ex-twitter employee [19:50] I wonder if they disagreed [19:50] heh [19:51] maybe, memcache powsers ALL of twitter [19:51] they use it like most use RDBMS [19:51] as in persistant and for everything [19:51] weird, I know upstream memcached has the slab reallocation [19:51] like user info, tweets etc [19:52] so surprising that they forked that [19:52] yea, i have a feeling it may have been proior or a diff implmentation [19:52] Lock-less Stats Collection [19:52] Why aren't they just feeding this back into memcached? [19:52] this is all t3h awesome [19:53] but the one thing that can be said is its battle tested [19:53] SpamapS: i think they offered [19:53] but upsream was moving to slow or something [19:53] Ah [19:54] i'm thinking its similar to the situation of the new shiney lands in ubuntu first sometimes when really debian should get it first [19:54] same type of vibe [19:54] Yeah I would bet Alan incorporates it rapidly [19:55] Heh, dormando in #memcached already responding to some of it.... [19:55] 09:42 <@dormando> dsal: no... they benched something that moves at most one slab per 30 seconds vs somethign that moves slabs triggered by out of memory events [19:55] 09:42 <@dormando> if they'd bothered to read the documentation I'm not sure why they did that [19:55] reading docs is way less fun than coding [19:55] hehe nice /me joins [19:56] so really the real memcache will be better once a few hotness is incorperated ? [19:58] niemeyer: is there a way ( short of chagning the code ) that I can have the compile dir for gorun use something other than /tmp or $TEMP , like can it use $GOTEMP ? [20:00] i'm trying to get a date with the devils daughter by #!gorun as a cgi script , but apache/nginx want the actual binary to live in the ExecCGI dir so i'd like to set it to like /var/www/cgi-bin/.temp but not the $TEMP evn var as other apache temp files would then live there as well [20:02] imbrandon: I have to think go has a fastcgi library by now [20:02] SpamapS: it does [20:02] imbrandon: or even just a light weight http service [20:02] i like the ability to drop any exec in my /bin dir tho [20:02] its how i run python [20:02] ah [20:03] SpamapS: http://api.websitedevops.com/bin/json.py?callback=cb [20:03] stuff like that, but /bin is setup so anything that output correctly will work [20:04] that way i dont need like a whole django env or ruby env etc, i setup the main server as php, and then /bin as all the "misc" stuff [20:05] that i may want to use like a json.py in that case there etc [20:07] and i have a hello.go that works from the cli "./hello.go" but niemeyer wrote gorun in a way that it compiles the .go with #!gorun on the fly and then replaces the process ( not fork ) with the compiled bin from $TMP/$hostname-$username/binary [20:07] or something similar [20:08] so it almost works except /tmp is not +ExecCGI and i'm thinking that might be a bad call [20:08] :) [20:09] so yea i'm turning a .go into a 1995 .pl script thus the special place in hell [20:10] SpamapS: http://golang.org/pkg/net/http/cgi/ yup :) [20:12] SpamapS: and for completeness hello.go src http://paste.ubuntu.com/1086796/ [20:12] heh [20:14] SpamapS: can i tell LP that i want to build the DSC from quantal without downlaoding and dputing it [20:14] for php 5.4 [20:15] hrm i guess that would be a recipe , /me looks how those are made on LP [20:15] imbrandon: Hmm [20:16] imbrandon: What are you trying to do there? [20:16] niemeyer: http://paste.ubuntu.com/1086796/ [20:16] works great from cli, but i want to use it as a poor mans cgi [20:17] imbrandon: hah :) [20:17] thus the TMP where the gorun bin is compiled needs to live under the same dir :) [20:17] imbrandon: I suggest compiling it in that case [20:17] :) [20:17] imbrandon: Btw, http://golang.org/pkg/net/http/cgi [20:17] yup, ok yea, it was/is more of a excercise than pratical [20:17] imbrandon: It's really not difficult to compile it.. [20:18] imbrandon: export GOPATH=$HOME [20:18] imbrandon: mkdir -p $GOPATH/src/mycgi [20:18] imbrandon: cd $GOPATH/src/mycgi; vi main.go; ; go build [20:18] imbrandon: You have a binary [20:19] cool , yea that is probably the way to go than try and recreate 1995 anyhow :) [20:19] then makes using external packages much easier too [20:22] imbrandon: Right [20:23] imbrandon: This is a huge plus I appreciate too.. I just copy s3up around, for example, and it Just Works [20:23] (labix.org/s3up) [20:23] yea , lifeless and me were just talking about that aspect of go the other night [20:23] i was going to use it for the OSX juju installer just for that reason [20:24] niemeyer: you might like http://cl.ly/Htjg ^^ mentioned installer [20:37] imbrandon: btw, yes you can. The recipe would just be 'lp:ubuntu/php5' as the branch.. should "just work" [20:38] imbrandon: of course.. if there are build-deps that need backporting.. you are in for more recipes :) [20:38] sweet, i like simple [20:39] I'm wondering if we should have a repo for charms to backport things they need into it [20:39] My nagios charm needs 'pynag' which doesn't exist yet even in quantal.. [20:40] yea i think we mentioned that the other day [20:40] ppa:charmers/backports or something like that [20:40] yea [20:40] I wonder if we can be that general though [20:41] Like I don't want to accidentally pull crazy-crack into a nice conservative charm that just wants a few python modules [20:41] sure anything that isnt general enough for the package if its shard can be edited in the chatrm [20:41] charm* [20:41] hrm [20:41] true [20:42] I think its a PPA per backport focus [20:42] i like the idea of a repo per charm but not tied to a person, so others could update it same as the charm [20:42] like, we can have one for PHP54 [20:42] and one for nagios [20:42] yeah [20:42] repo per set of charms tho [20:43] repo per interface maybe?! [20:43] yea ppa:charmers/nginx ppa:charmers/nginx-proxy [20:43] ok I really should have eaten back when I said I was going to eat [20:43] i like per charm, it keeps the namespace nice and clean [20:43] and identifiable [20:43] indeed [20:43] thing about how many things use the http interface [20:43] tho with arch: all stuff we can just embed debs in the charms for that use case [20:44] i'm likeing files in the debs less and less [20:44] which may be what I do just to get this nagios stuff out and done [20:44] other than config templates [20:44] these huge downloads and uploads on deploy kinda suck [20:45] but they're predictible [20:45] far more predictible than ppa.launchpad.net or archive mirrors. [20:45] reliable.. not sure [20:45] they are just as prdictable if they check out from git /bzr [20:45] but they either work, or they don't [20:45] no way, this is a zip file in your s3 [20:45] if s3 goes down, the whole world goes down [20:45] on add-unit.. if github is hiccuping.. some charms will fail [20:45] others won't [20:46] but those with embedded files will always work or not work. [20:46] erm [20:46] we actually identified the appropriate way to do this a long time ago [20:46] caching really is what we need [20:46] file-get http://... would cache said file in s3 for the next add-unit [20:46] yea because a pile of files in my charm is so a step back from vcs [20:47] and upgrade-charm would poke that cache for a refresh [20:47] anyway, food [20:47] or just a call to refresh caceh [20:47] ok yea me too [20:47] bbiab [21:23] Is it possible to run multiple machines of the same service? When I try deploying the same charm twice I get the following error: ERROR Service name 'crawler' is already in use === salgado is now known as salgado-afk [21:34] add-unit [21:52] tncardoso: not quite [21:52] tncardoso: add-unit is multiple machines of the same "service" [21:52] tncardoso: note that they will share configs entirely (so relationships will be established to all machines of a service) [21:53] tncardoso: there's an optional "service name" parameter for deploy.. so 'juju deploy mycharm mycharm-service-id-1' works too [21:53] SpamapS: Ok, so relations are shared [21:53] SpamapS: In my case it will be ok [21:54] SpamapS: Thanks [23:02] jimbaker: ping [23:22] adam_g, hi [23:37] jimbaker: hey, was finally messing around with trying to isolate juju usage to a foreign $HOME. i was running into trouble, but it looks like an ssh client issue more than anything juju related. [23:39] adam_g, you do need to have a .ssh directory in this $HOME dir [23:39] otherwise my experience was that it worked well [23:43] jimbaker: bootstrapping works, its the ssh client connection to ZK that keeps checking the original $HOME/.ssh [23:43] adam_g, hmmm [23:44] i haven't yet looked too deeply into it, but it seems reassigning $HOME isn't enough to change ssh's default [23:47] adam_g, right, not juju, but ssh itself. certainly looking at juju.state.sshforward, looks like os.path.expanduser, etc are used properly [23:49] adam_g, although ssh's docs definitely seem to be clear that it uses $HOME as would be expected [23:49] adam_g, i'll retry on my end