[02:17] flaviamissi, that should work in the ppa [02:17] jimbaker, ^ executing commands after juju ssh works? [02:18] hazmat, it should [02:19] there's specific testing for it, and i understand it's been used by people like m_3 [02:19] (not to mention myself) [02:35] <_mup_> juju/refactor-machine-agent r457 committed by jim.baker@canonical.com [02:35] <_mup_> Merged trunk [02:49] <_mup_> juju/refactor-machine-agent r458 committed by jim.baker@canonical.com [02:49] <_mup_> Addressed review points [02:56] <_mup_> juju/robust-test-removed-service-unit r458 committed by jim.baker@canonical.com [02:56] <_mup_> Merged upstream and resolved conflict === flaviamissi_ is now known as flaviamissi [03:11] <_mup_> juju/refactor-machine-agent r459 committed by jim.baker@canonical.com [03:11] <_mup_> One last rename [03:12] <_mup_> juju/robust-test-removed-service-unit r459 committed by jim.baker@canonical.com [03:12] <_mup_> Merged upstream === stub1 is now known as stub === matsubara-afk is now known as matsubara === Furao_ is now known as Furao [14:29] <_mup_> Bug #873907 was filed: Security group on EC2 does not open proper port < https://launchpad.net/bugs/873907 > [14:46] jimbaker: I saw the test in juju's code [14:47] jimbaker: also put a pdb to check what's going on, the extra params never gets to the open_ssh function, the error is raised before it [15:22] hi [15:22] ISTR there's a guide somewhere for setting up a machine to do charm development locally using lxc. [15:22] I've had a shallow poke around the juju.u.c site and couldn't find it [15:24] I'll just plod away on the charm school page and see where that gets me [15:25] jml you can check out this page: https://juju.ubuntu.com/CharmSchool [15:25] Nevermind, you already have that URL [15:26] marcoceppi: :) [15:26] marcoceppi: thanks for the confirmation though [15:26] what does data-dir get used for? [15:26] specifically, why is it in /tmp? [15:30] jml: data-dir is just the directory for the zookeeper state and various log files [15:30] It's only used on local environments [15:31] marcoceppi: so the chroots don't live there? [15:31] To my knowledge, no [15:31] jml: http://readthedocs.org/docs/juju-docs/en/latest/provider-configuration-local.html [15:32] marcoceppi: when I run 'juju bootstrap' I am told "SSH authorized/public key not found." [15:32] You need to make sure you have both a private key and a public key in ~/.ssh/ folder [15:33] marcoceppi: Hmm. I bet I need to make sure they are called either id_dsa(.pub) or id_rsa(.pub) [15:34] Yeah, it uses your id_(r|d)sa(.pub) file [15:34] marcoceppi: cool. some quick symlinking addressed that. [15:36] I'm now getting "error: internal error Network is already in use by interface virbr0" errors. I wonder if that's because I didn't log out & log in again [15:38] jml: That's exactly why :) [15:41] marcoceppi: I'd like to know the underlying reasons for that. [15:44] jml: I'm not 100% sure since I've never used the LXC containers, but I believe it's because of how the libvirt sets up the network interface and the permission associated with that, logging in and out or restarting is essentially the same thing as running newgrp libvirt for your user [15:45] hmm. [15:45] I've always just known: Installed libvirt for the first time? Restart for success [15:46] marcoceppi: interesting. I wonder how that works, since I can't actually see any configuration anywhere that would put my user into the libvirtd group [15:46] I'm mildly reluctant to restart because I'm in the middle of doing other things :) [15:47] Yeah, I detest restarting as well. You could just try `newgrp libvirtd` [15:48] marcoceppi: yeah, but my user isn't added to that group yet. Am I supposed to explicitly do that? The docs don't say to do so. [15:48] jml: You shouldn't have to do it [15:49] let me dig up the doc I read that on [15:49] marcoceppi: thanks. I really appreciate your help. [15:49] jml: It's on the same page as the data-dir stuff: https://juju.ubuntu.com/docs/provider-configuration-local.html [15:50] marcoceppi: yeah, but I'm pretty sure that only works if something has done 'adduser jml libvirtd' first. [15:50] marcoceppi: and afaict, that has not been done [15:51] which makes me _want_ to restart, just to see if something magically does that :) [15:51] Installing libvirt should have done that, at least on my machine I'm in the libvirtd group :) [15:52] marcoceppi: well, this is a pretty darn fresh precise install, so I'm thinking that maybe there's a packaging or documentation bug here. [15:52] anyway, I'll re-log now and see what happens. [15:55] that's a reboot later and still no libvirtd membership [15:56] but 'adduser jml libvirtd; newgrp libvirtd; juju bootstrap' succeeds [15:57] jml: I'm not sure if that's a bug in libvirt on Precise or not. I don't typically use local containers. But if juju bootstraps successfully than \o/ [15:57] hmm. also 'bootstrap' doesn't do anywhere near as much downloading as the documentation suggests [15:58] marcoceppi: well, yeah, getting further makes me happy. If my experience makes it smoother for others, that would make me happier still. [15:59] jml: it should take about 10 seconds to bootstrap on local [15:59] does juju status show you a machine running? [15:59] "To speed up the process, you will want to juju bootstrap before the meeting where you have a decent internet connection, which will take a while because it must debootstrap the operating system." [15:59] yep [15:59] that sounds outdated, I know bootstrapping to EC2 can take sometime because of startup lag on Amazon [16:00] jml, are you in the office today? [16:00] "The bootstrap command will prompt for sudo access as the machine agent needs to run as root in order to create containers on the local machine." – I also didn't get prompted [16:00] james_w: no, I'm at home. [16:00] jml: that's odd, I do get prompted [16:03] flaviamissi, i assume you have tried quoting the command? also it would be helpful to have the actual juju ssh you are trying to make [16:11] so I've deployed a few charms (wordpress, mysql, oops-tools) [16:12] and have got 'juju status |grep public-address' on a watch [16:12] but so far no public addresses, and no evidence that it's doing anything [16:13] hi jml [16:13] jml: what is the status of the machines? [16:13] oh no, apt-cacher-ng is active, so I guess it's downloading stuff in some background process somewhere [16:14] jelmer: 'pending' [16:19] yay, it works! [16:20] "Local provider environments do not survive reboots of the host at this time, the environment will need to be destroyed and recreated after a reboot." – does this mean I'll have to bootstrap again after rebooting? [16:21] jml, yeah, assuming that is still current [16:22] james_w: ta [16:22] I'm guessing that the packages downloaded by apt-cacher-ng are all still present though [16:22] should be [16:22] unless they are stored in data-dir [16:24] they're in apt-cacher-ng's normal location [16:24] /var/cache I think [16:25] jml: perhaps you didn't get sudo prompted because you had recently done some kind of sudo action? [16:26] SpamapS: entirely possible. I don't recall that I did, but memory is a slippery thing. [16:26] oh wait [16:26] duh [16:26] sudo adduser jml libvirtd [16:26] that'll be the reason. [16:43] jml, reboot should work now (w/ juju ppa).. data-dir needs to be in a non temp location [16:44] hazmat: thanks. [16:45] http://code.mumak.net/2012/03/local-juju.html fwiw. [16:49] hazmat: how does reboot work with local provider? [16:50] hazmat: is it putting upstart jobs on my box? [16:50] SpamapS, yes [16:57] hazmat: COOL [16:57] hazmat: does it also make the containers autostart now? [16:58] I know I could read it [16:58] but I'm gearing up for fix it friday [16:58] no time to hunt down answers. :) [17:32] jcastro, m_3: hbase and refactored hadoop charms ready for review! [17:36] I'll blog something next week about using them... [17:37] jamespage: nice! [17:37] hey ping me before you do it [17:37] I'd like to have it just natively on cloud.ubuntu.com [17:38] jamespage: whoohoo! [17:38] jcastro: not sure what that means but I'll draft it up somewhere first [17:39] jcastro, m_3: I've spent quite a bit of time on the README's so hopefully that should help alot.... [17:39] jamespage: hey so duplicate content on the web = bad, so I was thinking of just having you write it right on cloud.u.c instead of on your personal blog [17:39] make it a bit more Pro looking [17:39] jcastro, sure [17:40] jcastro: you mean javacruft.wordpress.com is not pro looking? :-) [17:40] I appreciate the work on the READMEs [17:40] those will be very useful [17:40] jamespage: I am trying not to say "your blog makes it look like you are a walking java developer stereotype." [17:40] lol [17:41] jcastro, no problemo [17:45] wow.. tons of deep, well thought out email threads today. I may never get to my part in fix-it friday [17:46] m_3, SpamapS: https://bugs.launchpad.net/charms/+bug/944989 [17:46] <_mup_> Bug #944989: charm needed: distcc < https://launchpad.net/bugs/944989 > [17:47] SpamapS: nathan's 2 charms are ready for round 2 [17:48] jcastro: Its fix it friday not review it friday! ;) (ok ok, I'll take a look once I get < 138 unread emails ;) [17:48] negronjl: cool... I'll hit the review queue first thing next week [17:49] m_3: cool [17:49] SpamapS: you can leave stuff for me for next week if you want [17:49] negronjl: in your neck of the woods atm actually! [17:49] m_3: well I already did the 1st round on those two, so I will finish/promulgate them. :) [17:49] m_3: really ? where ? [17:50] Santa Clara at strata [17:50] m_3: ahh ... I'm about 4 hours south today .... lol ... I guess I'm just avoiding you :P [17:50] ha! [17:50] m_3: I hate that conference center. Its so close to Great America.. I can never stop thinking about how great it would be to just have a conference talk where you say "Screw it guys, no talk, we're riding the big dipper *NOW*" [17:51] yeah, you can see it from the hotel room [17:51] * m_3 haven't been on roller coaster in years! [17:54] m_3, SpamapS: I think the park is closed this time of year [17:55] yeah, didn't pay attention to see if it was running or not [17:56] negronjl: that sux [17:56] grrrr... really need to be able to open-port manually without having to reconfigure or upgrade [17:56] all the more reason to rent it out and go on the dipper though [17:56] m_3: why did your port change? [17:57] SpamapS: ha! yes... it would be legendary [17:57] SpamapS: Yup. that makes it worst ... you get to see all of the fun you _could_ be having if the park were open ... :/ === grapzl is now known as grapz_afk [17:57] UDS At Great America :D [17:57] jenkins on 8080 want to go to 80 and remove the proxy b/c I'm cheap [17:58] m_3: oh, you *can* actually call open-port w/o a context, IIRC [17:58] m_3: You just have to set the socket path [17:58] it wouldn't take it [17:58] oh, [17:58] bummer [18:30] jimbaker: yes, I've quoted the command, I am trying to execute the following command: $ juju ssh django/0 ls [18:30] flaviamissi, i would expect that to work [18:31] jimbaker: and it outptus juju --help screen, with "juju: error: unrecognized arguments: ls" at the end [18:31] yeah, me too [18:31] flaviamissi, does it work with ls * ? [18:31] nope, it executes the ls command in my machine [18:31] flaviamissi, hmmm [18:32] jimbaker: look at the error output: juju: error: unrecognized arguments: ls charms _charms data_dir env [18:32] flaviamissi: actually it evaluated the * on your machine [18:32] flaviamissi: what version of juju? [18:32] SpamapS, right, you do need to protect from sh [18:32] by quoting it [18:33] * SpamapS REALLY thinks its time for juju to have a --version [18:33] jimbaker: from dpkg -l: 0.5+bzr398-0ubuntu1 [18:33] flaviamissi: AHA! [18:33] SpamapS: ? [18:33] flaviamissi: arguments to ssh were added as a feature after 11.10 released [18:33] flaviamissi: I'd suggest using juju from the PPA [18:34] all makes sense now [18:34] SpamapS: aaaaaahm [18:34] flaviamissi: sudo add-apt-repository ppa:juju/pkgs && sudo apt-get update && sudo apt-get install juju [18:34] yeah, shit [18:34] sorry for that [18:34] rs [18:34] its ok [18:34] we should have shipped a man page [18:34] and I would love to have a --version [18:35] :B [18:35] though --help most likely does not show args to ssh ;) [18:36] SpamapS, correct, it does not in the old version of juju ssh --help [18:36] yeah, it doens't === grapz_afk is now known as grapz [18:36] I had to read the souce [18:36] usage: juju ssh [-h] [-e ENV] unit_or_machine [command] [18:36] in current juju, it shows [command] [18:37] should really be [command [args...]] [18:37] just for the record, I installed from the ppa and it worked [18:37] thank you, guys :D [18:37] flaviamissi: woot [18:37] flaviamissi: note that your environment is going to continue deploying the old juju because of the way juju works. [18:38] * SpamapS is reminded he is supposed to send an email to the list about this [18:40] hmmm [18:40] SpamapS: I should re-bootstrap it, then, right? [18:43] be right back [18:48] flaviamissi: thats probably the best option yes [19:03] jcastro, meet alienth [19:03] hi alienth! [19:03] jcastro: hola :) [19:04] hey so, jono says you'd dig to learn some juju [19:04] I can give you a rundown on how everything works [19:04] yeah! [19:04] heh ok, so I guess I'll start with something familiar. [19:04] https://github.com/reddit/reddit/wiki/Install-guide [19:05] let's pretend I want my own reddit and I want to deploy this. [19:05] the tldr is juju takes all these steps here, and lets you script them (in whatever language you want). [19:06] gotcha [19:06] so that when I want to deploy on EC2, bare metal, or OpenStack it's deployed the same [19:06] so ... [19:06] here is the existing script we point folks to: https://gist.github.com/922144 [19:06] I'm going to pseudo command this page you have here. [19:06] but, it installs everything on one machine (not ideal) [19:06] oh perfect dude [19:06] this is basically that script 2.0 [19:06] except we collect them all together and make it so people can build [19:07] so we'd do like this: [19:07] juju bootstrap [19:07] juju deploy reddit (this basically is the same as your script) [19:07] juju deploy postgres [19:07] juju deploy memcached [19:07] then we do: [19:07] juju add-relation reddit postgres [19:08] this fires off hooks, which are basically the db commands on your install page [19:08] juju add-relation reddit memached [19:08] hooks to whatever you need memcached and reddit to do fire off [19:08] would the add-relation bit be where the reddit ini file is configured with the proper PG server? [19:08] the deploys fire off instances [19:08] yeah [19:08] kk [19:09] the add-relation hooks are basically "I am memcached, when I talk to postgres I need to do foo, bar, and baz." [19:09] and then the hooks are done [19:09] you do: juju expost reddit [19:09] juju expose reddit I mean [19:09] which opens the port, then you just go to the IP. [19:10] alienth: relations are 2-way configuration channels between the individual units of a service. [19:10] I missed rabbit and cassandra [19:10] but, we have charms for those two [19:10] wow, we have all those already :) [19:10] awesome :) [19:10] out of curiosity, where does juju install reddit from? i don't think it is in the ubuntu ppa yet. [19:10] cassandra [19:10] err [19:10] we actually package it ourself on our ppa [19:10] yeah so basically, TL;DR; you could adapt your install script to basically be the install hook [19:11] alienth: "wherever you want it to" :) [19:11] alienth: that would fire off a "charmed" version of your install script [19:11] gotcha [19:11] which is basically your install script + some meta data [19:11] alienth: we have charms installing from git, ppa's, the distro, and even embedding tarballs inside the charm [19:12] alienth: ok so now here's the cool part. [19:12] once you've defined how the reddit charm talks to all the other charms via hooks [19:12] you can scale out [19:12] so "I need more cassandra" becomes "juju add-unit cassandra" fires off another instance [19:12] and it already knows what it needs to do [19:12] so, does juju have a central store that knows what servers are where? [19:13] right so when you start juju [19:13] the "juju bootstrap" fires off a node with zookeeper [19:13] awesome, we actually already use zookeeper [19:13] and each subsequent launched instance talks to it. [19:15] right so here's what we can deploy today: http://charms.kapilt.com/charms [19:15] and there's about 50 more branches of people hacking on stuff that isn't really in there yet. [19:15] so when someone writes a charm, we put it in this charm store [19:15] and then basically anybody can deploy anything in the store in a similar manner [19:16] here's an inprogress hbase one as an example: http://charms.kapilt.com/~james-page/precise/hbase [19:17] jamespage: hey, the cassandra charm needs a README. :) [19:17] alienth: the "hooks" here for cassandra give you an idea on what the charm does: http://charms.kapilt.com/charms/oneiric/cassandra [19:18] so, right now, we use haproxy for loadbalancing. If we were to define a relation between the reddit app and haproxy, would we just tell juju to fire off that relation, and then it would modify haproxy to include the new servers once they are built? [19:18] also, are there any tests that juju can perform before bringing something in to the infra? [19:20] so you would do "juju add-relation reddit haproxy" [19:20] alienth: the haproxy charm is pretty simple, and probably needs work, but in its most basic form yes thats how it works. [19:21] alienth: for tests we are just now defining "charm tests" to make sure the charm works as you intend it to. In the past we've also had "tester" charms that would relate to the actual service as deployed and verify it, so you could do that, and once that relation passes, then relate it to the real one. Thats a cool idea actually. [19:25] interesting [19:25] yeah, we have to test that a new app server acutlaly serves the app before we can roll it into haproxy [19:27] alienth: Probably the simplest way to do that would be to have the website relation joined hook kick off tests before it sends its port/hostname to haproxy. [19:27] that is an interesting idea I've never even thought of [19:27] alienth: another way to do it is to have each app server as its own "service" in juju, and relate it first to the tester, and then to haproxy after those tests pass [19:28] jcastro: gets problematic because of ordering though. :-/ [19:28] jcastro, on my list to refresh [19:29] needs upgrading to 1.x series as well [19:29] once relations can affect other relations, this becomes a breeze. For now, the 2nd method would be better. [19:29] alienth: how "encapsulated" do your tests need to be? Like, is an app server allowed to verify itself, or is the test done remotely? [19:30] test probably should be remote [19:30] we test remote manually, at this time [19:30] to verify the new app server will actually load reddit [19:30] alienth: so another option is to have your check_url return a negative result until tests have passed. [19:30] gotcha [19:31] alienth: yeah so you could just test a new "unit" manually and when it looks good, flip the switch on it to let haproxy know its ready to go [19:31] alienth: I'd think that would be a huge PITA though [19:32] alienth: automation FTW ? [19:33] hehe [19:34] alienth: anyway.. it seems like we've accidentally implemented your whole stack, to some degree, in charms already. Perhaps you should challenge one of your interested users to enter our charm writing contest? [19:34] alienth: or even, you could enter it. :) [19:35] perhaps! i think most of our opensource folks use ubuntu [19:36] yeah so the cool bit is the charm store comes with ubuntu [19:36] so anybody can just deploy a reddit if they want to [19:37] jml, thanks for the blog post [19:38] alienth: we won't hold it against anybody who normally uses fedora.. ;) [19:38] hey so we also happen to be running a contest right now for cool charms: http://cloud.ubuntu.com/2012/02/juju-charm-contest-help-bring-free-software-into-the-cloud/ [19:39] yeah so I think what makes reddit so cool is how much other stuff it can consume [19:40] it'd be a wicked demo [19:44] alienth: hey so, a ton to consume all at once, but that's basically it. [19:46] awesome [19:46] thx for the info [19:56] jcastro: so, we use puppet pretty heavily right now. Do you guys see juju existing alongside puppet? [19:56] jcastro: for example, when we kick a server, a puppet recipe does most things at this time [19:56] alienth: we've experimented with embedding puppet in charms. [19:57] alienth: and I think there's a use case for having juju be a source of config data and/or classification for puppet [19:58] alienth: in fact there may be a good argument to use your puppet recipes as the basis for your charms. [19:58] alienth: I see the relationship of puppet <-> juju as the same as autoconf <-> dpkg ... [20:00] alienth: so in theory, juju + tools should be able to just take a set of puppet recipes, and turn that into a charm that is then able to relate to other charms maybe written in chef, or shell. === andrewsmedina_ is now known as andrewsmedina [20:27] hi guys, I just got this error when doing a deploy-service: [20:27] DNS lookup failed: address 'store.juju.ubuntu.com' not found: [Errno -5] No address associated with hostname. [20:28] benji: you need to use 'juju deploy --repository path/to/charms local:charmname' [20:28] benji: your directory where your charms are also needs to have a sub-dir corresponding with the release of ubuntu you want to deploy, such as 'oneiric' [20:28] yep, I forgot the "local:" [20:29] +1 on a more direct error message in the future :-) [20:29] well, more...friendly? [20:30] I think at this point, the message will be "DEPLOYING x from store.juju.ubuntu.com" .. as in, that service is almost ready [20:30] I suggest: "Oh no! DNS lookup failed, man!" [20:30] "DNS's not here man" [20:30] heh [20:30] http://www.youtube.com/watch?v=MZX1Mvk84Y0 [22:05] <_mup_> juju/hook-alias-expansion-redux r469 committed by kapil.thangavelu@canonical.com [22:05] <_mup_> hooks that die from unhandled signals are considered to have error'd out [22:12] <_mup_> juju/hook-alias-expansion-redux r470 committed by kapil.thangavelu@canonical.com [22:12] <_mup_> joined event hookalias expansion won't execute a changed if the joined hook fails [22:36] HELP PLEASE [22:42] Jake, im not sure what your problem might be, but if you say what it is and wait around, someone might help out. Or at least someone will be able to know if they know what to do. === hspencer is now known as hspencer[afk] [23:08] SpamapS: hate to be a bother, but Nathan's been waiting like 2 days for his second round of reviews. [23:09] I believe I sorted the launchpad status? [23:14] jcastro: Its on my short list for today.. had to wrap up some MIR response bug fixes. [23:17] thanks [23:17] bummer to miss m_3 and nijaba this week, thanks for the extra effort [23:20] jcastro: charmers has 25 members.. [23:21] jcastro: I'd like to see more review from !(us) [23:21] us being, m_3, nijaba, and me. ;) [23:23] indeed. [23:24] ok I'll just send a mail to the list [23:24] jcastro: our traffic is low enough, its not red alert or anything.. but people should be checking for new charms occasionally [23:24] yeah I just want to be more vigilant during the contest [23:25] oy mira, negronjl is a charmer! [23:25] jcastro: mira ... que pasa [23:25] got time to do a charm review for a community contributor? [23:25] BONG BONG , "lodgeit" promulgated. [23:26] jcastro: sure ... got a bug number ? [23:26] oh sneaky Clint [23:26] https://bugs.launchpad.net/charms/+bug/940677 [23:26] <_mup_> Bug #940677: Charm needed: Stack Mobile < https://launchpad.net/bugs/940677 > [23:26] err [23:26] I got that one [23:28] negronjl: ok never mind I guess. :) [23:28] jcastro, SpamapS: no worries ... [23:28] BONG BONG , "stackmobile" promulgated. [23:29] SpamapS: you only promulgate on Fridays, have you noticed that? [23:29] yes [23:29] never during the week, when I can write out a nice glorious blog post about how amazing the contribution is [23:29] always, nearly always right after I EOD. [23:30] I didn't notice at first [23:30] touche` sir ... [23:30] http://bit.ly/zTp84S [23:38] SpamapS: Since you appear to be in the "promulgate" mood ... you mind reviewing https://bugs.launchpad.net/charms/+bug/944989 [23:38] <_mup_> Bug #944989: charm needed: distcc < https://launchpad.net/bugs/944989 > [23:38] negronjl: OOOO thats a good one! [23:42] oh man [23:42] that is [23:42] negronjl: did you see our discussion with alienth earlier today? [23:42] jcastro: no .. where ? [23:42] go back a few hours in the log [23:44] jcastro: just read it ... [23:44] jcastro: to which part are you ref. to, puppet or haproxy ? [23:44] I just think the whole thing is interesting [23:44] they use a bunch of stuff I hadn't expected, things we already have charms for === hspencer[afk] is now known as hspencer [23:55] SpamapS: mail sent to the list, I hope I don't come across as too condascending