* SpamapS EOD's00:00
adam_gSpamapS: re: rabbitmq. no, none of those ~openstack-ubuntu-testing charms are relevant to anything outside of that jenkins lab02:38
_mup_juju/unit-rel-lifecycle-start-invoker r535 committed by jim.baker@canonical.com03:36
_mup_Merged trunk03:36
_mup_juju/unit-rel-lifecycle-start-invoker r536 committed by jim.baker@canonical.com03:39
_mup_Addressed review points03:39
jimbakeradam_g, i just committed the fix for working with relation ids from relation hooks to trunk. SpamapS, this is a trivial one-liner and imho should be included asap in the juju distro03:50
jimbakeralong the lines of other recent fixes we have had03:51
=== jkyle_ is now known as jkyle
adam_gjimbaker: cool. if theres an SRU bug somewhere, i can verify. or let me know, and ill file one04:51
=== koolhead11|afk is now known as koolhead17
=== almaisan-away is now known as al-maisan
=== koolhead17 is now known as koolhead17|afk
=== koolhead17|afk is now known as koolhead17
=== al-maisan is now known as almaisan-away
=== daker__ is now known as daker
=== TheMue_ is now known as TheMue
=== TheMue_ is now known as TheMue
=== TheMue_ is now known as TheMue
imbrandonSpamapS: i think rs is gonna be the way to go for sites similar to OMG, or ones setup to scale the same way12:35
imbrandonmainly because of their small servers that have 265mb ram but 4x2.2ghx proc and can sustain high cpu task12:36
imbrandonso bootstrap on a tiny12:36
imbrandonmysql on a something not considered here but seperate as is now12:37
imbrandoncluster or not etc12:37
imbrandonand each webhead ona  tiny but lots of them12:37
imbrandoncuz right now the OMG webheads are maxing the cpu's but use very little other resources12:37
imbrandonso scaleing them out to many of these ultra tiny webheads that have lots of cpu makes sense12:38
imbrandon( just thinking out loud here, as i prep the same charms to deploy websitedevops.com )12:39
imbrandonoh and the tiny's are 0.01c hr , vs 0.08 for mediums on aws12:40
imbrandonso couple that with some rrdns and the lb setup we adopted12:41
imbrandon= win12:41
imbrandonSpamapS: http://cl.ly/GNEY  <--- thats pretty avg accross the 3 current webheads , 15 to 25 Mb/s traffic, 30ish % of the 1.6 G ram used and 1.0 sys load13:04
imbrandonkinda strange to me, past experince has always been the ram not cpu on webheads13:08
=== almaisan-away is now known as al-maisan
marcoceppibkerensa: Are you working on the OpenPhoto charm?14:30
SpamapSimbrandon: the reason the RAM isn't running out is because of the heavy caching, you don't need many active processes14:44
bkerensamarcoceppi: yes14:45
marcoceppibkerensa: ah, wasn't sure14:46
* SpamapS wishes mediagoblin was easier to package, he'd finish it and get it promulgated14:46
SpamapSactually what I really wish is that pip installs used https14:47
marcoceppiTime for a patch?14:47
SpamapSno, pypi doesn't have https14:47
SpamapSThough we *could* mirror pypi into a launchpad project.....14:47
SpamapSbut, no, thats silly. Packaging isn't actually that hard, I just need to finish it14:48
imbrandonSpamapS: yea, just thought it was unique14:49
marcoceppibkerensa: I read your G+ post about openphoto and I was like "YES THEY HAVE A REPO" and then I saw the install script they made, which is like 90% charm ready14:49
SpamapSimbrandon: its actually really encouraging. :)14:50
SpamapSimbrandon: leaves RAM for VFS cache and stuff. The webheads are doing the cache of files, right?14:50
bkerensamarcoceppi: yep and I have it partially done and hope to have it fully done by the deadline... I might pick your brain to make it more frosty but right now I have to go pack :D14:53
marcoceppiI should probably pack soon too. I have too many social engagements leading up to my departure Sunday morning14:54
m_3_SpamapS: oh, btw, the new version of rubygems checks https certs... saw the release notes at conference14:55
* m_3_ has to check that against the version we have in precise14:56
imbrandonSpamapS: yup14:59
marcoceppiCan a relation hook both set and get relational data?15:19
m_3_marcoceppi: yup15:20
SpamapSm_3_: sweet15:21
m_3_marcoceppi: the conversation keeps firing as long as either hook keeps _set_ting relation data15:21
SpamapSmarcoceppi: there are a few, like mysql replication, that do several rounds of back and forth relation get/sets15:21
=== al-maisan is now known as almaisan-away
marcoceppiI think that's what I want do to for gluster15:27
marcoceppiinstead of just having one giant shared fs, each charm should have it's own brick so the gluster client and gluster server need to keep up communication15:28
m_3_marcoceppi: the coolest part of gluster is that we now have subordinates!15:28
marcoceppim_3_: I know! That's why I've started working on proper subordinate gluster-server/client charm pair15:28
m_3_marcoceppi: that's the hard part... specifying the striping config you want from the clients15:28
marcoceppim_3_: I figured just config value for each gluster-client15:28
marcoceppithere's only 4 different types of stripes15:29
marcoceppiunfortunately this is only a segue charm pair so I can get back to work on my main charm of interest15:29
m_3_marcoceppi: yeah, the client should get the makeup of the entire volume its currently using as config... not easy though15:31
m_3_marcoceppi: maybe the stack startup script would specify the volume composition, then pass that into the config for the client... dunno how to discover that dynamically though.  maybe see what clint did on ceph15:32
* imbrandon gigles a little inside at seening his newest charm have "#!/usr/bin/env php" at the top of hooks15:36
imbrandonSpamapS: is it nessesary to have a requires in the metadata ?15:38
bkerensaimbrandon: we still have no solid time/day for cloudflare?15:42
imbrandonbkerensa: no worries, it will work out15:42
imbrandonand if not there is always next time15:42
bkerensaimbrandon: Im sure they will be there pretty much 9 to 515:43
bkerensaso long as a I ping @eastdakota half hour before we head out they can prepare15:43
imbrandonbkerensa: my goal is to be out on the left coast by this time next year anyhow :)15:43
bkerensafor work/living?15:43
bkerensais that what were known as in the red states?15:44
bkerensaThe left coast?15:44
imbrandonpretty much15:44
toothalso matters what continent.15:44
bkerensafor good reason probably15:44
imbrandonbrb afk15:44
marcoceppiWill `relation-list` in a peer relation list the current unit?15:44
imbrandonmarcoceppi: i dont think so, thats why the 127 in the omg15:45
imbrandonlb relation15:45
marcoceppiGluster seems like it's this huge thing, but so far it looks really straight forward to setup15:58
jcastroI see your incoming charm15:59
jcastroYeah I set it up, it was dead easy16:00
bkerensaanyone want to review locker charm? :)16:04
SpamapSmarcoceppi: the question is, how to get charms to mount gluster16:07
marcoceppiSpamapS: that's what I'm trying to figure out in an elegant fashion16:07
marcoceppiCharms will have to expect gluster current16:08
SpamapSmarcoceppi: or, perhaps, charms should just have a 'scope: container' relationship where they ask for a place to put their data16:08
SpamapSmarcoceppi: interface: mount16:08
SpamapSmarcoceppi: then gluster, nfs, and ceph, all have subordinates which speak that interface, and tell them "put it here..." and mount the data there16:09
marcoceppiIn fact, the way I have the gluster-client currently setup, it expects two relations, juju-info and a shared-fs relation where the charm tells gluster where the mount point should be16:09
SpamapSmarcoceppi: \o/16:09
marcoceppiyeah, figured that was the best way for now16:09
SpamapSthats perfect16:09
SpamapSwe should do NFS too... just for the "never do this" case. :)16:10
marcoceppiSpamapS: already did that too :)16:10
marcoceppigluster-server charm has a direct NFS relation16:10
SpamapSmarcoceppi: I'm going to give jcastro some cash so he can buy you beers all the nights I'm not there next week ;)16:10
marcoceppiso you can use the gluster-client, or just add-relation to the nfs interface on the main charm16:10
SpamapSmarcoceppi: the NFS interface isn't as fault-tolerant though.. is it?16:11
marcoceppiand not as robust16:11
SpamapSso.. IMO.. leave it out16:11
SpamapSits for non Linux clients16:11
marcoceppiSpamapS: http://i.imgur.com/hZf6H.jpg16:12
imbrandongetting a little confused16:18
imbrandonSpamapS marcoceppi ^^16:18
bbcmicrocomputerHave a Q.. when you have a one to many relation between say service A, B and C, e.g. A->C , A->B, when C breaks its relation with A, A's relation-broken hook doesn't appear to have a means of telling whether it's relation with B or C is being broken, so it seems impossible to make the hook idempotent, anyone know any answers?16:18
jcastroSpamapS: get in line.16:19
SpamapSbbcmicrocomputer: there is a way, its just not obvious16:19
SpamapSbbcmicrocomputer: and many charms don't make use of it, because it only landed in recent juju versions16:19
SpamapSbbcmicrocomputer: $JUJU_RELATION_ID16:20
SpamapSbbcmicrocomputer: you can enumerate the relations with the relation-ids command16:20
bbcmicrocomputerSpamapS: ah cool, will investigate16:20
SpamapSimbrandon: that looks good. assuming then that its just for serving static content?16:21
imbrandonyea i want the websites to determine the16:21
imbrandondynaic part16:21
imbrandonbut not sure how to handel that yet16:21
imbrandone.g if they want to use uwsgi or php or whatever16:22
SpamapSimbrandon: in addition to 'webroot' perhaps have an interface 'fcgi-socket' ?16:22
imbrandonwould that be an interface or just a config16:23
SpamapSimbrandon: youc an feed back 3 things .. fcgi-socket, static-wwebroot (for the "if it exists just serve from there"), and 'cache-url-patterns' for the thing to define where to look for cached pages.16:24
imbrandonas it is right now , i want this to be the base charm, not sub, and provide a nginx that is both a content on 8080 and 80 like the omg16:25
SpamapSimbrandon: interface definitely16:25
imbrandonand then yea have "sites" as subcharms16:25
imbrandoneven frameworks and then sites16:25
SpamapSimbrandon: right, so nginx is primary, opens ports, etc. Then you have 'omg-wp' as a subordinate that drops its files in, and tells nginx how to serve it'16:25
SpamapSyou can relate subs to other subs btw16:26
imbrandonyea , i was thinking this as the base and then sub be wp, then sub of that be omg-wp16:26
imbrandonwas my plan16:26
imbrandonbut also support like marcoceppi gluster etc16:26
SpamapSso while it will be a bit wonky, you can have 3 tiers of relations on a box.. like...  nginx->php-fcgi->wordpress (and then get crazy, ->omg-themes)16:26
imbrandonthus the other optional bits16:26
imbrandonSpamapS: yea ,e xactly16:27
imbrandonwell omg-something as it would be themes+plugins16:27
imbrandonbut yea16:27
SpamapSimbrandon: perhaps I will write an Apache 2.4 charm w/ the same interfaces, and we can have a shootout. :)16:27
imbrandon:) rockin16:27
imbrandoni rally want so seperate it too at some point16:28
imbrandonbut not in time for the contest16:28
SpamapSimbrandon: one thing I want to do is enhance the http interface with an 'endpoint-host' that can be set by either side. I'm not sure which one should take precedence though.. upstream or downstream.16:28
imbrandonas in seperate the nginx lb+cache and the 8016:28
imbrandonso apache could be the content serving16:28
balloonsallo, mes amis.. So I'm looking at this page now: https://juju.ubuntu.com/docs/getting-started.html#configuring-your-environment. It says to run juju without arguements to generate an example enviroments.yaml.. That doesn't seem to work.16:29
imbrandonSpamapS: yea i had that question too, just wasent sure how to articualte it yet16:29
balloonsJuju just responds with the argument list16:29
SpamapSballoons: did you look at ~/.juju/environments.yaml ?16:29
balloonsSpamapS, right.. there's no folder created16:30
balloonsthat *should* work then yes16:30
SpamapSballoons: interesting, I think we must have broken that16:30
imbrandonthats used to work16:30
SpamapSballoons: try 'juju bootstrap', does it create it then?16:30
SpamapSI think we made it so it only creates it if you try to do something now16:30
SpamapSsince typing 'juju --help' was creating it16:30
balloonsjuju: error: too few arguments, and gives arg list16:30
SpamapSso docs probably need fixing16:30
balloonsk, trying juju bootstrap16:30
balloonsawesome: error: No environments configured. Please edit: /home/balloons/.juju/environments.yaml16:31
balloonsso yea.. just needs updated I guess16:31
SpamapSballoons: if you're feeling adventurous.. 'bzr branch lp:juju/docs' .. and fix it. :) I'll merge it :)16:32
SpamapSballoons: otherwise file a bug here https://launchpad.net/juju/+filebug and we'll get to it right away16:32
imbrandonSpamapS: btw here in a few hours when i get frustrated enough with the nginx charm to switch gears i got some small updates to the newrelic one if you wouldent mind pushing, mostly stuff you sugested the other day16:32
balloonsSpamapS, yea I had planned on branching and merging16:33
balloonsI'll add it to the list of changes :-)16:33
SpamapSAlso there's another way to setup a new environments.yaml.. 'jitsu setup-environment' ... a little more user friendly :)16:33
* SpamapS adds ssl-hostname-verification to that16:33
SpamapSimbrandon: sweeeeet .. yeah just bug me. I'll be out on the road for a couple hours starting at 1200 my time tho.16:34
* imbrandon has to pack sometime today16:34
imbrandonbtw i'm thinjking more downstrea,16:36
imbrandonas in the "lowest" sub should be able to overide anything its layerd on16:36
SpamapSimbrandon: I was thinking there will be times where it may be useful to define it at the upstream point, for instance if you want to host two apps under one proxy.16:36
FunnyLookinHatIs there an etiquette for assigning a charm request bug to yourself if someone else owns it?  It looks like there has been no movement on it:16:37
_mup_Bug #931835: Charm needed: Gitlab <Juju Charms Collection:New for antono> < https://launchpad.net/bugs/931835 >16:37
SpamapSwhich is quite likely for big multi-layerd apps16:37
SpamapSbut.. those should really not be doing Host: inspection16:37
SpamapSstill sometimes you need to know what the Host is. :p16:37
imbrandonand would likely have16:37
marcoceppiFunnyLookinHat: I'm actually working on that atm16:37
FunnyLookinHatmarcoceppi, Ah - glad I asked.16:37
marcoceppiyeah, I didn't claim it yet, becaues I was trying to get a hold of the author16:38
FunnyLookinHatSame here - but I was trying to do it through the ticket16:38
imbrandonmmm i forgot to file an nginx one, supose i should do that16:38
SpamapSSo, IMO, Antono claimed it almost 2 months ago16:38
FunnyLookinHatmarcoceppi, you can take it though  :D16:38
marcoceppiIf you wanted to take a stab feel free, I'm trying to do a gluster, gitolite, gitlab combo to make a scalable github-esque setup16:38
SpamapSand has then gone dark16:38
FunnyLookinHatmarcoceppi, oh geez... I just wanted a simple charm to deploy a gitlab setup so that people could easily either run git or sparkleshare types of stuff on their client16:39
SpamapSHow does everybody feel about making the policy that you can only "claim" a new charm bug for 30 days before it goes back to available?16:39
FunnyLookinHatSpamapS, good idea.16:39
SpamapSDebian has recently done the same with ITP bugs for intent to package.16:39
marcoceppiSpamapS: +116:39
imbrandonSpamapS: +116:39
SpamapSm_3_: ^^16:39
SpamapSOk, the motion carries.16:39
SpamapSI will record that at https://juju.ubuntu.com/Charms16:40
SpamapSmarcoceppi: are you definitely ready to work on it now, or do you want to give it to FunnyLookinHat ?16:40
FunnyLookinHatSo if I need ruby 1.9.2 and only 1.9.1 is available in the repositories, should I make my charm download/build 1.9.2 or should I try to reference another charm somehow?  I know one is in dev here: https://bugs.launchpad.net/charms/+bug/79987916:40
_mup_Bug #799879: Charm needed: rails (framework) <developers> <Juju Charms Collection:In Progress by mark-mims> < https://launchpad.net/bugs/799879 >16:40
m_3_SpamapS: yeah, that sounds good16:41
marcoceppiSpamapS: I plan to have it done for UDS, I'm kind of doing gluster, gitolite, then gitlab in that order, so FunnyLookinHat if you want to take the gitlab charm feel free16:41
FunnyLookinHatI'm going to try to throw it together for UDS - figured it'd be a decent entry for the competition16:41
FunnyLookinHatmarcoceppi, You take it16:41
FunnyLookinHatI have others to do16:41
FunnyLookinHatmagento is one that a lot of people seem to want16:41
SpamapSmarcoceppi: please assign it to yourself16:43
m_3_FunnyLookinHat: note that the package 1.9.1 is actually a newer version of ruby16:44
FunnyLookinHatm_3_, newer than 1.9.2 ?16:44
FunnyLookinHatHow does that work?16:44
m_3_it's just the package _name_ was chosen poorly imo16:44
FunnyLookinHatShould be ruby-current16:45
m_3_FunnyLookinHat: also note that rvm is packaged now too16:45
FunnyLookinHatOr just ruby16:45
FunnyLookinHatOh awesome16:45
m_3_that makes it easier16:45
SpamapSFunnyLookinHat: the reason 1.9.1 was used was that it was wildly incompatible with 1.9.016:48
SpamapSFunnyLookinHat: so anything that depended on ruby1.9 wouldn't necessarily work with ruby1.9.116:48
m_3_FunnyLookinHat: feel free to run with rails for the charm contest.  the one in there is mine, but it's pretty naive and I really only use it for example hooks... it definitely needs some love across the board.  should be split from apache/passenger so nginx, unicorn, thin, etc could be used.  perhaps as a subordinate charm even16:48
SpamapSthis unfortunately put the package maintainers in a bad position when 1.9.2 and 1.9.3 arrived, because they *are* compatible with 1.9.116:49
m_3_yikes... really?16:49
SpamapSits really ruby's fault16:49
SpamapSshould have been 1.10, not 1.9.116:49
m_3_no surprise, but still quite ugly16:49
FunnyLookinHatm_3_, this would be my FIRST charm... so I think I'll write the magento one first ( seems the easiest to deploy ) and then I might try my hand at something more complex.16:51
SpamapSI think ruby1.9.1 was the wrong choice16:51
m_3_FunnyLookinHat: awesome!16:51
SpamapSBut it was right before freeze for squeeze IIRC16:51
tobinIs there a concept of server vs. client when writing charms? IE only the server has specific configs, and the client another set.16:55
SpamapSCan you guys look at https://juju.ubuntu.com/Charms and make sure I specified that correctly? Specifically search for '30 days' and see the footnote16:55
SpamapStobin: charms provide, and require things16:55
SpamapStobin: typically servers provide, and clients require16:55
tobinOkay somewhat like dpkg. Got it. thank you SpamapS.16:56
marcoceppiSpamapS: should there be an exception if there's a repository attached to the bug but no activity in 30 days?16:57
balloonsalright -- juju bootstrap worked.. I see a small instance deployed16:58
balloonsa few questions :-) can I control the instance size / type it creates when I bootstrap?16:58
balloonssorry I should say.. I bootstrapped to ec216:58
imbrandonballoons: yea with constraints16:59
m_3_SpamapS: https://juju.ubuntu.com/Charms sounds good16:59
balloonsimbrandon, thanks.. I see the docs on constraints.. looks simple17:00
m_3_marcoceppi: hmmm... yeah, we sort of have to account for charms people write that attach to a bug but they might not wanna publish it into the store17:04
m_3_not sure17:04
balloonsso I issued the 'juju debug-log' command in one window, and a juju deploy mysql in another.. I don't seem to be getting any messages in the tailing log window though :-( Is there a log level I can set perhaps?17:05
m_3_I guess the bugs are for the charms we're wanting in the store... so no, they'd still be fair game17:05
marcoceppimakes sense17:05
balloonsnvm.. things are cranking in the log now :-)17:06
SpamapSmarcoceppi: I don't think so, no. Though anybody else who takes it on would be a bit silly to not at least use that as a starting point.17:06
m_3_balloons: "provider-delay" let's call it :)17:06
balloonsthat took a long time after I issued the commands and they returned successful.. interesting17:06
marcoceppiSpamapS: makes sense17:06
balloonsm_3_, yes makes sense..17:07
balloonsgotta spin up the machines, etc17:07
SpamapSmarcoceppi: I'd like to favor the person interested *now*. :)17:07
marcoceppiNot a bad idea17:07
SpamapSThe reason for the bug assignment bit is that we want to reduce duplication of effort.17:08
m_3_ok, so "super last-minute drop everything" project isn't happening right now, so back to charm testing...17:08
SpamapSBTW, I saw no response to my maintainer: thread on juju.. so I'm going to start assigning maintainers soon.17:08
m_3_BTW, we're rolling up test results to jenkins.qa.ubuntu.com17:08
jcastroSpamapS: hey so, I'm thinking, kill the spreadsheet for charms17:08
m_3_still working to get other provider tests to show too17:08
jcastroand move to all bug reports.17:08
m_3_jcastro: yes, please17:08
SpamapSm_3_: woot. Where is the main charmtester branch? I want to add explicit tests soon17:09
SpamapSjcastro: yes please17:09
imbrandonjcastro: spreadsheets are evil17:09
SpamapSm_3_: JINX!17:09
SpamapSoh wait17:09
SpamapSI said your name.. so.. yo're already free17:09
SpamapSstupid IRC killing a children's game17:09
SpamapSm_3_: you mean /charms/precise right, not /charmers/charms17:09
m_3_surely we can remember others... /me digs around in there17:10
m_3_crap... yeah17:10
imbrandonSpamapS: when can i use #!/usr/bin/php on install hook kthxbia!17:10
m_3_was reading other things while typing...17:10
marcoceppiimbrandon: almost never :)17:11
m_3_imbrandon: +1 for adding dep packages in metadata17:11
SpamapSimbrandon: when the sun rises in the west and sets in the east17:12
imbrandonmy install hook for nginx is seriously "apt-get update && apt-get install nginx php5-cli && php ./includes/install"17:12
marcoceppiimbrandon: nothing wrong with that17:14
imbrandonoh i know, just kinda pointless17:14
imbrandonand the rest all use #!/usr/bin/php :)17:15
m_3_imbrandon: that's really pretty close to sourcing the php interpreter to consume the rest of the hook :)17:15
m_3_we should put a snippet together to do that :)17:16
m_3_s/php/anything else/ of course :)17:16
imbrandonwould work for ruby or anything17:16
m_3_fairly obscene tho17:17
imbrandonlol yea17:17
imbrandoni see SpamapS cringing now17:17
m_3_SpamapS: I just realized I haven't updated that branch in a while... git-bzr barfed on me a while ago and I haven't done the workaround... updating now17:20
imbrandonm_3_: speaking of yea the one you use is the one i do as well17:21
imbrandongit bzr ng17:21
imbrandongit bzr clone lp:blah17:21
SpamapSso sad that you guys can't just play nice w/ bzr. :)17:22
imbrandonheh it hates me17:22
imbrandonand i dont like the forks are called branches17:22
SpamapSI don't like that git calls update revert, and revert merge, and merge .. wtf I am lost already :)17:23
SpamapSbut I still use git when I am working on projects that use git17:23
imbrandonthats it tho my projects are in git, not bzr, i just must use it to get reviewed :)17:24
* imbrandon stops17:24
* imbrandon hugs SpamapS :)17:25
* m_3_ actually thinks there're more similarities than differences... 17:25
* SpamapS hugs err'body17:25
imbrandonyea there are quite a few, but i see bzr is more akin to hg, infact its damn near identical17:25
imbrandonjust slower17:25
SpamapSThere may come a day where we can have charms in git in the store17:26
balloonsSpamapS, I think I did the docs merge properly (hope) https://code.launchpad.net/~nskaggs/juju/juju-bootstrap-fix/+merge/10478117:26
SpamapSthat day is not today17:26
marcoceppirelation-list spits out service/unit correct?17:26
SpamapSmarcoceppi: yeah17:26
imbrandonreally my main main gripe is split between bzr merges seem dumb compared to gits ( as do pretty much any other vcs compared to git, there is a reason hg as a config option of [merge] git=true to use git for merging ) and the fact that bzr branches are actualy forks and not "in-place" like git branches with hardlinks, i REALLY like that feature17:29
SpamapSimbrandon: actually there's been recent work to have in place branches in bzr17:29
SpamapSas everybody seems to like that17:30
imbrandondude, if that lands i'll convert17:30
FunnyLookinHatSo question - I feel as though I'm creating a bad charm if all it does it download code, create a user, extract code and assign rights, and then setup a VirtualHost - am I missing something?17:30
SpamapSHeh, but what about rebase, and fastforward.. and the 3x speed difference? :)17:30
FunnyLookinHati.e. is there some magic sauce where I'm supposed to make sure it can be duplicated or something ?17:30
imbrandonheh i can take one for the team17:30
SpamapSimbrandon: talk to niemeyer, he wrote a plugin to do it17:30
SpamapSimbrandon: its called 'cobzr' you can probably find it17:30
imbrandonkk yea i'll check it out soonish17:31
m_3_FunnyLookinHat: there's all sorts of stuff you can do to expand on charms... but the basics are pretty basic... on purpose17:31
SpamapSFunnyLookinHat: thats a great charm!17:31
FunnyLookinHatOk awesome- just making sure I'm not submitting work that's worthless and has to be redone  :D17:32
SpamapSFunnyLookinHat: if the charm stores user data locally.. you may want to find a way to store that in a shared place (like a database, or a shared filesystem), but that is where things get complicated and we all huddle together to scale-out a service.17:32
m_3_SpamapS: great description17:32
SpamapSI really think if I spend a week on ways to scale-out w/ mysql I will be able to make mysql's 'add-unit' extremely useful.17:32
imbrandonSpamapS: yea i wanna get with you at uds too about a ndb mysql charm17:33
SpamapSLike, make it a replication ring, or maybe use galera to do sync-replication.. or screw it lets just make everything NDB cluster.17:33
SpamapSimbrandon: NDB's problem is network bandwidth17:33
SpamapSyou need a ridiculous amount of it17:33
imbrandonright but its so sexy17:33
SpamapSimbrandon: sure, its sexy on infiniband. I doubt it performs on EC217:34
m_3_FunnyLookinHat: we try to make suggestions for how to handle scaling, upgrades, external relations, etc in review too17:34
FunnyLookinHatm_3_, oh ok cool17:34
imbrandonSpamapS: i can see a whole env juju'd with ndb charms , then have your "web" farm in another juju env17:34
imbrandonjust dunno how to make them talk yet17:34
imbrandonexternal relations17:36
imbrandonso i can upgrade or blow away my web farm but not my shared storage farm or my memcache farm or my sql farm17:37
imbrandonmmmm dreams17:37
imbrandonkinda like meta suboranates ? heh17:38
m_3_imbrandon: take a peek at the mongodb charm's config.yaml file... note that the replicaset_master can be specified by host/port explicitly.  It's pretty manual, but it's a way of bridging between two juju envs17:39
imbrandonnice, i was sure i wasnt the first to think of it17:40
m_3_imbrandon: so the charm needs to be written to handle both "kinds" of relations17:41
imbrandonsmall price17:41
m_3_imbrandon: but it's what we have atm17:41
imbrandonyea, better than full on manual17:41
SpamapSimbrandon: also subordinates can easily be used to proxy between two envs17:41
m_3_in all sorts of interesting ways17:42
imbrandonSpamapS: ahh hadent thought of that17:42
SpamapSespecially now that we have out-of-hook relation-set capability17:42
imbrandonhrmm, intresting times we now live in17:42
SpamapSjust need dynamic relation capability and we can have a juju-proxy charm17:42
* imbrandon just needs to get a job where he can write charms all day 17:43
SpamapSm_3_: watch your back!17:43
bkerensaSpamapS: if you move a merge proposal to "merged" will launchpad merge it?17:43
SpamapSbkerensa: not sure, that would be cool though17:43
m_3_imbrandon: yeah, you end up doing all sorts of other stuff too :)17:43
bkerensaSpamapS: ok well for some reason I have review privileges on a branch17:43
bkerensaand I reviewed some code and it looks fine17:44
SpamapSbkerensa: lp:juju/docs is owned by ~charm-contributors17:44
SpamapSBasically anybody who asks real nice can update the documentation. :)17:44
m_3_bkerensa: yeah, we've got a bit of disconnect between charms and our charm process and launchpad atm17:44
bkerensam_3_: your not a bot?17:45
SpamapSbkerensa: no, change it back to Approved, launchpad did not merge it ;)17:45
SpamapSas cool as that would be17:45
bkerensaSpamapS: yeah I saw it17:45
m_3_SpamapS: found my notes from series upgrade btw... there's still a couple of danglers17:45
bkerensaits moved back17:45
m_3_bkerensa: ha!.. nope, not a bot17:45
m_3_bkerensa: all my names start with 'm'... and you _don't_ wanna turn on irc highlighting for 'mmm' :)17:46
m_3_SpamapS: but now we have unpromulgate... thanks!17:47
SpamapSoh that reminds me17:48
SpamapSI pushed adams crazy juju testing lab as the official rabbitmq-server branch17:48
m_3_SpamapS: btw, if you wanna see _exactly_ what the lp script did on series upgrade, lp:charms/nova-compute is still in a pristinely screwed up state (i.e., we haven't tried to fix it yet)17:48
SpamapSadam_g: is there any reason not to include your special testing lab fork in the main charm store? I'd rather there only be one place that is generally consumed.17:49
m_3_basically, compare lp:charms/nova-compute ( -> lp:~charmers/charms/precise/nova-compute/precise ) with lp:~charmers/charms/precise/nova-compute/trunk17:49
SpamapSbkerensa: you can go ahead and push that fix into the branch btw17:50
bkerensaSpamapS: How do I push it in?17:50
* bkerensa has never merged 17:50
bkerensado tell17:50
balloons:-) more doc changes..  juju is yelling at me for having a revision info in my metadata.yaml file.. looks like there is a revision file now.. the docs should be updated17:50
m_3_when lp:charms/nova-compute was updated from ...oneiric.. there was another branch on lp:~charmers/charms/precise/nova-compute/trunk, so the lp script renamed it to lp:~charmers/charms/precise/nova-compute/precise and aliased accordingly17:50
SpamapSbkerensa: there's a first time for everything! :)17:50
bkerensaSpamapS: do tell how17:50
SpamapSbkerensa: simplest way, 'bzr branch <<the branch you want to merge in>>'17:50
balloonsI'll do my best to edit that also17:50
bkerensathen bzr merge?17:51
SpamapSbkerensa: then if there is only one commit, just 'bzr push lp:juju/docs'17:51
m_3_SpamapS: so the net is the aliased branch is old... needs to be unpromulgated and then the lp:~charmers/charms/precise/nova-compute/trunk branch needs to be promulgated in its place17:51
SpamapSbkerensa: if there are like, 10 crazy commits, you just want one in the mainline changelog, so you 'bzr branch lp:juju/docs', cd into that dor, and 'bzr merge ../whatever' and then commit as one thing.. 'Merging doc fix...'17:51
m_3_SpamapS: that's what happened with rabbitmq-server, but there was lots of manual "intervention" to try to fix this without an unpromulgate :(17:53
SpamapSI think you named a brnch FML or something17:53
m_3_well... yes17:53
m_3_I should write this down for next release upgrade so we know exactly what we're gonna try to prevent17:54
SpamapSm_3_: I assume this is the one we want: lp:~charmers/charms/precise/nova-compute/trunk17:54
m_3_SpamapS: I think that's correct... looking at the history17:54
balloonscan someone confirm the revision file is automatically created now, or is this something I should create and update?17:54
SpamapSm_3_: I'm pretty sure all we need to do is rename the trunk -> series name *and* get the charm store to ignore the branch name for official branches17:55
m_3_SpamapS: hmmm17:55
SpamapSballoons: you'll have to create it and update it whenever you want users to see the new charm.17:55
balloonsSpamapS, hmm.. I don't remember making one.. but there is a file now called revision with a '1' in it17:56
balloonsin my charm17:56
SpamapSm_3_: Ok so the fix is this: bzr branch lp:charms/nova-compute ; cd nova-compute ; charm unpromulgate ; cd .. ; mv nova-compute nova-compute-busted ; bzr branch lp:~charmers/charms/precise/nova-compute/trunk nova-compute ; cd nova-compute ; bzr push :parent ; charm promulgate17:57
jcastrowoo, lots of charm activity lately!17:57
imbrandonoffer shiney toys and that happens :)17:58
SpamapSjcastro: at least 60 commits per day since Feb 12.17:59
m_3_SpamapS: right, that sounds perfect... did you already do it, or shall I?17:59
SpamapSm_3_: I want you to do it, so I can confirm there's nothing special on my machine :)17:59
m_3_SpamapS: will do17:59
SpamapSm_3_: I'm also interested in seeing what happens when I 'bzr pull' from the aliased branch18:01
jcastrohazmat: speaking of, we might want to fix the charts ^^^^18:01
SpamapSm_3_: so let me know when you're done18:01
m_3_SpamapS: also my notes say it barfed on zookeeper, statusnet, nova-compute, nova-cloud-controller, rabbitmq-server18:01
m_3_I'll do nova-compute now... one sec18:01
bkerensaSpamapS: ok balloons stuff is up18:02
SpamapSbkerensa: woot!18:02
bkerensaI thought there was much more to all that18:02
SpamapSI think the website refreshes every 15 min or maybe 60 min, not sure18:03
m_3_SpamapS: http://paste.ubuntu.com/967444/ I use this machine for bzr/lp all the time, so it has my lp id / keys18:04
SpamapSm_3_: are you ssh'd to it? that breaks18:07
SpamapSI don't know why18:08
m_3_probably... lemme see if I can turn that off18:08
SpamapSbut launchpadlib won't work if you ssh into a machine that also has your lpcreds in gnome keyring18:08
m_3_oh... I see18:08
m_3_yeah, other desk one sec18:08
SpamapSyeah, its dumb18:08
SpamapSI'm sure there's a way to get it to ignore the gnome keyring creds, but I don't know what it is18:09
imbrandonworks fine if osx keyring has them heh18:09
imbrandoni;m sure it dont look in the osx keyring on osx tho18:09
SpamapSimbrandon: does lplib work on os x?18:12
imbrandonuse it all the time18:14
imbrandonits how bzr knows who i am when pushing and such18:14
imbrandonlike i said pretty sure it ignores the osx keyring tho18:15
balloonshmm.. ok, how do I undeploy a charm if you will?18:23
SpamapSballoons: juju destroy-service foo18:23
SpamapSballoons: note that the machines are not terminated18:24
balloonsright, is destory enviroment the only way to kill a machine?18:24
balloonsor can i selectively kill off a machine?18:24
balloonsas far as I can tell, I don't see destroy-service mentioned in the docs anywhere18:25
m_3_SpamapS: ok, so I keep gettings can't determine launchpad location from bzr branch18:25
marcoceppi-relation-departed the $JUJU_REMOTE_UNIT is the unit which "departed", correct?18:25
SpamapSm_3_: you might have forgotten the 'bzr push' step?18:26
SpamapSmarcoceppi: correct18:26
SpamapSballoons: terminate-machine to terminate a specific machine18:27
m_3_nope, this was during unpromulgate... editing the .bzr/branch/branch.conf manually worked though18:27
SpamapSm_3_: OOOHHH right, I forgot a step .. ;)18:27
SpamapSm_3_: bzr push :parent18:27
m_3_SpamapS: yeah, did that18:28
m_3_but the branch it put there didn't let me unpromulgate18:28
SpamapSm_3_: promulgate just looks at the push branch , so if bzr info shows something else, thats what is wrong18:28
m_3_had to manually change it to the one I wanted18:28
SpamapSm_3_: you can tack on '--remember' to change it18:28
SpamapSyou know that makes sense18:28
SpamapSm_3_: right you have to push to the explicit name18:28
SpamapSdidn't think about that18:28
m_3_I can get the url if you want... it was +branch/..../18:28
m_3_either way... that's working... lemme promulgate the other branch18:29
SpamapSm_3_: we should also look at the charm store and see if it is listing our new ones in a while18:29
SpamapSm_3_: we might have to bump the revision file18:29
SpamapSthough actually it probably doesn't seem them cause their name is 'precise'18:29
SpamapSso the new one named 'trunk' will show up18:29
* SpamapS facepalms18:30
balloonswhen you deploy a charm, does it pull from bzr or your local files? I made changes but they aren't reflecting in my deploy.. seems like perhaps bzr plays a part here18:31
balloonsin short, if I make a change to my charm, what do I have to do before doing another test deploy from my local repo?18:32
adam_gSpamapS: those testing charms are full of little hacks that are specific to our deployment and environment18:32
m_3_SpamapS: ok, that worked... lp:charms/nova-compute points to the right place... yeah, we might have to invalidate the store cache entry18:32
adam_gSpamapS: things like wget'ing stuff from a local webserver, granting ubuntu user permission to stuff it shouldn't have, etc18:32
adam_gSpamapS: im curious, why is hte rabbit charm causing problems but hte other stacked ones are not?18:33
m_3_adam_g: they are :)18:33
SpamapSadam_g: all the ones that we had versions of in precise before the branch-distro script got run caused issues18:33
m_3_adam_g: I'll send you an email with a detailed description of what happened...18:33
SpamapSballoons: depends on how you deployed it18:33
balloonsSpamapS, haha..18:34
SpamapSballoons: if you used local: .. then the local dir is scanned for a revision file, and if it is different from the one you already have in your environment, the new charm is deployed, otherwise the one already in the env is deployed18:34
m_3_adam_g: just the lp tool we used does some special things for pre-existing target branches18:34
balloonsthat pesky revision file!18:34
SpamapSballoons: there is a switch for deploy -u, which will force the revision file to be bumped up by 118:35
m_3_adam_g: nothing about your charms/branches at all18:35
balloonsso everytime I make a change I have to bump that file?18:35
SpamapSballoons: also you can use the 'upgrade-charm' command to bump the rev and upload the new version for an existing deployment18:35
balloonshmm.. I think I'll like this deploy -u18:35
balloonsI'm just trying to test and debug the charm I have18:35
balloonsso iteratively deploying, changing, deploying18:36
balloonsI'll try the deploy -u and see if that solves my issue.. it's interesting nonetheless18:37
SpamapSballoons: one thing I do is to make the 'upgrade-charm' hook do 'stop;install;config-changed;start' so that I can just iterate with 'ugprade-charm'18:37
SpamapSactually I think that order is wrong though.. I need to change it to stop;install;start;config-changed18:37
SpamapS(or perhaps juju should just do that for me.. since it makes the most sense. ;)18:38
balloonsSpamapS, hmm.. I'd be happy to take up your best practice on this18:38
balloonslet me know :-)18:38
m_3_SpamapS: ok, so that looks good... I'll go ahead and catch the rest of the upgrade errors18:40
SpamapSm_3_: ok, I think we can avoid this at branch-distro time by renaming any 'trunk' branches in quantal to 'quantal', then running the branch-distro.. then do the mass rename from quantal->trunk18:41
SpamapSwe're also going to have to look at the problem that branch-distro *locks* all existing branches18:42
m_3_SpamapS: ah... yeah... so just rearrange the order... good idea18:42
SpamapSsince the charm store won't let us push anything except 'trunk'.. that means we can't have like, a -updates branch that we then change the pointer to18:42
m_3_SpamapS: I'm writing up the whole process so we don't forget... send it to the list18:42
SpamapSI think we have to fix the charm store18:42
SpamapSit should blindly publish anything that has an official pointer18:43
m_3_dunno... it should ignore feature branches though and only display trunk huh?18:43
imbrandonor master18:44
* SpamapS gets the hose18:44
* imbrandon about choked on my mt dew18:44
m_3_imbrandon: actually the difference between "trunk" and "master" names has saved me many times in git-bzr-ng screwups18:44
m_3_but yes... not your point18:45
imbrandonhahah same here on hg <--> git18:45
imbrandonat penton18:45
SpamapSimbrandon: http://bit.ly/IOdIgm18:49
m_3_great pic18:49
m_3_or rather clarisssssssse18:50
SpamapSm_3_: the trunk name should totally be the name it uses for publish/notpublish per-user branches. But there's no reason to apply that same rule to official branches18:51
SpamapSThe other option though, is to unlock those branches for updates18:51
SpamapSwhich I'd actually be in support of for Ubuntu as well.18:51
SpamapSBecause having different branches for different pockets is confusing and does not work well.18:51
* imbrandon like the lp:~imbrandon/charms/nginx/trunk for devel , /charms/nginx/precise for precise and /charms/nginx/oneiric for oneiric19:01
imbrandonpersonaly, thats how i do other non charm projects19:01
* m_3_ still trying to figure out what a pocket is on lp19:01
imbrandontrunk or master or whatever is the main devel branch, then named branches for stage or prod etc19:01
imbrandonin this case releases19:02
SpamapSimbrandon: lp:~imbrandon/charms/precise/nginx/trunk ...19:03
SpamapSm_3_: pocket is release, security, updates, proposed19:03
imbrandoni realize that but thats reversed19:03
SpamapSm_3_: release is the pocket assumed in the absence of a pocket ;)19:03
SpamapSimbrandon: the reason we want them to be this way, is that its not just your charm. You are well integrated with all the other charms.19:04
balloonshmm.. juju debug-log seems to have some crazy lag on it when using it in connection with wget19:04
imbrandonsure thats what the /charms/ name space does19:04
SpamapSMaking them their own little islands will fail at the de-duplication of effort that we're striving for.19:04
SpamapSimbrandon: but we want each release to work well as a whole19:05
imbrandonno no your mising a part there19:05
balloonsany idea why that might be? 2012-05-04 11:59:35,646 unit:vivo/4: hook.output ERROR: ..... .......... ....19:05
balloons2012-05-04 11:59:35,647 unit:vivo/4: hook.output ERROR: ...... .......... 38% 22.7M 7s19:05
SpamapSas the OS moves on, we want the charms to move, as a whole, with the OS.19:05
imbrandonthe release loosk for the $release banch19:05
SpamapSwhat I don't want is a bunch of "if release == oldnbusted: else ...19:05
imbrandonum no19:05
balloonsthe file downloaded minutes ago, but the debug log is still slowly scrolling through lines that look like that, giving download status updates19:05
imbrandonnot at all19:05
imbrandonwhere do you get that ?>19:05
SpamapSimbrandon: thats what will happen if we leave the release out of the url. And if we put it at the end, its purely psychological.. they won't be seen as a whole "precise" set of charms or "quantal" set of charms.19:06
imbrandone.g my drupal modules ( as well as thousands of others ) are that way, and in no way have "if release -- blah"19:06
SpamapSits entirely psychological19:06
imbrandonno no19:06
imbrandonwow no19:07
imbrandonwhat it comes down to is shared code19:07
imbrandonnotthing more19:07
imbrandonyour way causes fragmentation19:07
SpamapSprecise/nginx means precise's nginx. nginx/precise means the nginx that works on precise..19:07
imbrandonthe other allows hsared19:07
imbrandonexactly, and thats what it is19:08
SpamapSand lp:charms/nginx means "where you do dev now"19:08
imbrandonno thats where sotre releases are19:08
imbrandonno one devs there19:08
SpamapSits actually not, the store releases lp:charms/precise/nginx19:08
SpamapSand lp:charms/oneiric/nginx19:08
imbrandonstill no chared code , forces forking, is bad19:09
SpamapSimbrandon: we have a session scheduled for this actually19:09
imbrandonthus the way drupal has done it now for years just for this very reason19:09
SpamapSI'm not sure what code you want to share tho?19:09
imbrandoni seriously say we take a book from them19:09
imbrandonall of it19:09
SpamapSdrupal is a single project though19:09
imbrandonnot much is gonna chage19:09
imbrandonSpamapS: no its not19:09
SpamapSI don't know if a distribution of things loosely coupled works like a project19:09
imbrandonits 10000's of smaller ones19:09
SpamapSah ok19:10
imbrandonno i mean drupal as in every module included on drupal.org19:10
imbrandonlike 6k+19:10
imbrandonthey all follow one rule19:10
imbrandondev is done in ~/projectname/master ( its git blah , trunk here ) and then19:11
imbrandon~/prijectname/7.x branch for19:11
imbrandondrupal 719:11
imbrandonand 6.x branch for 619:11
imbrandonthat way its not forked19:11
imbrandonits the same git repo19:12
SpamapSimbrandon: btw, I forwarded your newrelic-php charm to the newrelic sales guy who contacted me. He forwarded it along to their dev/products teams.19:12
imbrandonjust a branch, so when 8.x comes out, git branch 8.x from the current dev and get to work19:12
SpamapSimbrandon: ah I think thats semantics. We're really just branching the same mainline.. lp:charms/charmname, and then we can easily merge backward to all previous releases.19:12
imbrandonand merge back into each other as its applicable19:12
imbrandonSpamapS: SWEET19:13
imbrandoni have the others ready just about too19:13
imbrandonas in python , ruby and sysmon19:13
imbrandonmore than that is gonna wait post uds19:13
SpamapSimbrandon: in fact our session that we have scheduled is about discussing whether we should automate that process by saying if the tests pass, it gets auto-pushed back to non-diverged branches19:14
imbrandonsysmon being the "main" newrelic namespace19:14
imbrandonSpamapS: yea and see its much easier to track that way19:14
imbrandonif its in the same branch named space19:14
SpamapSimbrandon: totally. I'd rather have releases improve constantly and only make it manual when we actually break stuff.19:14
imbrandonSpamapS: drupals automated testbot does it19:14
SpamapSsounds like we're already headed in the same direction then19:14
SpamapSok crap time got away from me19:15
SpamapStime to hit the road19:15
flepiedwhat are the pre-requesites to run ec2 instances ?19:15
hazmatjcastro, re charts? commit activity?19:15
imbrandonflepied: just a amazon acount iirc ( with attached cc info )19:15
m_3_SpamapS: whats the name of the tool that lp originally ran?19:16
flepiedimbrandon, I saw you need an S3 bucket at least19:16
SpamapSm_3_: branch-distro19:17
* SpamapS is gone19:17
jcastrohazmat: yeah, commit activity, remember you said it was wrong?19:19
hazmatjcastro, yeah.. it only captures 10 commits per charm19:19
hazmati'll take a look at fixing it up this weekend, at conference at the moment (mongo)19:19
flepiedI have the following error: ERROR SSH forwarding error: bind: Cannot assign requested address19:21
flepiedafter bootstrapping an ec2 environment19:26
flepiedall commands report this error...19:26
tobinCan someone help me understand what 'interface: monitor' means within a metadata.yaml file. I believe I understand how requires and provides somewhat works, but unsure what monitor means.19:27
nathwillquery: is $JUJU_RELATION_ID specific to a service unit, or is that generic to the relationship between the services?19:27
tobinFor instance, the ganglia charm has a relation name of "ganglia-node" with a interface set to monitor. Why is this needed?19:28
bkerensaimbrandon: thoughts on Cloudfront costs?19:33
victorpI am trying to boostrap an ec2 environment, juju boostrap command finishes ok but juju status gives me an invalid SSH error19:40
victorpjcastro, ^^19:43
flepiedvictorp, same error here19:43
victorpflepied, did you manage to fix it?19:43
=== nathwill is now known as nathwill_afk
victorpoh well20:04
victorpI cant get it to work20:04
victorpmaybe daviey can help20:05
flepiedgot it to work20:14
flepiedoops already gone20:14
imbrandonbkerensa: more expensive than compeditors but same as s3, so if your just serviing alteady out of s3 kinda nuts not to20:27
bkerensaimbrandon: ahh I was one it for a few because maxcdn got blocked by my host20:27
bkerensabut now its sorted... their VP had people call my host and get their ranges white listed20:27
bkerensaand then told me how much he is enjoyinh 12.0420:27
imbrandonmaxcdn = shoddy and a pita to use IMHO20:27
bkerensaimbrandon: NetDNA/MaxCDN has sponsored me for three years20:28
bkerensaand I get unlimited terabytes at no cost ;p20:28
imbrandoncool, still a PITA to use20:28
* imbrandon dont like origin pull 20:28
bkerensayou like push zones?20:29
imbrandonand automation, yes, then i'm in control20:29
imbrandonor tranparent like cloudfront or cloudflare20:30
bkerensaI think at the end of the year Im going to ask NetDNA to end my MaxCDN sponsorship and transition me to CloudCache20:31
imbrandonreally i'm more of a fan of abstraction tho, provider transparent20:31
imbrandonthus when juju grows cdn wings i'll be happy20:31
marcoceppiMaking upstreams put their downloads behind SSL: https://twitter.com/#!/marcoceppi/status/198139725402488833 https://twitter.com/#!/johnmark/status/19850964860365619420:31
imbrandonmarcoceppi: nice20:32
=== nathwill_afk is now known as nathwill
victorpflepied, hey - got it working21:52
_mup_Bug #994855 was filed: Error messages are logged twice in the command line <juju:New> < https://launchpad.net/bugs/994855 >21:53
_mup_Bug #994863 was filed: juju needs ssh keys in launchpad but we don't tell the user that. <juju:New> < https://launchpad.net/bugs/994863 >22:08

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