/srv/irclogs.ubuntu.com/2011/12/22/#juju.txt

marcoceppiin the phpmyadmin charm? there is no line 300:01
m_3yeah, so I deployed it naming the phpmyadmin service "myphp"00:01
marcoceppi600:01
m_3sorry, not config-changed, but db-admin-relation-changed00:01
m_3it creates a database "phpmyadmin", but operates on the (nonexistent) "myphp" database00:02
marcoceppiAh, it's left over from when mysql charm created the db00:02
m_3meta/192.168.122.243 contains "server_db=myphp"00:02
marcoceppiI'll fix that in the charm. I also found another bug00:02
m_3ok, I'll note it in the review... thanks, just didn't know which of those behaviors you wanted to happen00:03
marcoceppiYeah, if you join multiple mysql services, it'll always use the last one as it's database server, needs to just use the first one and not create a phpmyadmin control db on each server00:04
marcoceppiactually, no that's right00:05
marcoceppibut the item you pointed out is correct, I'll throw that up in a min00:05
m_3yeah, it's ok to marry one phpmyadmin instance to one mysql instance... just note it in the docs00:06
m_3lots of charms have a similar limitation00:06
SpamapSindeed, haproxy suffers from this too00:07
SpamapSyou can't load balance two services behind one haproxy without knowing the hostnames they need to be known by externally00:07
marcoceppim_3: What do you mean "it's okay to marry one..."00:08
SpamapSm_3 is saying that some services shun paligamy00:11
m_3marcoceppi: if you have two mysql services around... wiki1db and wiki2db00:11
m_3it's ok to have a wiki1webdb and wiki2webdb00:11
m_31 for 1, no need to have a single wikiwebdb that connects to both mysql instances00:12
marcoceppiSure, it is. But you could also have one that connects to both, right?00:12
m_3don't actually know if phpmyadmin supports that, but if it did yes00:13
marcoceppiIt does, and the charm does as well00:13
m_3just saying it's extra work to make the charm handle that00:13
m_3it's ok if it doesn't00:13
marcoceppibut it already does :)00:13
m_3oh, meta/ip-address has the instance-specific data00:13
m_3gotcha00:13
marcoceppiwhich actually reminds me, is there a way to get the name of the service from the db-admin-relation-joined?00:14
marcoceppiLike if I join phpmyadmin service with dbwiki1 - can I get the name "dbwiki1" from a magic command?00:14
m_3which service?  local is ${JUJU_UNIT_NAME//\/*}00:14
marcoceppiThe remote service00:14
m_3remote is ${JUJU_REMOTE_NAME//\/*} iirc00:14
SpamapSJUJU_REMOTE_UNIT00:14
* m_3 checking00:14
m_3SpamapS: thanks00:15
m_3so ${JUJU_REMOTE_UNIT//\/*}00:15
marcoceppiFantastic! Does //\/* work in dash?00:15
m_3had problems with that before, but haven't looked into what the deal is... it's posix and it should support it00:16
m_3typically use bash as a consequence00:16
SpamapSm_3: // is not posix IIRC00:17
SpamapS## and %%, but not //00:17
m_3${JUJU_REMOTE_UNIT%%/*} works in dash00:17
marcoceppim_3: next charm will probably be bash if not in php00:18
SpamapSm_3: http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html .. no //00:18
m_3I sit corrected :)00:19
SpamapSYou guys can overrule my shell code edict. I feel like charm-helpers should be posix only just so that if somebody has a mountain of ksh or csh stuff, they won't have to fight with charm helpers.00:19
marcoceppiCool, %% works00:19
marcoceppiSpamapS: I agree on that level :)00:20
m_3no, I'm fine... happy with %%00:20
SpamapSI do only think we have to care about shell *in charm helpers*. Write your hooks in bash or scala for all I care. :)00:22
* SpamapS ponders running the test suite with all the other shells just to see if it works00:22
* SpamapS is still not sure how comfortable he is writing enough shell code to need a test suite. ;)00:23
m_3wow, yeah, I know what you mean00:23
SpamapSstill its kind of cool that we have one.00:23
marcoceppim_3: Did switching "upstream" work in your tests?00:24
* m_3 flashbacks to manual rsnapshot before rsnapshot but after dump was no longer useful00:24
m_3marcoceppi: still running... had to wipe my env a little bit ago00:25
m_3marcoceppi: beautifully00:30
marcoceppim_3: Do you have any opinions how templating might work? I wrote a templating engine using bash that I put in file.sh however, I was thwarted when I found out bash/dash can't handle assoc arrays and passing them to functions as parameters00:30
marcoceppiI guess you would pass two arrays to the function, one with keys and one with their respective replacement values. Though I'm not sure if bash/dash maintains insert orders in arrays00:31
m_3I really think cheetah from the command-line is a great option... it really was simple to do: https://gist.github.com/140294100:32
m_3my only concern is how sensitive it is to general markup being interpreted as special, but it would be dead-simple to manage from a charm-helper wrapper00:34
marcoceppiBut, how do we build that into a charm-helper-sh function00:34
marcoceppiYou'd still need to pass key/value pairs. Unless you did it one at a time?00:34
m_3nope, just have it use the current shell's env00:35
m_3set vars00:35
marcoceppiYou mean, just call it globally?00:35
m_3then call ch-template(template_file)00:35
marcoceppiUgh, I could have done that with the bash function as well00:35
marcoceppiI think I deleted that code too.00:35
m_3that's what a heredoc does in shell00:35
m_3it'd be really equiv, just easier to manage the template part in the files00:36
marcoceppiright00:36
m_3more powerful too... looping constructs, etc in the template itself00:36
marcoceppiI <3 tpl files00:36
marcoceppiI'll look into starting file.sh with this00:36
marcoceppiSuppose charm-helper-sh will just need to depend on cheetah as well00:37
marcoceppiIs this channel logged anywhere?00:37
m_3yup00:37
m_3dunno where00:37
SpamapSmarcoceppi: why not just pass the resolved heredoc to the templating function?00:38
m_3but I've seen people pull logs of it00:38
m_3heredocs are hard to assign00:38
SpamapSch_replace_file /etc/foo.conf <<EOF ..... EOF00:38
m_3there's an exec trick to do it but it's ugly00:38
SpamapSI don't actually know if shell functions can have different stdin's tho00:39
marcoceppiI think I must not be understanding heredocs00:39
SpamapSexec is fine00:39
SpamapSwe are not working on sub-second charm hooks as a goal ;)00:39
m_3'ch_replace_file file <<EOF ..... EOF' is absolutely the goal00:39
m_3yeah, exec is fine in the ch method00:40
m_3but having to exec a heredoc to assign it to a variable to pass to the ch func is ugly00:40
m_3we can figure it out00:40
m_3just putting another tool like cheetah out as a first choice00:41
m_3for more powerful templates00:41
SpamapScheetah has enough power, it doesn't need a helper00:41
m_3then we're not gluing heredocs and snippets "pre-this and post-that" together for one config file00:41
SpamapSif you have a cheetah template sitting in your charm, the cheetah executable can take all the inputs as a heredoc, and the output file, and will do an atomic replace for it00:42
SpamapSm_3: ch_append_file file <<EOF    ;-)00:42
m_3ok, I'd be fine with just using straight cheetah in charms w/o a helper00:42
SpamapSappending works for looping too00:42
SpamapSI actually find pre/loop/post to be just fine.00:42
m_3appending works, it's just ugly to manage the config in its entirety00:43
m_3I like loops in templates :)00:43
SpamapSits a style thing00:43
m_3yup00:43
SpamapSdo what makes you happy, I say00:43
SpamapSthe goal of charm helpers is to help people get back to what they enjoy00:43
SpamapSnot to keep them away from what they want to do00:43
m_3yeah, I wouldn't oppose any particular approach in charm-helpers... just putting ideas out there00:44
* SpamapS dons cheesy voice and powder blue knit sweater00:44
m_3nice00:44
SpamapSBecause you're good enough to find your passion and your fire00:44
m_3it's a beautiful day in the neighborhood00:44
* SpamapS lights sweater on fire00:44
marcoceppiI thought the goal of charm helpers was world domination00:45
m_3ha00:45
m_3I really like phpmyadmin as part of a demo00:46
m_3spin up a decently-mature stack around mysql00:47
m_3then add that on in conversation as an afterthought00:47
m_3it gives a great feeling of power00:47
SpamapSmarcoceppi: no that is the goal of SpamapS... it just so happens that charmers is one of SpamapS's tools00:47
m_3and the speed with which this can be done is a _real_ distinguisher00:47
m_3jcastro: note for blogging about it ^^00:48
SpamapSm_3: yeah, its pretty cool. We should try to get phppgadmin charmed up too00:48
m_3SpamapS: I liked the 'minions' MP approval note :)00:48
SpamapSm_3: and then maybe get a few of the things that can optionally use mysql | postgresql working that way so we can show how easy *that* is to switch out.00:48
SpamapSm_3: hahaha. :)00:48
m_3yeah, I did that with rails when I was putting together the basic pgsql charm00:49
* SpamapS was distraught that he mispelled it minons .. glad somebody noticed it00:49
m_3swapped them out00:49
marcoceppim_3: I'm looking over the review, what's wrong with the env/xxx files? They're just variables - I wasn't sure how else to switch between variables for each of the functions in common.sh00:49
m_3is it minons?  not minions?00:49
SpamapSm_3: the real kicker would be to also have a "mysql2pg" charm that does a migration for you00:49
m_3ha!00:49
m_3marcoceppi: it's no biggie at all.. just a mention that there are a lot of moving parts in the current setup00:50
m_3those files are sourced only from common.sh00:50
m_3so they could easily be functions inside of common.sh00:50
marcoceppiSo, if I put them in a fucntion, like source_upstream, and they weren't local, would they overwrite the global scope?00:50
m_3yes00:50
m_3shell's global00:50
SpamapS1 → 75 of 43799 results00:51
marcoceppiscoping in shell rubs me backwards00:51
SpamapSHmm.. how long will it take me to triage all of these bugs.. :)00:51
m_3scoping in shell was an afterthought at best00:51
m_3it's biggest criticism in general00:51
marcoceppim_3: Thanks, I'll just throw them in functions, it'll look nicer since functions names are easier on the eyes than . env/upstream00:51
SpamapSheh.. and really.. scoping.. shell.. get a real language people :)00:52
m_3don't have to at all... just a style note00:52
marcoceppioosh? Object Oriented SHell?00:52
marcoceppi_One day_00:52
SpamapSoosh00:52
SpamapSand the windows version, woosh00:52
m_3now you're stepping into religion00:52
SpamapSand the darwin version.. oh00:52
m_3woosh... sounds like a commode flushing :)00:53
m_3rofl00:53
* SpamapS wants to see a shebang, #!/bin/doosh00:53
m_3totally00:53
* m_3 crying now00:53
marcoceppiDoosh, Doing Object Orientation in SHell01:00
SpamapSmarcoceppi: all it needs is an editor, and you can self-publish on Kindle and Nook. ;)01:02
SpamapSooo, cacti would be an interesting charm.. and would get even more interesting as subordinate charms were added for things like snmpd01:20
SpamapSwow cacti is like.. dead.. :(01:21
m_3dumping snow!01:59
m_3haven't played with cacti in a while... usually just been nagios and ganglia... eager to try sensu02:00
marcoceppiAnother good sub-ordinate would be Splunk02:05
poolieis anyone writing docs for the lxc provider?05:22
poolieah some in https://code.launchpad.net/~bcsaller/juju/local-troubleshooting/+merge/7919305:23
SpamapSpoolie: the main docs are at https://juju.ubuntu.com/docs/provider-configuration-local.html06:08
pooliegot it thanks06:08
SpamapSpoolie: of course, patches accepted. :) that is generated from lp:juju/docs06:09
poolieso it's now apparently stuck with just 'lxc-wait -n mbp-local-udd-0 -s RUNNING' waiting for something06:09
SpamapSpoolie: that shouldn't need to wait too long06:09
SpamapSpoolie: there are copious amounts of logs in the directory you've specified with 'data-dir'06:10
pooliehttps://code.launchpad.net/~mbp/juju/mbp-doc/+merge/8665106:10
poolie:)06:10
SpamapSpoolie: I think you want container.log or master-customize.log06:10
SpamapSThe review queue is pretty long at the moment06:11
* SpamapS takes a gander06:11
pooliei see06:11
poolieit's ok06:11
pooliehm so it just has "Starting container" as the last message...06:11
pooliethere's no rush on the mp06:11
SpamapSpoolie: has the container "booted" already?06:13
pooliein what sense?06:14
SpamapSpoolie: like, does it have an 'init' and subprocesses like getty and such?06:14
SpamapSlxc-start's only child would be init06:14
pooliehm, lxc-ps  --name mbp-local-udd-0 shows nothing06:18
SpamapSdo you see any children of lxc-start at all?06:19
pooliethere is no lxc-start (any more)06:19
pooliemaybe i'll try running it again06:19
SpamapSpoolie: interesting06:20
SpamapSpoolie: is there an lxc-create running?06:20
SpamapSpoolie: or lxc-clone ?06:20
pooliejust lxc-wait06:21
pooliepoor thing06:21
SpamapSstood up06:21
SpamapSjust sitting there, nibbling on bread, with high hopes06:21
SpamapSpoolie: usually the error will be found in container.log or master-customize.log06:24
pooliehm, run by hand i can see an error06:24
poolienot a very useful one06:24
poolieah, container.log does have it06:25
poolielxc_start - failed to spawn 'mbp-local-udd-0'06:26
pooliethanks06:26
SpamapSpoolie: multiple users have reported odd issues where something bad happens to the lxc cache, which makes it fail to start all containers.. the resolution is to clear out /var/cache/lxc entirely.. though that does mean re-building all the master containers with debootstrap06:27
SpamapSI fear we haven't really spent enough time triaging that problem.06:28
poolieok, i can do that06:28
pooliemaybe there should at least be an error or if lxc-start exits06:30
SpamapSpoolie: I think thats actually half the problem.. that lxc-start's errors aren't reported.06:31
SpamapSpoolie: the other half is that lxc-start gets broken somehow06:31
poolieyeah; that may be out of scope for juju propery06:31
poolie*proper06:31
pooliebut perhaps the docs can give a tip about it06:31
poolieshall i file a bug?06:31
SpamapSyes, give a look at the current bugs.. I *think* there may already been a report that just needs some more priority06:34
SpamapSpoolie: and thanks for playing. :)06:34
poolienp06:34
pooliek https://bugs.launchpad.net/juju/+bug/90765506:36
_mup_Bug #907655: hangs when lxc fails to start <juju:New> < https://launchpad.net/bugs/907655 >06:36
_mup_Bug #907655 was filed: hangs when lxc fails to start <juju:New> < https://launchpad.net/bugs/907655 >06:37
pooliei love 'destroy-environment' as a command name06:38
SpamapSit is juju's homage to the industrial revolution06:39
pooliejuju hate-freedom06:39
SpamapSthe go version will have juju club-baby-seals06:40
poolie_SpamapS, so i guess 'ssh' to lxc won't work?07:00
poolie_failed to spawn again, even after blowing away the cache07:03
SpamapSyes ssh'ing to them should work fine07:04
SpamapSpoolie_: something else must be wrong07:05
poolie_time for strace07:05
SpamapSpoolie_: even the console of the container is logged, so I'd be surprised if strace helps more than that.07:07
SpamapSpoolie_: but ultimately, you should be able to 'lxc-start -n mbp-juju-local-0' and see what happens07:08
poolie_that's what i'm tracing07:08
poolie_it also fails07:08
poolie_it's not obvious to me why07:08
poolie_i need to go in a sec07:08
SpamapSpoolie_: me too.. hopefully we can figure it when you pick it back up. :-P07:10
poolie_'no distribution series: lucid' pushing a charm?07:14
SpamapSpoolie_: the juju agents have some problems w/ python 2.607:23
SpamapSpoolie_: oneiric is the first series that I *know* works.. natty also should probably work.07:24
poolie_ok07:24
SpamapSand at some point in the very near future, I'll be officially opening up the "precise" series. :)07:34
SpamapSnijaba: heh, FTBFS .. oops, I forgot that you did that apt-get in the tests.. thats going to have to go away08:33
* SpamapS fixes the build08:33
nijabaSpamapS: ah, didn't think of that.  easy to fix though, I just used pwgen to generate random files, I'll just grab bytes from /dev/urandom08:57
SpamapSnijaba: there are other things broken when running these tests in buildds08:58
SpamapSnijaba: $HOME is not always available08:58
nijabareally?08:58
SpamapSindeed08:58
nijabaSpamapS: what should I use?08:58
SpamapSI'm not sure thats the problem08:58
nijaba:/08:58
SpamapSthere's some really really confusing double-negative logic that I can't tell is failing or not08:59
SpamapS[ ! something ] && something else && another08:59
nijabaSpamapS: in my test result analysis?08:59
SpamapSnijaba: yeah, the tests fail after the pwgen thing.. but I can't tell why09:01
SpamapS(which may suggest that the error reporting on the code is poor)09:01
nijabaSpamapS: log?09:01
SpamapSnijaba: standby09:02
SpamapShttp://paste.ubuntu.com/778398/09:03
SpamapSnijaba: thats after patching to do a mkdir -p $HOME/.ssh09:03
SpamapS+ cat /tmp//tmp/juju-helpers-tmp.yTZqTrA/result09:03
SpamapSthat looks odd09:03
nijabaSpamapS: the failure is in the function, you do not get to the test of the results09:04
SpamapSheh.. mktemp -d alreayd has a /tmp prefix ;)09:04
SpamapSnijaba: ah, so the function isn't printing its errors?09:04
SpamapS    ch_peer_scp -r -p $CH_portnum -o "-q" "$CH_TEMPDIR/sourcedir/*" "$CH_TEMPDIR/destdir/" > $CH_TEMPDIR/result 2> /dev/null09:06
SpamapSno, you're just redirecting them to dev null!!09:06
nijabaSpamapS: that was just to keep the output "pretty"09:07
SpamapSlost connection09:07
SpamapSnijaba: the output should be pretty already, shouldn't it?09:07
nijabaSpamapS: please see pm09:11
fwereadehey everyone, actually off on my holidays now; have good ones one and all11:12
* nijaba loves launchpad estimates: "6 minutes ago (estimated)"11:13
nijabaWould anyone know why I get a make error 255 on a line that invokes sshd, while I can see in my build log that openssh-server has been installed? https://launchpadlibrarian.net/88141044/buildlog_ubuntu-precise-i386.charm-tools_0.2%2Bbzr102-4~precise1_FAILEDTOBUILD.txt.gz11:56
nijabajcastro: around?14:08
hazmatjcastro, ping14:55
SpamapShazmat: CONGRATS btw!15:22
SpamapSnijaba: reading your FTBFS .. are you still redirecting stdin/stdout to /dev/null?15:22
nijabaSpamapS: nope. see my buildd-fixes branch15:23
nijabaSpamapS: but I am stuck on this issue15:23
nijabawhich occurs before doing any tests15:24
nijababasically error 255 means "command not found" which is illogical since I added openss-server to the build deps and I can see in the log that it installs15:24
mchenetzoff topic: Anybody have a preference of a hosting provider for hosting some Django code?15:25
nijabamchenetz: AWS?15:25
mchenetzhehe… It's too expensive for me15:26
SpamapSOr appengine15:26
mchenetzAny cloud based engine seems too expensive for me… My sites get about 6000 hits a day15:26
SpamapSmchenetz: appengine is free for quite a few more hits than that IIRC15:27
mchenetzhmmm… I thought i looked at that15:27
mchenetzLEtm e take another look15:28
SpamapS5GB of bandwidth, 657,000 blob store API calls / day, 3,000/minute...15:29
SpamapShttp://code.google.com/appengine/docs/quotas.html15:29
SpamapS1GB of free data15:29
mchenetzyou know what… I was thinkinging of Engine yard… I never looked at app engine15:29
mchenetzMy fear about cloud services is that i am ring to get some hugh spike one month and owe a fortune. It may not be a valid fear, but i just don't know.15:31
SpamapSmchenetz: the free tier on appengine will just stop working before it charges you15:31
mchenetzSpamaps: even better… I will definitely try it out. :-)15:32
nijabaSpamapS: I removed the need for pwgen in the test script btw15:32
SpamapSnijaba: ok15:32
SpamapSnijaba: the 255 may be sshd's exit code, not the shell's btw15:32
nijabaSpamapS: hmm, did not think of that.  But why?15:33
SpamapSnijaba: not sure.. but its a possibility15:34
nijabaSpamapS: I wonder if they did not block the possibility to run sshd on buildds for security reasons15:35
nijabaSpamapS: regarding your option to (keep|remove) the ssh keys, how would you see that?  An additional explicit param to the copy functions?15:37
SpamapSnijaba: no just an additional step in the relation where it would be removed from authorized_keys after the copy15:40
nijabaSpamapS: yes, but if I want to keep them, how do I say I do15:41
SpamapSoh, yeah another arg15:41
SpamapSor, more useful probably is to split the key exchange into its own set of functions15:41
nijabaSpamapS: because without the keys, no possibility to issue a ch_peer_rsync/scp in a config-changed15:42
nijabaSpamapS: again, I won't be able to do the key exchange outside of a peer-relation15:42
nijabaso it is either you keep them, and you can do a copy in config-changed event, or you don't15:43
SpamapSYou can though, in config-changed15:44
SpamapSYou can just move the key into some other holding area15:44
SpamapSand only when the "copy stuff freely" config parameter is on, do you enable the key15:44
nijabaSpamapS: how?  every units receives the config-change event at once.  you would then need to issue to set configs to do one copy15:45
SpamapSnijaba: if they're slaves, they move the key into authorized_keys. If they're masters, they try to do the copy over and over until it works.15:46
nijabaSpamapS: hmmm... can try this.15:46
SpamapSnijaba: lets not try to solve all the world's problems right now though. :)15:47
nijabahehe15:47
SpamapSnijaba: do you have sbuild setup where you can try your build locally?15:48
nijabaSpamapS: nope15:49
nijabapointers?15:49
hazmatSpamapS, thanks :-)15:52
hazmatmchenetz, heroku seems to be getting more popular, and works for django/python apps15:54
mchenetzhazmat: Very expensive when you scale workers and such15:59
hazmatmchenetz for vms, linode and rackspace cloud are also competitive16:00
hazmatabout 20usd/month16:00
mchenetzhazmat: i had my credit card out for linode… I am still debating on it… I like that they are about 40 minutes from me16:00
hazmatappengine is very nice if you don't mind platform tie in16:01
mchenetzhzamat: i am definitely considering app engine for my django stuff… I know you guys are ubuntu, but red hats open shift looks nice and give you a lot too...16:02
hazmatwith django-nonrel going out of style (not developed anymore), long term it probably makes sense to use the appengine sql support, though it also prices out a bit more.16:02
mchenetzI am surprised ubuntu doesn't have their own cloud based services yet16:03
hazmatmchenetz, we do.. ubuntu is one of the most widely deployed operating systems in the cloud16:04
mchenetzyeah i know, but no infrastructure to sign up for as a service16:04
hazmatmchenetz, you mean  your surprised ubuntu doesn't have a free cloud hosting offering ?16:04
mchenetzyes16:04
hazmatredhat and openshift are late to the game, their trying to catch up by offering free PAAS hosting16:05
hazmatboth appengine and heroku have a free tier16:05
mchenetzi agree16:05
hazmatand AWS as well for new customers16:05
mchenetzI like the way you deploy to Heroku… I use Heroku fro my rails stuff16:06
mchenetzAWS is too slow with their micro nodes (Free tiers)16:07
mchenetzI think i am going to try app engine for my Django stuff and maybe Linode for all of my other traditional sites16:10
mchenetzI appreciate the comments and opinions. Thanks...16:10
mchenetzalternative to django-nonrel: http://django-mongodb.org/ ???16:15
robbiewlynxman: nijaba: either one of you planning to go to FOSDEM?  Wondering if we can get a juju demo done in the  “Open Source Virtualization and Cloud” (OSVC2012) devroom -> http://osvc.v2.cs.unibo.it/index.php/Main_Page#Call_for_Presentations_and_Workshops16:38
robbiewof course the cfp deadline is...today :)16:40
robbiewno..tomorrow16:40
robbiewplenty of time!16:40
nijabarobbiew: looked into it but can't go, I have my kis that we16:40
robbiewthey can come too!16:40
robbiewlol16:40
robbiewno worries16:40
* robbiew will try to guilt lynxman into repaying the favor for LISA BoF ;)16:42
jcastrohazmat: is there a weekly G+ this week?17:35
* SpamapS is going to guess "no"17:52
robbiewjcastro: no...unless you want to watch hazmat change diapers or something18:05
robbiewlol18:06
jcastrowell you never know, the other guys might be doing stuff without hazmat around18:06
jcastroI mean, things don't stop around here when clint goes on holiday18:06
jcastro(or do they?) :)18:06
robbiewthey don't?18:06
robbiewlol18:07
m_3in retrospect, we totally should've used 'charmers' for the more open team18:12
m_3charm-managers or charm-administrators is a better name for the other one18:13
m_3oh well18:13
SpamapSm_3: its a fair point. Unfortunately, charmers is encoded into charms now with the ppa.. so.. hindsight. ;)18:17
koolhead17http://www.moodlerooms.com/moodle-on-a-cloud/18:24
SpamapSnijaba: around?18:33
nijabaSpamapS: was about to leave18:36
nijabaSpamapS: what's up?18:36
SpamapSnijaba: I think we have to break the API that you created with ch_peer_scp. echoing results is not a good plan for boolean pass/fail logic18:37
SpamapSnijaba: and that way, we can regain the -x for debugging18:37
nijabaSpamapS: sure, what do you suggest?18:37
SpamapSnijaba: if you're ok with that, I'm going to press forward with it.. I'd rather break it now and fix the tests than have to rip it out so we can get charm-tools building again.18:38
SpamapSnijaba: just change the 'echo $result' to 'return $result'18:38
nijabaSpamapS: go for it18:38
SpamapSnijaba: but that means all consumers of the function need to be updated if they are checking the echo'd result18:38
SpamapSnijaba: we also have to take out the 'exit's18:38
SpamapSturn those into return's18:38
nijabaSpamapS: for now only one consumer, and it's not released18:39
* SpamapS should have caught all this in reviewing, but was so enthralled with a working implementation, he missed it ;)18:39
SpamapSnijaba: ok cool18:39
* nijaba leaves for dinner. back later18:40
_mup_juju/ssh-known_hosts r458 committed by jim.baker@canonical.com18:52
_mup_Merged trunk18:52
SpamapShmm.. we may need to build our own clean $HOME for the tests.. I think that makes sense given ch_peer_scp's desire to populate $HOME with stuff18:59
SpamapSI think thats the issue actually18:59
SpamapShrm, or it was *my* issue... not *the* issue19:10
SpamapSargh, ssh commands don't seem to care what $HOME is set to19:25
jrgiffordjcastro: was there anything about that rails charm? I don't see anything back on it yet.19:28
jrgifford(although my scrollback is having issues with a few other channels)19:28
SpamapSjrgifford: did you submit it for review?19:36
jrgiffordSpamapS: no. i was trying to figure out what the status of the rails charm here - https://code.launchpad.net/~mark-mims/charm/oneiric/rails/trunk19:36
SpamapSlooks pretty out of date19:39
SpamapSstill back in "ensemble" land :)19:39
SpamapSjrgifford: are you interested in trying to revive it?19:39
jrgiffordSpamapS: that is correct, i am interested in trying to revive it.19:39
jrgifforddo you recommend that I start with that, or start over from scratch?19:40
* jrgifford has no clue what he's doing, but knows it needs to be done.19:41
SpamapSm_3: hey ^^ is that the latest rails charm you have?19:41
SpamapSjrgifford: it looks like a pretty decent start19:42
SpamapSjrgifford: charms for frameworks like that are really just scaffolding... you'll likely have to mod them up a bit to work with any real rails app19:42
koolhead17nijaba: are you back19:42
jrgiffordexcept for one problem... it doesn't actually install rails, it just sets everything up for rails to be installed. ;)19:43
m_3SpamapS: yup, was planning on reviving it over the holidays19:43
SpamapSm_3: you should work w/ jrgifford19:44
m_3sure19:44
SpamapSm_3: oh, and don't use libmysqlclient16-dev .. 'libmysqlclient-dev' will always get you the latest one.19:44
m_3that charm installs rails through bundler19:44
m_3then it gets the version your app depends directly on19:44
jrgiffordok. so it does it from a gemfile then?19:44
m_3yup19:44
jrgiffordok. that's actually how i was going to do it.19:45
m_3it installs gems, then bootstraps gems to be able to use bundler, then installs your bundle19:45
jrgiffordso that means i'm not completely insane with that idea.19:45
m_3teh only thing that's totally not done but should be is to use rvm19:45
m_3well, or it's shared insanity :)19:45
jrgiffordwell... i was working on that originally.19:46
jrgifford(rvm)19:46
jrgiffordwas using the railsready script as a starting place to kinda hack it together.19:46
m_3heck, I even have lots of rails apps that almost all use different versions of rails19:46
m_3so marrying that to the gemfile makes sense19:46
jrgiffordthats true.19:46
m_3jrgifford: well you wanna work on that one together?19:48
jrgiffordm_3: you betcha19:48
m_3BTW, I was planning on switching the charm itself over to ruby19:49
m_3to show juju to ruby/rails groups19:49
jrgiffordthat'd be slick.19:49
jrgiffordappeal to the chef/puppet crowd, right?19:50
m_3similar to what I've done in lp:~mark-mims/charm/oneiric/varnish/trunk19:50
SpamapSm_3: why should it use rvm? ;-)19:50
m_3plan to extract the lib/charmtools out to charm-helpers-ruby19:50
m_3or perhaps using the chef gem to do most of it19:51
SpamapSm_3: like, is rvm really necessary for everybody? or just for those who like to marry themselves to one version?19:51
m_3rvm is really pretty common now19:52
m_3during the transtion between ruby 1.8 and 1.9, it's a pretty good idea to lock it down19:53
SpamapScommon, but why?19:53
m_3perhaps less useful in another 6mos or so19:54
SpamapSbecause we'll have 1.9.3 in precise?19:54
SpamapSdon't the vas majority of ruby users end up using 1.8 still anyway?19:54
m_3just a wild-guess, but I'd think half the rails apps deployed in the wild are on each19:54
m_3newer rails takes advantage of 1.919:54
m_3there're lots of motivations (speed) to move to 1.919:55
SpamapSOk, but why do you need rvm for that?19:55
m_3you don't... rvm just makes it easier to say "my app depends on x.x.x version of ruby"19:55
m_3like gemfiles do with rails versions (and gem versions in general)19:56
SpamapSHeh.. which, btw, turns into a wonderful messy stew of requirements. ;)19:56
m_3like npm files do for node apps19:56
m_3yes, true19:56
* jcastro comes back in19:56
jcastrom_3: yeah, do it in ruby19:56
SpamapSbut yeah, rvm is the way people do things19:56
jcastrowe need some more language diversity19:56
m_3but it manages to resolve them for the most part... just have to wait for the 'bundle install' to finish19:57
SpamapSIndeed, and rails devs will appreciate the hooks being in ruby19:57
jcastroactually, let me rephrase, we need to have charms in the language that people who care about that service would be familiar with.19:57
m_3right19:57
jcastronot just bash bash bash19:57
m_3hence the rails charm in ruby19:57
SpamapSm_3: we should consider making it easy to build debs of any version of ruby/php/etc.19:57
SpamapSm_3: just so that you can deliver a binary via apt, rather than bundler which may take a bit to get thigns done19:58
m_3I really liked your gem2deb19:58
SpamapSdebigem19:58
SpamapSgem2deb is something else19:58
m_3oh, gotcha19:58
SpamapSperhaps somewhat inspired by debigem ;)19:58
m_3that worked really well with rails3 packages19:58
SpamapSyeah, gem2deb is now the standard way all ruby packages are built in Debian and Ubuntu19:59
m_3only problem is it bypasses the debian upstream versions19:59
jcastrosome people consider that a feature!20:00
m_3I'd be a big fan of tools that'd let us have more choice of ruby/php versions20:00
SpamapSm_3: so ruby in 11.10 and later *does* let you choose which interpreter handles /usr/bin/ruby20:01
m_3right... alternatives20:01
SpamapSIts meant to work a lot more like java.. where you just pick your jvm20:02
m_3That's pretty foreign to osx peeps though?  do they have anything like /etc/alternatives?20:02
m_3don't know myself... still need to resurrect the tv for juju osx testing :)20:03
jcastrospeaking of, mchenetz20:03
jcastroready for wider testing? I want to tell the world!20:04
m_3whoohoo!20:04
SpamapSm_3: no, but I think at this point OSX people are used to things working vastly different on their real servers from their dev env. :)20:04
m_3yeah, good point20:04
SpamapSHence vagrant and all the other ways to run VMs on OSX20:04
m_3just make it really easy to manage alternatives from capistrano, vlad, et al20:05
m_3good point... perhaps the charm should use version config settings and alternatives20:05
m_3talked to wayne (rvm guy) about packaging rvm... he wants to help20:06
m_3but that's a seeparate thing20:06
mchenetzjcastro: the easy_install version works pretty well… I am working on a slicker install though… I will probably have a new version over the weekend. I got a little tied up with work. Unfortunately, this isn't my full time job. :-(20:07
jcastrocooh cooh20:07
jcastrook I'll just play it safe and not announce anything until the new year20:08
jcastrounless you tell me otherwise20:08
mchenetzjcastro: As soon as i have a great install for everyone, i will help you announce it. :-)20:08
jcastro\o/20:08
m_3SpamapS: love to get your input sometime on what we've learned about packaging packaging tools like pear,cpan,cran,ctan,gems,npm20:09
m_3seems like it's a tough line to maintain20:09
SpamapSm_3: its not really..20:10
SpamapSm_3: you package stuff when you want to stabilize it and support it20:11
SpamapSm_3: you let people use the tools when things are still in flux20:11
marcoceppiCan I trigger a state in a charm?20:11
marcoceppiLike an install error?20:11
m_3heck, it's the ruby community... constant flux20:11
SpamapSmarcoceppi: exiting install with return code != 0 will trigger install_error20:11
SpamapSm_3: but there are tons of awesome ruby tools that use gems, like sup :)20:12
marcoceppiSpamapS: What about during a config change which is doing an install? Should I just exit > 0 and walk away as the explosion goes off in the background?20:12
SpamapSm_3: so there is a need to stabilize and support those tools while not hampering people using gems. Thats why gems puts stuff in /usr/local :)20:12
SpamapSmarcoceppi: that will be config_error then20:12
m_3marcoceppi: that'd be a good feature in general... the ability to set status... far wishlist though20:12
marcoceppiOkay, I'll just exit 2 or something20:13
* m_3 likes the visual of calmly walking away from the explosion20:13
SpamapSmarcoceppi: can you explain further what you're trying to accomplish?20:15
m_3SpamapS: I see... so the process of taking a gem and stabilizing it into a package is the key20:16
marcoceppiSpamapS: During phpMyAdmin charm, if you switch to or from upstream it essentially reinstalls PMA and sets it up again. I want to capture an "Install Fail"20:16
hazmatwe talked about manually poking transitions/states but backed off as it was very implementation oriented20:16
m_3hazmat: gotcha20:17
marcoceppim_3: http://devastatingexplosions.com/20:17
m_3favorite20:17
m_3site20:17
m_3ever20:17
m_3blows away jono's sad trombone... literally20:18
jcastrohow is this not hooked up to juju destroy-environment yet?20:19
jcastrojust open the browser and do it20:19
marcoceppi+120:19
m_3nice20:19
* marcoceppi aliases command20:19
jcastroso hey guys I had a new thought as I read jelmer and poolie talking about a launchpad charm20:23
jcastroa use case I don't think we've put alot of concious effort into so I thought I'd just put it out there.20:24
jcastroCharming a complicated service -> lower entry for contribution20:24
jcastroso like if you ever remember LP hacking in the old days, vs. what a full charm would look like20:24
m_3yeah, they were talking about a pushbutton ec2 lp test env... perfect for a charm20:25
jcastroright, but usually with charms I am thinking "if you make a charm, users can use your service quickly."20:25
m_3jcastro: oh, saw you filed the bug20:26
jcastroand I rarely think about using it as a way to get a project's code in contributor hands20:26
SpamapSnijaba: so.. the tests are destructive to $HOME/.ssh (if they fail halfway through you get weird stuff in known_hosts and authorized_keys)21:09
SpamapSnijaba: ssh makes it near impossible to override ~/.ssh ... so I'm going to just skip all peer tests if ~/.ssh exists.21:09
marcoceppiDash experts, for dash functions, if you call $1 and there is no param passed will it go nuts?21:11
marcoceppiEr, nvm21:12
marcoceppiI'm having a hard time figuring out what this error means: lib/common.sh: 1: 1: parameter not set21:12
SpamapSwith -u, yes21:12
marcoceppiOH21:12
SpamapS${1:-''}21:13
marcoceppipft, -u21:13
marcoceppiThank you!21:13
SpamapSIts silly, but it forces you to think about whether or not it is optional.21:13
marcoceppiin this case, it is21:14
marcoceppibut still, good to know21:14
marcoceppiI've been so honed in on this issue, I forgot what I was testing originally21:15
SpamapS-u forces shell to be at least a *little* more like a real language21:15
SpamapSmarcoceppi: try and test that, you're bound to get served21:16
marcoceppiSpamapS: it works now :)21:17
m_3SpamapS: lovin... is what I got21:17
m_3totally stuck in my head now, thanks21:18
* SpamapS can play the m_3-tar like a mutha-#$@!in riot!21:19
m_3unhuh21:19
jrgiffordm_3: rvm or rbenv? I only use rvm, apparently rbenv is "nicer" though. . .21:23
m_3jrgifford: either... same here, I've heard good things about rbenv but haven't used it yet myself21:26
SpamapSman, I kind of want to write a charm in ruby now just because I'm tired of shell21:33
m_3yeah, it's nice to have hashes, scope, and real fn args21:36
SpamapShttps://code.launchpad.net/~clint-fewbar/charm-tools/buildd-fixes-part-deux/+merge/8675321:37
SpamapSWould appreciate a second pair of eyes on this21:37
SpamapSnijaba: ^^ changes ch_peer_scp's API21:37
marcoceppim_3: Finally, phpmyadmin is done!21:38
m_3marcoceppi: rockin!21:38
marcoceppiI'd love a final look-over if you don't mind, before doing all that prog stuff21:38
m_3love those commit msgs that start with "Apparently I smoke crack now..."21:40
SpamapS:)21:41
* SpamapS would like to remind everybody that bzr *does* have a rebase plugin if you accidentally "drunk commit"21:41
jelmerSpamapS: I thought drunk committing was the whole use case for DVCSes ?21:44
SpamapSjelmer: its a corner case I'd say.. though, quite a lively corner.21:45
marcoceppiSpamapS: It's too, non-intuitive. I like the way git handles it :)21:46
marcoceppiFurthermore, all of my commits are drunken.21:46
* SpamapS has yet to find something he likes in git21:47
SpamapS:-/21:47
SpamapSI feel like I'm the only one.21:47
marcoceppiSpamapS, you're the only one :)21:47
m_3+121:48
m_3git fanboy parade21:48
SpamapSsome day you guys can show me why it doesn't suck :P21:48
mchenetzgit tulez!21:49
mchenetzrulez!21:49
m_3marcoceppi: so, in meta/<ip-addr>, you use "server_name"21:49
m_3what you assign to it isn't a hostname though... it's the _service_ name21:50
marcoceppiRight, it still uses the IP21:51
marcoceppiI thought you could put a "nickname" for servers in PMA but you can't21:51
marcoceppiso it's moot to have it, for now21:51
marcoceppibut service name is better verbiage21:51
m_3but server_name=${JUJU_REMOTE_UNIT%%/*} isn't going to be any kind of address21:52
marcoceppiright, it's just the service name21:52
marcoceppim_3: I've renamed it to service_name21:55
marcoceppiThough, it still not currently used. It's just there for future ideas21:55
m_3ah, ok I was digging around through phpmyadmin config to see where it was used21:55
marcoceppim_3: I could have sworn you could set the "name" of a server in PMA config, but alas you can't21:57
marcoceppiWhen/if I figure out a way I'd like upgrading to be easy for people :)21:58
marcoceppiactually, maybe the file should be the name of the service.21:58
negronjlSpamapS: I approved https://code.launchpad.net/~clint-fewbar/charm-tools/buildd-fixes-part-deux/+merge/8675322:03
m_3marcoceppi: cool... looks good22:13
marcoceppiCool, I'm out for a drink, when I get home I'll prog it up, blog it up, and ping jcastro22:13
jcastromarcoceppi: I'll be in the usual places22:13
jcastroSpamapS: you still owe me a blog!22:13
robbiewjcastro crackin da whip!22:17
SpamapSjcastro: its in draft :)22:23
m_3marcoceppi: finished... go ahead and promulgate please22:23
m_3jcastro: phpmyadmin is out the gate22:23
jcastro\o/22:25

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