=== CyberJacob|Away is now known as CyberJacob === CyberJacob is now known as CyberJacob|Away === plars-away is now known as plars === revagomes_ is now known as revagoems === CyberJacob|Away is now known as CyberJacob [07:32] jcastro: Hi! Could you schedule my "Simpler re-usable charms with ansible" session when you get a chance? Weds 14UTC would suite me best (looks like DevOps1 is free then): http://summit.ubuntu.com/uos-1406/michael.nelson/meetings === CyberJacob is now known as CyberJacob|Away === isviridov|away is now known as isviridov === vladk|offline is now known as vladk === vladk is now known as vladk|offline [09:50] hi stub, got a few minutes? [09:54] thumper: sure [09:58] * thumper is trying to get the storage subordinate working [09:59] stub: any idea what values I should put in the block-storage-broker config for endpoint? [09:59] stub: using the default ec2 [09:59] us-east-1 according to the config [10:00] s3.amazonaws.com? [10:00] thumper: I don't know EC2 sorry. [10:00] hmm... ok [10:00] stub: any idea what chad's irc nick is? [10:01] stub: the default precise postgresql charm now supports the storage subordinate? [10:01] * thumper tries the deployer config he set up [10:03] csmith isn't around, but our we-bops or landscape could help [10:03] thumper: yes, the default precise postgresql charm supports the storage subordinate (and only the storage subordinate) [10:03] trusty... not sure if that is live yet (in which case, I should push) or still being setup [10:04] kk [10:04] yeah, gone for precise [10:04] likely to shoehorn everything onto machine 0 :-) [10:15] hmm... endpoint is wrong [10:21] * thumper sighs [10:22] bugger === isviridov is now known as isviridov|away [10:35] marcoceppi_: are you up this early? [10:36] natefinch: I am! [10:36] marcoceppi_: cool [10:36] (un)fortunately? [10:36] what's up? [10:36] hah [10:36] I'm writing a charm! WHich means I'll have a lot of questions :) [10:37] the charmtool outputs a README.ex .... if I make that README.md will it still work? [10:37] Fantastic! [10:37] natefinch: well, it "will" work but you'll get a bunch of proof errors about it being boilerplate [10:37] also, for the sake of the rest of this conversation, what verions charm tools are you running? charm version should tell you [10:38] I just mean, if I change the extension it'll still show up. I'll modify the contents [10:38] natefinch: oh, yeah, that's all you need to do [10:38] in fact, proof will complain if you have a .ex instead of a .md in your charm [10:38] ok [10:38] charm versoin says it's not a subcommand [10:38] version that is [10:38] natefinch: you're not using the ppa version [10:38] safe yourself a lot of time [10:39] add ppa:juju/stable [10:39] install charm-tools from there [10:40] its' the differences between 1.0.0 and 1.2.10 are huge [10:40] including the readme.ex going from RST to MD [10:40] so hopefully you haven't written too much code [10:41] marcoceppi_: barely any :) [10:41] whew, I'd go so far as to saying once updated, just run charm create again [10:41] you'll get like an icon template a better readme template, better metadata templates [10:41] better boilerplates [10:41] and better proof command [10:41] basically, better everything [10:41] awesome, [10:42] I'll do that once apt-get update finishes [10:42] \o/ [10:42] I wish adding a ppa always ran update-get update, at least to get the stuff from the ppa, sheesh [10:43] btw, is there a way to have different charms for different architectures? I want to make the charm in Go, but you have to have a different executable for each architecture [10:43] yeah, like to a partial apt-get update for that source to get the delta [10:44] that's, no - not at the moment [10:44] You could just compile the hooks during the install hook [10:44] yeah [10:44] to make the runtime for the hooks at deploy time [10:44] but that seems, heavy [10:44] otherwise you'd have to package /hooks/$ARCH/ and just build a light weight dispatcher for each in /hooks/ [10:45] yeah, that's what I was thinking. Also kinda heavy, since you'd need an executable per architecture [10:45] but the execs wouldn't be very big [10:46] it's a trade off, "JIT"-ish compilation, or possible missing archs [10:46] go execs are bigger than normal, like 4 megs generally [10:46] could combine the two ideas [10:46] how bad is it to have an architecture-specific charm? [10:46] pretty bad considering it doesn't exist yet [10:46] so.... here's the thing. I'm writing a charm for discourse [10:46] discourse says it requires 64 bit ubuntu [10:46] marcoceppi_: https://github.com/discourse/discourse_docker [10:47] well, it's a support requirement. I definitely have run discourse on i386 [10:47] *nod* I know, just sayin' [10:47] could do both, have hooks/$arch where arch is [amd64, i386] then have the install hook attempt to compile the src hooks if the arch isn't pre-loaded [10:48] marcoceppi_: that's not a bad idea [10:48] so, you could have arch dependant but that's going to be sad news for people running power, arm, i386, etc [10:48] yep [10:48] and we try to avoid as many sad pandas as possible [10:49] can you compile go for, say i386 on an amd64 machine? [10:49] yes... cross compile works 100% awesome [10:50] except for power which requires gccgo [10:50] interesting. So, you /could/ and I mean it'd be beat up pretty badly in review, have it just for amd64 and provide instructions or a simple make file for people to pull the charm, build the hooks in their arch of choice, then deploy local [10:50] not my fault juju keeps supporting all these wacky-ass platforms :) [10:51] hah, well we strongly frown on provider specific charms, I think only one has made it past review [10:51] so I can only imagine (well I can imagine, actually) we'd really beat up a charm that only supported an architecture [10:52] heh [10:52] but, I wouldn't let that slow you down [10:52] yeah, but it would work on every provider! And you're not supposed to care about the OS [10:52] just sayin' :) [10:53] * marcoceppi_ places head on his hands, and looks dreamily in to the distance === vladk|offline is now known as vladk === vladk is now known as vladk|offline === vladk|offline is now known as vladk [10:56] what is charm home? [10:56] in relation to? [10:57] charm create === vladk is now known as vladk|offline === vladk|offline is now known as vladk [10:57] also, are there no help docs? charm help create doesn't seem to do anything [10:57] ah, that's just the directory you want the charm to be created in, for example `charm create foo /tmp/baz` will give you /tmp/baz/foo [10:57] charm create -h [10:58] ahh [10:58] * marcoceppi_ needs to make a help helper [10:58] I saw the -h under charm create usage, but it didn't say what -h was for, so I didn't realize it was for help :) [10:59] * natefinch has chicken and egg problems [11:01] gah... I want a way to spit out the charm in *this* directory, not a subdirectory :/ [11:01] apologies for the complain-a-thon :) [11:01] omit the charmhome [11:01] oh [11:02] you mean like, mkdir -p /charm/trusty/my-charm; cd $_; charm create . [11:03] * marcoceppi_ narrows eyes at the complain-a-thon === vladk is now known as vladk|offline [11:04] exacrtly... I expected charm create . to create it *here* not in a subdirectory. If I wanted a subdirectory, I'd do charm create ./foo [11:05] * natefinch does charm create ../ [11:05] ...which doesn't work because the directory already exists [11:06] bugs are "welcome" [11:06] marcoceppi_: point me the way :) [11:06] though, I'm going to say this is more the operator cutting himself with paper [11:06] natefinch: http://launchpad.net/charm-tools :D [11:07] I dunno... there's ought to be SOME way to dump a charm in the current directory [11:09] I can add a --natefinch-really-wanted-this flag :P [11:10] it's like git clone ... git clone juju creates a juju directory here, if you instead do git clone juju ., it dumps the repo in the current directory, and if you do git clone juju ./foo, it creates the foo subdirectory and dumps the files in there. [11:11] * marcoceppi_ nods [11:11] we can make charm create smarter [11:17] marcoceppi_: btw, I love the charm tools logo. That's clever. [11:17] natefinch: hah, thanks! [11:18] btw, what does this mean: Failed to find discourse in apt cache, creating an empty charm instead. [11:19] natefinch: it attempts to look the charm name up in apt, if it finds it charm create will pre-fill metadata.yaml with some details [11:19] it's something that was moved over from the original charm-tools. i'll probably drop it eventually because it just flat out doesn't work on mac or windows machines [11:19] and it's not a huge value add [11:20] yeah.... I could see it being something that happens with a flag, like --apt or something, if you know that's what you want it to do, but I could see names that happen to match things in apt that would not be the correct behavior === isviridov|away is now known as isviridov [12:11] the instructions to install docker involve piping the output of wget https://get.docker.io to sh... seems legit [12:17] natefinch: yeah, I hate those. Same with RVM [12:18] there's not much you can really do. Security is a thing fo the pass when you got a `wget | sudo sh -` one liner [12:18] s/pass/past/ [12:18] yep [12:18] le sigh [12:43] security? thats still a thing? [12:45] no, nooo... [12:45] * marcoceppi_ pulls the wool over lazyPower's eyes [12:46] ahhh ignorance is bliss [12:49] * hazmat adds some bliss to morning coffee [12:49] natefinch, you can also grab from their deb repo.. [12:51] that's a way friendlier idea [13:19] hazmat: that sounds much nicer [13:30] natefinch yeah.. its wget | gpg --verify --sign | sudo sh - one liner ;-) [13:33] haha [13:33] #trolledhard === vladk|offline is now known as vladk [14:17] hi, got some basic questions about juju, i hope here is the right place to ask. [14:17] Does juju provides an API, (REST for example), so that one can use it from another application ? [14:19] mhshams_: yes, it's a websocket [14:21] @marcoceppi : where can I found some document or other info about it ? [14:22] mhshams_: https://github.com/juju/juju/blob/master/doc/api.txt [14:22] Not the friendliest of docs [14:22] mhshams_: if you're using Python, there's a jujuclient python package which does all that ofr you [14:38] @marcoceppi thanks for the hints. === hatch__ is now known as hatch === isviridov is now known as isviridov|meetin === hatch__ is now known as hatch [14:57] someone was asking about the ceph charms and using different networks for client access vs cluster resyncs [14:58] I have some branches ready for review that implement this if anyone wants to test [14:58] designated: ^ [14:58] jamespage: ah, awesome, yeah I told himto ask on the list [14:58] oh good he's around! === isviridov|meetin is now known as isviridov [15:20] can anybody here help me with something in the juju-tools branch? === vladk|offline is now known as vladk [15:31] nuclearbob: juju-tools? === vladk is now known as vladk|offline === isviridov is now known as isviridov|away [15:54] marcoceppi_, sorry, got distracted. Can I use canonistack-sshuttle from a canonistack instance? That seems to be causing me problems === vladk|offline is now known as vladk === vladk is now known as vladk|offline === vladk|offline is now known as vladk === vladk is now known as vladk|offline [16:24] jamespage: looks like there are about ~21 bugs for Trusty SRU 1.18.1 -> 1.18.4. [16:24] jamespage: do we want to individually do SRU paperwork for each of those then? === vladk|offline is now known as vladk === vladk is now known as vladk|offline [16:38] jamespage, where can i find those charms you wrote? [16:41] designated, one sec [16:41] designated, top three branches here - https://code.launchpad.net/~james-page [16:42] designated, I have further work todo to enable all things that relate to ceph to use the public network addresses [16:42] but that should give you a feel on what's possible [16:43] rbasak, I'd really hope we don't need todo that [17:01] jamespage, thank you [17:34] jose: I need ubuntu on air stuff setup === roadmr is now known as roadmr_afk [18:32] marcoceppi_: I'm here now, what's up? [18:34] jose: troubleshooting I on charm school schedule today [18:34] can we get UoA setup for it? [18:34] lazyPower: yeah, I know [18:34] erm, you want me to host the hangout? [18:34] sure, I can do that [18:34] i know nothing of this UoA sorcery [18:34] you are the holder of the magic beans on that project sir [18:34] * mbruzek wants to learn [18:35] lemme grab a quick snack and I'll be around [18:35] I want to learn how to do the UoA [18:35] you gotta have some secret codes for that ;) [18:50] jose: we g2g? [18:50] lazyPower: I was having lunch, almost ready [18:50] Ubuntu on Air [18:51] With Jose ! [18:52] we need a url [18:57] mbruzek: looks like lazyPower is doing this one solo ;) [18:57] marcoceppi_: you got an invite [18:57] lazyPower: can you pm me the URL, it's not ringing [18:58] is there a view only url? [18:58] axisys: ubuntuonair.com [18:58] http://ubuntuonair.com/ is showing the one from yesterday [18:59] I guess it will refresh when ready? [18:59] You will need to refresh the page, but it will update with teh current session when its active. [18:59] I see it now.. thanks [19:01] marcoceppi_, are you OK? === roadmr_afk is now known as roadmr [19:03] stream is live [19:03] yep [19:03] Feel free to ask questions! [19:03] stream looks good [19:16] I had to run this to make juju lxc work [19:16] https://gist.githubusercontent.com/allomov/11373534/raw/bd430c2c92116340f2fa5d124b769c555946609d/solution.sh [19:16] on Apr 28 [19:16] axisys interesting. what was the use case that installing juju-local didn't resolve? [19:17] right [19:17] I am going to try again after this hangout [19:17] with may be newer juju [19:18] referring to this thread [19:18] https://lists.ubuntu.com/archives/juju/2014-April/003749.html [19:22] so what does bootstrap do? do you need to run bootstrap before doing any juju ? [19:23] https://juju.ubuntu.com/docs/config-LXC.html [19:25] would be nice if you can start a hadoop local? [19:25] I was never been successful [19:27] here is my thread from apr [19:27] https://lists.ubuntu.com/archives/juju/2014-April/003737.html [19:27] I have 8G ram [19:27] and 1TB disk [19:27] running trusty [19:28] asanjar: axisys was asking about hadoop on local [19:28] axisys: how may I help [19:28] axisys: that's a fixed bug [19:30] ok, I will try again.. thanks for your help [19:31] good to know.. I use vagrant a lot [19:43] Do any of our viewers have any burning issues they've run into that they would like to see how a ~charmer would debug? [19:52] thanks a lot! [20:02] Thanks everyone for attending. Great success of a charm school today. [20:04] jose you still there? === roadmr is now known as roadmr_afk === hmatlock is now known as heath === roadmr_afk is now known as roadmr === vladk|offline is now known as vladk [21:05] Hi -- I'm trying to give a user permission to bootstrap and destroy a local env through sudo. what command do I need to allow? === CyberJacob|Away is now known as CyberJacob [21:17] dpb1: hm, my tests show that for the initial bootstrap, juju basically does "sudo /bin/bash -s"; so maybe you'll have to allow bash invocation like this [21:17] dpb1: given that, the user will essentially be able to do anything as root, so you may as well give him access to everything I think :/ [21:18] roadmr: :( [21:18] dpb1: I may be wrong, though, my investigation was a bit primitive [21:18] roadmr: ok, thanks. I will probably go another route then. :0 [21:18] dpb1: (I just did a juju bootstrap and looked in /var/log/auth.log to see which commands get run by sudo) [21:18] roadmr: thankfully the jenv files are portable (with some catches), so that works [21:19] dpb1: cool :) sorry I couldn't provide a nicer answer [21:19] roadmr: np, appreciate the help === kentb is now known as kentb-out [22:15] where should i put lock file so that between restarts of lxc it will persist === CyberJacob is now known as CyberJacob|Away [22:57] lazyPower: hi === CyberJacob|Away is now known as CyberJacob === CyberJacob is now known as CyberJacob|Away