/srv/irclogs.ubuntu.com/2012/07/11/#juju.txt

=== txwikinger2 is now known as txwikinger
imbrandonhttp://www.brandonholtsclaw.com/blog/2012/how-not-to-fail-at-the-cloud/00:56
ajmitchimbrandon: you're not allowed to just leave it hanging like that :)01:04
imbrandonhahaha01:10
imbrandondude that alone took like 2 days to write01:11
imbrandonheh01:11
=== izdubar is now known as MarkDude
imbrandonwow, my blogs starting to get a little traffic too, went to go check the numbers for last month ... 17,391 pageviews01:20
imbrandon( that cant all be me hitting refresh hahahaha )01:20
jk-hi all03:49
jk-I'm messing around with juju using a local environment, is there any way I can specify which apt mirror to use?03:52
lifelessno03:59
lifelessthe local provider brings up an apt-cacher-ng automatically03:59
lifelessand there is AFAIK no knob to tweak this.03:59
lifelessthere is an experimental patch to let you set an explicit proxy, but it only affects the first node spawned, last I checked.04:00
lifelesshazmat would know more, but hazmat should be sleeping right now ;)04:00
* hazmat should be sleeping :-)04:00
jk-lifeless: so i see smoser has done this: https://bugs.launchpad.net/cloud-init/+bug/89768804:00
_mup_Bug #897688: cloud-init should support apt-proxy and hostname based mirror selection <cloud-init:Fix Released by smoser> < https://launchpad.net/bugs/897688 >04:00
jk-but I have no idea where cloud-init fits in here04:01
hazmatjk-, cloud-init is how juju initializes machines, but it doesn't directly expose all of cloud-inits config to the user04:01
hazmatat the moment its not supported re mirror selection04:01
jk-hazmat: ok, cool04:02
jk-hm, what *is* cloud-init? I don't have any executable with that name.04:06
lifelessit runs in cloud images only04:06
jk-oh, right.04:06
lifelessthe cloud provider invokes it automatically right after the image comes up04:06
jk-gotchya, thanks.04:07
lifelessin principle, depending on the cloud it either calls back to get data from an instance metadata API, or has data injected into it via the filesystem04:07
lifelessI think pragmatically they all use the same instance metadata API call though.04:07
lifelessas doing heterogeneous file system injection is just messy04:07
lifelessits responsible for things like setting the ubuntu users ssh key etc etc04:08
=== bcsaller1 is now known as bcsaller
=== cereal_b1rs is now known as cereal_bars
SpamapSjimbaker: sorry I was afk way longer than I expected to be. Yes trunk has been open since 0.5.1 released04:33
SpamapSimbrandon: the way mysql sets up replication is a bit naive, and not suitable for use on an insecure network (need to transfer the db snapshot via https) but the general idea is, I think, sound.04:34
=== almaisan-away is now known as al-maisan
imbrandoncould someone fix the charmstore ( specificly charmload ) or at least be bothered to confirm the bug report that is reporduceable every single time ( even in the official store as we're missing charms )10:51
imbrandonits been reported over 3 weeks now and not even a "ok we'll get to it ... once someone else learns how to program in go" or anything ... kinda anoying the store has been broken all this time10:52
* imbrandon goes to piss-off time doing something else ... 10:53
=== al-maisan is now known as almaisan-away
wrtpimbrandon: which bug are you talking about?11:02
imbrandonhttps://bugs.launchpad.net/juju-core/+bug/101570011:03
wrtpimbrandon: how are you running it?11:20
imbrandonthere is only one way iirc "charmload 127.0.0.1"11:21
wrtpimbrandon: the version of charmload i have here expects a config path as its first argument11:24
imbrandonhrm ...11:24
imbrandoni am using charmstore from ppa:juju/pkgs11:25
imbrandonis there another ?11:25
wrtpimbrandon: i'm just looking at it. there's a config file in the package dir which i'll try using11:25
imbrandonkk11:26
imbrandonroot@server-1339205906-az-1-region-a-geo-1:~# charmload11:26
imbrandonusage: charmload <mongo addr>11:26
imbrandonwrtp: i can give you ssh to that box if it helps11:26
wrtpimbrandon: i'm interested to see if i can reproduce your behaviour here. just need to work out how to run mongodb :-)11:27
imbrandonheheh, kk , just run "mongod &" is simplest11:27
wrtpimbrandon: is 60017 the default port number?11:28
imbrandonyup11:28
imbrandonerr11:28
imbrandon2701711:28
imbrandonlemme look11:28
wrtpimbrandon: ah, looks like i need to give it a data directory11:29
imbrandonWed Jul 11 11:29:42 [initandlisten] MongoDB starting : pid=7948 port=27017 dbpath=/data/db/ 64-bit host=server-1339205906-az-1-region-a-geo-111:30
wrtpimbrandon: ok, seems to be running ok now.11:30
wrtpimbrandon: i'll see if i see your issue11:31
imbrandoncool kk, yea after that , the first charmload will finish11:31
imbrandonand every attemot after will fail11:31
imbrandonat that same place11:31
imbrandonor should11:31
imbrandoni has on 2 diff boxes here11:31
imbrandonreliably11:31
imbrandonbtw the first charmload will take a good little while, so make some tea or get lunch11:32
imbrandonhehe11:32
imbrandonwrtp: btw thanks for poking at this :)11:33
imbrandonit has been very very anoying11:33
wrtpimbrandon: by "a good little while" do you mean an hour or 8 hours?11:33
imbrandonlike 211:33
imbrandonjust under 2 iirc11:34
wrtpimbrandon: by "every attempt after", do you mean when you run charmload again?11:34
imbrandonit downloading every charm and putting them into gridfs11:34
imbrandonand yup11:34
imbrandonwhen you rerun it its supose to update the charms with new ones if there are any11:34
imbrandonwhen you re-run it , it only takes like 2 minutes11:35
imbrandononly this first run takes a long time11:35
imbrandonits using lp api to getBranchTips iirc11:36
imbrandonand checks for new ones against that json return from what i understand11:36
wrtpimbrandon: feels to me like it could be doing more stuff concurrently. but maybe it *is* maxing out my network.11:37
imbrandonheh, no i agree11:37
imbrandoni think its all serial11:37
imbrandonnot 100% certain tho11:38
imbrandonwhen i run it , i run it on a HPCloud server with a fat pipe11:38
imbrandonso i dont hink its network that makes it slow11:39
imbrandoni think it just processes one at a time, for all 160ish of them11:39
imbrandonwrtp: brb gotta run for like 1 hour, but i'll be round after that all day, should u need something else from me11:41
wrtpimbrandon: k11:41
=== almaisan-away is now known as al-maisan
=== al-maisan is now known as almaisan-away
=== almaisan-away is now known as al-maisan
* imbrandon returns12:23
wrtpimbrandon: ok, i've seen the bug.12:40
wrtpimbrandon: i didn't need to run charmload twice12:40
wrtpimbrandon: i will have a look into it12:40
wrtpimbrandon: looks like it's something to do with the terracotta charm in particular12:41
imbrandonwrtp: rockin12:42
imbrandonthanks a ton12:42
wrtpimbrandon: np. BTW i've now got a 15 line standalone program that reproduces the bug: http://paste.ubuntu.com/1086121/12:46
imbrandonoh cool12:47
imbrandonthat might help me learn a bit of go :)12:47
wrtpimbrandon: it's not a hard language12:47
imbrandonyea i've been poking at it the last 2 days or so12:48
imbrandonjust picking up the ultra basics so far, but most new langugues are just learning the packages12:48
imbrandonsynatax is syntax12:48
imbrandon:)12:48
wrtpimbrandon: yeah. actually the idioms are a bit different too - the lack of subtyping and the way packages are structured makes a significant difference12:49
wrtpimbrandon: but, yeah, as always, the packages are the main thing12:49
wrtps/packages/standard packages/12:49
imbrandonhehe yea12:52
wrtpimbrandon: ok, i've got a fix. will add a test and propose it soon.12:59
imbrandonwrtp: wow, urock13:01
imbrandonty13:01
wrtpimbrandon: np13:03
jml juju deploy ubuntu13:27
jml2012-07-11 14:27:31,259 INFO Searching for charm cs:precise/ubuntu in charm store13:27
jml2012-07-11 14:27:31,942 ERROR Error processing 'cs:precise/ubuntu': entry not found13:27
jmlhttp://jujucharms.com/charms/precise/ubuntu13:27
jmlwhat am I doing wrong?13:28
imbrandonjml: nothing13:28
imbrandonits broken, you need to grab a local copy of the charm, that is part of the bug that wrtp just got a fix for13:29
jmlimbrandon: ok, thanks.13:29
imbrandonin the charmstore and will be fixed $sometime but still needs code review etc13:29
wrtpimbrandon, jml: proposal to fix the bug: https://codereview.appspot.com/634410513:51
imbrandonwrtp: looks like already taped it too , i def owe ya a beer in copenhagen :)13:56
* wrtp is always willing to accept a beer :-) are you in copenhagen?13:58
imbrandonnope, but thats likely the next time i'll get to meetup with ya14:04
imbrandon12.10 uds14:04
wrtpimbrandon: ok, the fix is in. i guess it'll take a while to propagate to the ppa. i haven't actually tested charmload again yet :-)14:04
imbrandonnp, i'm actually compiling it local how to try14:04
wrtpimbrandon: cool, i didn't know the location had been confirmed14:05
imbrandonwell trying to if i can find glang-tip14:05
imbrandonwrtp: ahh i'm not 100% for sure, thats what the consensus was last i heard tho14:05
wrtpimbrandon: if you've got golang installed, you should be able to do: go get launchpad.net/juju-core/store/charmload14:06
imbrandonahh cool,i was trying to rebuild the package14:06
imbrandonyup i do14:06
wrtpimbrandon: or possibly: go get -u ... if you've already installed the juju stuff under Go.14:06
wrtpimbrandon: (get -u goes to the web site even if there's already a local version)14:07
imbrandonoh now thats cool14:08
* imbrandon forgives some of golangs verbosness :)14:08
imbrandonbrb grabbing a soda, but i assume its compiling now14:10
imbrandonbrb14:10
=== zyga is now known as zyga-food
imbrandonwrtp: where did it put the binary14:14
imbrandonheh14:14
SpamapS"where'd WHO go!?"14:15
wrtpimbrandon: if you've got $GOPATH set then it's in $GOPATH/bin14:16
wrtpimbrandon: otherwise it's in $GOROOT/bin14:16
imbrandonk14:16
wrtpimbrandon: unless you've got $GOBIN set14:16
imbrandonno likely14:16
imbrandonnot*14:16
=== salgado is now known as salgado-brb
wrtpimbrandon: what does go list -f '{{.Dir}}' launchpad.net/juju-core/store/charmload14:17
wrtpprint?14:17
imbrandonroot@server-1339205906-az-1-region-a-geo-1:~# go list -f '{{.Dir}}' launchpad.net/juju-core/store/charmload14:18
imbrandon/usr/lib/go/src/pkg/launchpad.net/juju-core/store/charmload14:18
imbrandonahh ok14:18
imbrandonyea i have no $GO* env set14:18
imbrandonheh14:18
imbrandonheya SpamapS :)14:18
imbrandonwrtp: ok thats a dir14:20
imbrandonwith the src14:20
imbrandonahh got it14:21
wrtpimbrandon: yeah. if you want stuff to be installed in your home, then set GOPATH to e.g. $HOME/src/go14:21
* imbrandon headdesks14:21
wrtpimbrandon: in your case, you can run /usr/lib/go/bin/charmload14:22
wrtpimbrandon: i think14:22
imbrandonahh cool , yea i should set all that up today , zomg all my ram will be taken by env vars, you should see my "# env" printout14:22
imbrandonheh14:22
wrtp:-)14:22
imbrandonyup, now i got to find that config14:22
wrtpimbrandon: there's one in the charmload directory14:22
imbrandonahh rockin14:23
imbrandonok loaded up, looks good so far14:24
imbrandonno idea why it dosent use the default 27017 port14:24
imbrandonsilly store14:24
=== salgado-brb is now known as salgado
imbrandonwrtp: woot works perfect14:25
wrtpimbrandon: cool.14:25
wrtpimbrandon: i've been chugging charmload along too, and it hasn't encountered any further problems...14:25
* wrtp checks14:25
imbrandonnext question is SpamapS once that lands in the PPA how do get store.juju.ubuntu.com updated ? or whatever the url is14:26
wrtpimbrandon: nope, still working14:26
imbrandonsweet14:26
wrtpimbrandon: no idea, sorry :-)14:26
imbrandonno worries, liky its automatic OR justa  simple IS ticket14:27
imbrandonSpamapS: woot, looks like most if not all the ones on the MIA list are now loading14:29
imbrandoni've seen a few come by already14:29
SpamapSimbrandon: you made some fixes?14:29
imbrandonnot me, wrtp did14:29
SpamapSahh14:29
imbrandoni just helped debug14:29
SpamapSIt needs to get merged into juju and then we have to get our IS people to deploy the new version14:30
SpamapSwrtp: any chance you added HTTPS ? ;)14:30
imbrandonyea its merged , already revied by gustavo14:30
imbrandonreviewed14:30
SpamapSah ok we just have to bump IS then14:30
imbrandonand should be in PPA soonish14:30
niemeyerSpamapS: Btw, I apologize for being behind on the API to get errors14:30
wrtpSpamapS: i just did the fix. no new features...14:30
niemeyerSpamapS: I'll sort that out14:30
niemeyerSpamapS: It's really me being lazy.. the errors are even in the database already14:31
imbrandonoh speak of the devil 0/14:31
imbrandonSpamapS: but i did get a little peek into the go code world , so maybe that will nudge me to hunker down on it this week :)14:32
niemeyerimbrandon: Oh, neat14:34
niemeyerimbrandon: What's your take on it?14:34
imbrandonniemeyer: much more verbose than i'm used to , but def something cool, i'm really looking forward into getting deep enough to play with some concurency14:35
niemeyerimbrandon: Oh, interesting.  Verbose in which sense?14:36
imbrandonjust than lang its self, i've been doing ruby,js,php far too long :)14:36
imbrandonactually its seems alot like backwards js, but thats just a feeling, dont really know how to explain myself there14:37
imbrandonnot in a bad way tho :)14:37
=== zyga-food is now known as zyga
imbrandonas in the loops in logic seems reversed , much more like c14:37
niemeyerimbrandon: Ah, yeah, one of the loop forms is close to C indeed14:39
=== al-maisan is now known as almaisan-away
niemeyerimbrandon: Anyway, happy to see you poking with that.. please ping if you need anything14:39
imbrandonsure thing :)14:40
SpamapSniemeyer: no worries. We're all behind on everything. If you could work on that thing to make the world turn slower so we get 25 hours a day that would help. ;)14:55
niemeyerSpamapS: :-)14:57
=== zyga_ is now known as zyga
jimbakerSpamapS, doublechecking: is it ok to merge in branches into juju trunk at this time?15:51
SpamapSjimbaker: lp:juju has been open since 0.5.1 released15:52
SpamapSjimbaker: and there's no plan currently for honolulu's release15:53
jimbakerSpamapS, ok15:53
SpamapSjimbaker: still broken on natty and oneiric :(15:55
imbrandonwe care about natty and oneiric ?15:56
SpamapSimbrandon: I don't know for sure. I think we probably should since AFAIK OMG is still on oneiric, isn't it?15:56
imbrandonnah15:56
imbrandonits on precise15:56
imbrandonlast major redo15:57
imbrandonerr redeploy15:57
SpamapSI'd be happy to let go of natty.. but oneiric we still have an active charm series for15:57
imbrandonyea i dont mind much either way. but just seems kinda odd as there isnt any uptodate charms for natty iirc15:58
SpamapSnatty is only about the client15:59
SpamapS0.5.1 works on oneiric..16:00
SpamapSand natty actually16:00
SpamapSso we can just say those are the last supported releases on natty/oneiric16:00
imbrandonbut yea i moved it to precise a month or so ago when the last big redeploy in hopes there would be a stable php 5.4 i could toss on there at some point16:00
imbrandonfor precise16:01
SpamapSimbrandon: there is..16:01
imbrandonbut not moved to 5.4 yet, just was planning16:01
imbrandonyea at the time there wanent tho16:01
SpamapShttps://launchpad.net/~ondrej/+archive/php516:01
imbrandonthat had no apc16:01
imbrandona month ago16:01
SpamapSimbrandon: tho that may be somewhat experimental16:01
jimbakerSpamapS, do you have the buildd log for natty/oneiric?16:01
imbrandonyea apc segfaulted on that untill like 2 weesk ago16:01
SpamapSjimbaker: https://launchpadlibrarian.net/109247690/buildlog_ubuntu-oneiric-i386.juju_0.5.1%2Bbzr555-0juju1~oneiric1_FAILEDTOBUILD.txt.gz16:01
SpamapSjimbaker: https://launchpadlibrarian.net/109247508/buildlog_ubuntu-natty-i386.juju_0.5.1%2Bbzr555-0juju1~natty1_FAILEDTOBUILD.txt.gz16:02
SpamapSimbrandon: you might consider a no-change rebuild of quantal's packages too16:02
imbrandonyea thats exactly what i was planning once you told me you uploaded it16:02
marcoceppiIs there any way to indicate a charm requires a subordinate?16:02
jimbakerSpamapS, so the common failure is this one, juju.unit.tests.test_lifecycle.UnitLifecycleTest.test_remembers_relation_removes16:03
SpamapSlooks like we need to merge w/ Debian actually. hm16:03
imbrandonheya marcoceppi 0/16:03
jimbakerok, that's a useful place to start16:03
marcoceppio/ imbrandon et al16:03
imbrandonmarcoceppi: umm would requires: charmname scope: container16:03
imbrandonnot work ?16:03
marcoceppinot sure16:04
SpamapSjimbaker: install ubuntu-dev-tools, use 'mk-sbuild oneiric' to create a buildd-like chroot. Use 'schroot -c oneiric-amd64 -u root' to enter the chroot and you can install build-deps, try the test suite, etc. etc.16:04
imbrandoni dont think its enforced but i think that would be the way16:04
marcoceppihaven't tried, wasn't sure if there was a way to indicate that a "main charm" required a sub-ordinate16:04
jimbakerit looks like the problem with natty is that the yaml format is slightly different (presumably libyaml difference)16:04
SpamapSmarcoceppi: ahoy!16:04
marcoceppior at least make that more obvious aside from descriptions16:04
imbrandonright16:04
SpamapSmarcoceppi: there are no required subordinates.16:04
negronjl'morning all16:04
imbrandonyea i'm not sure either, but that seems like it right off the top of my head16:05
marcoceppiSpamapS: Okay, so if a charm requires a suboridnate you're doing it wrong?16:05
SpamapSmarcoceppi: part of the way it figures out which side is primary/sub is the provides (primary) and requires (subordinate)16:05
marcoceppiSpamapS: ah, that makes a lot more sense16:06
SpamapSmarcoceppi: possibly, but subordinates are a little clunky for anything except their intended use case (container-aware monitoring/management).. can you provide more details?16:06
marcoceppiMulti-site wordpress via subordinates16:06
imbrandonSpamapS: so like     requires: loggin interface: blah scope: container ? is not right16:06
SpamapSmarcoceppi: I'm starting to think we should think about "building" charms using my splice tool for inheritance.16:06
SpamapSoh hm16:07
SpamapSno thats different16:07
imbrandonmarcoceppi: ahh i ran into the same issue with nginx and sub sites16:07
jimbakerSpamapS, oddly, i cannot run  juju.unit.tests.test_lifecycle.UnitLifecycleTest.test_remembers_relation_removes by itself on precise16:07
SpamapSimbrandon: right, I don't know what that would do, but probably not what you think. :)16:07
jimbakerso that's a pretty good sign something is wrong with that test16:07
imbrandonnot found a good DRY solution16:07
SpamapSjimbaker: very interesting16:08
SpamapSimbrandon: the only (poor) DRY solution is to stuff everything in a package in a PPA16:08
marcoceppiSpamapS: what I was thinking, if there's no subordinate then just roll-out with wordpress, but the problem is preserving that "one instance" when you start adding more subordintaes of wordpress sites16:08
marcoceppiwhich leads me to believe I should be doing a wordpress and wordpress-mu charm16:08
SpamapSimbrandon: and even then you still have to RY on the metadata16:08
imbrandonyea16:08
jimbakerSpamapS, when i tried the juju.lib.format tests, i was doing this on oneiric. i wasn't even thinking of natty! :) so i will revisit with natty, but the buildd log basically tells me what i need to know, there's a slight incompatibility there16:09
SpamapSmarcoceppi: another way to go is to just have the charm morph itself from single -> multi on attachment to the mu relation16:09
imbrandonmarcoceppi:oh yea, thats right its not like drupal where yoy can just drop a new site in the config dir16:09
imbrandonSpamapS: no, wordpress its self16:09
marcoceppiSpamapS: right, but then the problem is preserving that one first install. Then how do you update the themes and plugins for it, it's not in a charm repo anywhere16:09
SpamapSmarcoceppi: I have the same problem with ceph actually. Its hard to know what something is intended to be until after all the hooks (relations, et.all) have fired at least once16:09
marcoceppiI think I'm going to skip multi-site for now16:10
marcoceppiIt was a cool idea, but it's really starting to cause logic circles for me16:10
SpamapSjimbaker: if we need to just run a subset of tests on natty thats fine16:10
SpamapSjimbaker: Ideally the test would detect the incompatibility and skip itself tho16:11
SpamapSmarcoceppi: probably a good idea16:11
marcoceppicool, I'll strip that out in to a new branch16:11
jimbakerSpamapS, yeah, let's just fix the test16:12
jimbakeror better yet fix the code16:12
jimbakeri'm sure i can workaround this minor incompatibility16:12
SpamapSjimbaker: the idea is not to spend too much time fixing server-only code for natty16:13
SpamapSjimbaker: we only want natty users to be able to use juju as a client.. :)16:13
SpamapSin lucid I don't even run the test suite16:14
SpamapSthe client "might" work ;)16:14
SpamapSbut juju is basically python 2.7 only16:14
jimbakerSpamapS, this possibly can impact client-level code16:15
jimbakersince they can observe the yaml formatting being used16:15
SpamapSjimbaker: ok, let me be more clear. Priority == low16:16
jimbakerSpamapS, but on the other hand it does seem unlikely since it only fails here, not in similar tests that actually ensure what the client sees16:17
jimbakerSpamapS, so given that those tests are robust and cover this case at the client level, i think we can skip this test on natty16:17
jimbakerin any event, i'm more concerned about the lifecycle test, since that seems to be broken across the board, but in a weird way16:18
jimbakermost likely it's impacted by a data race16:19
=== salgado is now known as salgado-lunch
SpamapSjimbaker: thanks for looking16:23
jimbakerSpamapS, np, sorry it took so long to coordinate on the specifics here16:23
imbrandonwrtp: charmload completes 100%16:26
imbrandonwoot16:26
imbrandonwhen did you say it would hit the ppa ( so i know when to bug SpamapS to bug IS ) heh16:27
wrtpimbrandon: yeah, it completed for me too16:28
imbrandonrockin16:28
wrtpimbrandon: niemeyer would be a better person to ask about the ppa16:28
imbrandonkk, but its in the trunk now so if ppa were to build it would go ?16:28
imbrandonniemeyer: ^^ ?16:28
SpamapSI suspect this recipe needs to be run: https://code.launchpad.net/~niemeyer/+recipe/charmstore16:28
SpamapSBuilt on request16:29
SpamapSniemeyer: ^^16:29
imbrandonahh cool, please :)16:29
SpamapSoh wtf google.. [tab] on results page should not take me to nav bar.. 1st result *please*16:31
imbrandonheh16:32
imbrandonSpamapS: i suspect IS will need more than a bump too, as before ( as in the current package ) runs with "charmload <mongo ip>" and the new one runs with "charmload <config path>" config = yaml with mongo ip:port16:33
SpamapSimbrandon: *DOH*16:37
marcoceppiWhat's charmload?16:49
=== salgado-lunch is now known as salgado
imbrandonmarcoceppi: the charmstore16:57
imbrandonwell what loads the charms from LP into the charmstore16:57
niemeyerSpamapS, imbrandon: Will do16:59
dpb___Can juju associate reserved ips to instances?17:25
SpamapSdpb___: no it hasn't abstracted that yet17:26
SpamapSdpb___: but you can use the API to do that17:26
SpamapSdpb___: this does cause some issue if 'public-address' is used in the charms. but that is actually fairly rare17:27
dpb___SpamapS: oh?  Is there a pointer for how to do that?17:27
SpamapSdpb___: euca-associate-address (or ec2-associate-address if you prefer big slow tools ;)17:29
dpb___SpamapS: ooh, I see what you mean, ok17:37
=== fenris_ is now known as Guest10826
=== Guest10826 is now known as ejat
jcastroadam_g: http://askubuntu.com/questions/161731/using-juju-with-private-openstack-cloud-deployment17:47
jcastroor anybody?17:47
adam_gjcastro: answering.. i think the IP address issue should be resolved once he's attached a floating IP, but the ability to insert user defined config into juju nodes' cloud-config would solve his second issue17:54
jcastrocool17:54
=== bkerensa_ is now known as bkerensa
tncardosoIs there a way to increase the virtual machine HD size when running with -e local?18:03
bkerensaadam_g: I guess Ill be seeing you next week ;)18:04
jcastronegronjl: hey does drawbridge use mongo or mysql in the backend?18:08
MarkDudeIs there a wiki page for Juju on Fedora?18:09
* MarkDude is heading to OSCON and CLS-18:09
MarkDudeyou gonna be there jcastro ?18:09
jcastroyeah18:09
MarkDudeCool18:09
adam_gbkerensa: ya, for sure18:09
SpamapStncardoso: local is not a VM, its a container..18:10
SpamapStncardoso: you can mount /var/lib/lxc somewhere larger if you want18:10
MarkDudeLets get a photo op for it, I want to go next step and get publicity, and maybe have Nixie Pixel put sumthin' about it in one of her videos she is making there :)18:10
* SpamapS would love to be at OSCON.. one of the best confs18:10
bkerensaMarkDude: I'm trying to find someone to take over the Ubuntu Booth for me 90% of the time ;)18:10
MarkDudeGet you in front of Fedora booth,18:10
MarkDudePhil will be there, he is sleeping on the floor of our Fedora room18:11
bkerensalol18:11
MarkDudeWe could also just have some Fedorans in front of Ubuntu Oregon booth18:11
bkerensayour water and towels will be gone18:11
bkerensa:)18:11
MarkDudeWhatever18:12
bkerensaMarkDude: Finn is coming to and Nathwill18:12
bkerensaso it should not be a problem18:12
MarkDudeHe will be our *token Ubuntu guy*18:12
tncardosoSpamapS: If I log in the container and run 'df' I get 20Mb filesystem, this is making it harder to test my charms18:12
MarkDudeWe will order him extra towels and water- remember we are NOT staying at Motel618:12
MarkDude:D18:12
MarkDudeDespite your urging during funding meeting- which was pretty EPIC trolling on your part.18:13
MarkDudeGood stuff, people were amused18:13
* MarkDude too18:13
MarkDudeIf you do prank the Fedora booth, make sure we get a good photo op18:14
MarkDudeWe are planning to sorta troll you by offering you a bit of our table space to put some Ubuntu SWAG18:14
MarkDudeSince we have some space that is18:14
MarkDude:D18:14
SpamapStncardoso: that means /var/lib/lxc is on a 20Mb filesystem18:17
SpamapStncardoso: mount -o bind /mnt/somewhere/big /var/lib/lxc18:17
tncardosoSpamapS: Ok, I will try that, thanks18:18
jcastroMarkDude: there's no wiki page for it, there's a page for it we point to on github tho18:21
MarkDudeFair enough, ty18:21
MarkDudeLooking forward to seeing you there- CLS also?18:22
jcastroI'm in the middle of planning a booth so I can't do CLS, really wanted to though18:22
jcastroer, a move.18:22
jcastroMarkDude: hey those RPMs look fresh, anyone test these lately?18:23
jcastroother than brandon I mean18:23
MarkDudeWell no18:23
MarkDudethats the part of publicity18:23
MarkDudeHonest answer is F17 sorta sucks right now18:23
MarkDudeSo many are still on F16- or even F1418:24
MarkDude:)18:24
MarkDudeTrue story.18:24
jcastrook so we just keep pushing these and when you guys are set you'll let us know?18:24
MarkDudeYep18:24
jcastroor are you basically doomed until F18?18:24
MarkDudeThats WHY I want to get some publicity18:24
MarkDudeOr maybe F1918:24
MarkDudeWe are in the process of killing Gnome 318:25
MarkDudeThat will take a while ago18:25
bkerensaSpamapS: You know about LP Team running into issues with charm-tools? https://code.launchpad.net/~yellow/charm-tools/trunk/+merge/10155418:25
SpamapSbkerensa: yeah, I really need to just sit down and do this. Perhaps today18:26
bkerensaSpamapS: yeah I think they thought I was the guy for that18:27
bkerensa;)18:27
bkerensawhich is clearly not the case18:27
dpb___I'm trying to do some hook debugging.  https://juju.ubuntu.com/docs/write-charm.html  But when I run something like config-get, I'm not in a juju context (no environment vars set).  How do I load all that correctly?18:42
dpb___i.e., I ran juju debug-hook, I'm in the remote byobu session in terminal 0, and I don't have any environment set.18:43
SpamapSdpb___: 0 is not really useful18:47
SpamapSdpb___: you need to change a config setting18:47
SpamapSdpb___: so config-change is executed18:47
SpamapSconfig-changed rather18:47
dpb___oh I see, and then I will get in real time something.18:47
* SpamapS thinks we should print that out in window 0 actually18:47
dpb___let me try18:47
dpb___SpamapS: ok, and this leads me to wonder how I debug the initial install attempt?18:57
imbrandonSpamapS: i think we should just setup an environment there19:00
SpamapSdpb___: juju deploy foo ; juju debug-hooks foo/019:01
SpamapSdpb___: there's a need, IMO, to have a juju deploy --debug-hooks foo19:01
SpamapSimbrandon: there's context missing in the agent tho19:01
dpb___SpamaS: got it.  makes sense. thanks much.19:01
SpamapSimbrandon: its possible that config-get and unit-get can be made to work w/o context19:01
imbrandonrefire the config-changed, or make a special context for it19:01
imbrandonyea19:01
SpamapSimbrandon: the env being up for things that make sense would be useful tho19:02
=== fenris is now known as Guest42115
imbrandonright19:02
imbrandonreally there could be a "dead" hook19:02
imbrandonor something19:02
imbrandonor hell a hook/debug19:03
* imbrandon waits for another gold star. or a green one19:03
SpamapSactually I do think we should be able to know when debug is set somewhere so we can increase charm log verbosity19:03
SpamapSbut juju-log is supposed to help w/ that19:03
imbrandonit does a little, but like the case i always find myself in ...19:04
imbrandoni want to work on a charm, everything is deployed nice19:04
imbrandoni run debug-hooks19:04
imbrandoni cange a config19:04
imbrandonthats about useless19:04
imbrandonthen i give up and just put the hook i'm19:05
imbrandonworking on at the bottom of upgrade charm19:05
imbrandonand run upgrade charm over and over tuill i get what i want19:05
imbrandonpain in the A** but it does the trick19:05
imbrandonnot really found a better workflow19:06
imbrandonwould be super cool if i could run debug hooks as now19:06
imbrandonbut THEN19:06
imbrandonmaually fire any hook i wanted19:07
imbrandonfrom juju19:07
imbrandonso juju --retry install19:07
imbrandonor whatever19:07
imbrandonfrom another console19:07
SpamapSimbrandon: the upgrade-charm loop isn't all that awful. I put myself in it all the time. ;)19:08
SpamapSimbrandon: you can at least juju resolved --retry to get a failed hook to try again19:08
imbrandonit is as there is no context19:08
SpamapSimbrandon: thats ok, because you can then write your relation hooks to use relation-ids and be more useful :)19:09
imbrandonright, but i want to fire specific hooks19:09
imbrandonhahah yea NOW i can19:09
SpamapSimbrandon: but yeah, I think window 0 should be able to force fire a hook19:09
SpamapSrun-hook foo19:09
imbrandonyea19:09
* SpamapS opens a wishlist bug for that19:09
imbrandoni would kiss whom coded that ( its a threat )19:09
imbrandonhahah19:09
imbrandonSpamapS: think we could rangle jitsu into doing it ?19:11
SpamapSimbrandon: no19:11
imbrandonk19:11
_mup_Bug #1023565 was filed: debug-hooks window 0 should be able to force hooks to execute <juju:New> < https://launchpad.net/bugs/1023565 >19:11
SpamapSimbrandon: perhaps, but I don't think we should get too fond of having jitsu poke zk to do things19:11
negronjlSpamapS: why not?19:11
imbrandonhahah but its the crazy ground19:11
SpamapSbecause ZK will be hidden from us19:12
imbrandon:)19:12
SpamapSand may change layout19:12
SpamapSor even turn into something else.. like mongodb ;)19:12
imbrandonthats the case with anything , the api may change too19:12
negronjlSpamapS: lol19:12
imbrandoni youd rather not see jitsu do it i'm good with that but yea thats kinda the point i was told jitsu was for , crazy stuff that shouldent be done :)19:13
imbrandonheya negronjl 0/19:13
negronjlimbrandon: o/19:14
SpamapSimbrandon: no, the API will not change once it is set19:14
SpamapSimbrandon: its about time investment tho19:14
SpamapSimbrandon: investing time in that is investing in something that will die soon19:14
jcastrohey SpamapS19:15
jcastroSpamapS: http://omttd.blogspot.com/2012/07/configuring-nfs-on-ubuntu-in-amazon-ec2.html19:15
imbrandonwell ok , was kinda joking till now, but here is my take, good or bad or whatever, no matter what ppl say Go is not ready, its not even in an alpha state to be used by nuts-o-ppl and so time investment imho isnt an issue19:15
imbrandonnot from this side of the fence19:15
jcastroSpamapS: this would be a nice thing to blog about, doing it the juju way, what do you think?19:16
SpamapSimbrandon: its your time, do what you want with it :)19:16
SpamapSI, however, am not on my own time.. ;)19:16
imbrandonSpamapS: right :)19:16
SpamapSjcastro: thats short enough... there's no real win for juju there19:16
jcastrobooo subordinates ftw.19:17
imbrandonthere already is a juju nfs suborinate and honestly the juju way would be longer:)19:17
imbrandonmaybe better in the long run for them but longer19:18
jcastroit wouldn't be longer, just the first time, after that if there's a relationship in place, automatic19:18
imbrandonright, thus long run better19:18
jcastrobut I see what clint is saying, find something more complicated to care about than NFS.19:18
SpamapSthe juju way is only better for everything *after* that blog post19:18
imbrandonyea, see the bottom of my last blogpost19:18
imbrandonwanna help ?19:18
SpamapSlike after that you probably want to use it to store uploads19:19
SpamapSbut you also probably want HA19:19
SpamapSso juju could help setup drbd19:19
SpamapSand help add proper exports for each client you associate19:19
SpamapSjcastro: NFS is ripe for juju help.. but the bits this person blogged about are.. frankly.. the obvious things19:20
imbrandonoh i'm going to a special place in hell ....19:20
imbrandonhttp://api.websitedevops.com/bin/hello.go19:20
jcastroSpamapS: well with juju I don't need the first 4 steps at all19:21
imbrandon#!/usr/lib/go/bin/gorun19:21
imbrandonpackage main19:21
imbrandonfunc main() { println("Content-Type: text/html") println("") println("<h1>Hello from GO!</h1>")19:21
imbrandon}19:21
imbrandon^^ seat right next to satans daughter at the dinner table19:22
imbrandonjcastro: yea you replace those 4 steps with http://juju.ubuntu.com/docs/getting-started.html19:23
imbrandonjcastro: to paraphrase SpamapS "deployment is *boring*" and in this case it shows, now "juju set memcache engine=twememcache" for a runing environment is sexy19:25
jcastrohey so what do they change19:25
jcastrolike, do people need to change their apps and stuff19:25
jcastrothey don't really say "drop in replacement", probably on purpose19:26
imbrandonso far nothing , its the infrstucture that is changed19:26
imbrandonnot the front end19:26
imbrandonand the infra changes is what juju is good at :)19:26
imbrandonjcastro: yea and one thing about twitter they are good about using standard open source stuff , no embrace extend extenguish, so it makes sense its a dropin19:29
imbrandonand they wouldve changed the name more like Riak2 or something :)19:29
* SpamapS feels like he missed some context19:30
* SpamapS goes to ponder that at lunch19:30
jcastroSpamapS: twitter has a new memcached fork19:30
imbrandonSpamapS: you did , i'll fill you in when you get back19:30
jcastrohttp://engineering.twitter.com/2012/07/caching-with-twemcache.html19:31
jcastroso the idea is, wouldn't it be cool if you could play with it right now with juju19:31
imbrandonSpamapS: and i'm attempting at making the "juju set memcache engine=twememcache"  "just work(tm)"19:31
jcastrobut it looks like a drop in replacement so I figure a config option on the memcached charm19:31
imbrandonthere is also a new memcache proxy that sits infront , or can sit infront of memcache/twememcache19:32
imbrandonand let it scale in the same way my nginx-proxy does or mysql-proxy does19:33
imbrandonguess its name ? heh twememproxy iirc or something similar19:33
imbrandonheh19:33
imbrandonjcastro: have you looked at all the kick ass projects that twitter pops out tho ? hold on there is a slick list ....19:34
jcastroI know, they do release a ton of stuff19:34
imbrandonhttp://twitter.github.com/19:34
imbrandoncolor coded by prog lang even :)19:35
imbrandon30 public repos19:35
imbrandonoh wow, you know that blogger dude is a ex-canonical employee19:36
imbrandonjcastro: ^19:36
jcastroyeah he is19:36
imbrandonso he should know of juju19:37
imbrandonI'm a Linux geek.  I previously worked for Canonical, which is the corporate sponsor of Ubuntu.  (It's an incredible place to work, and they're always hiring!  Despite the fact that I'm not there any longer, I have nothing but good things to say about them.  They rock.)19:37
imbrandonjcastro: btw the NFS isnt a good story, but he is obviously on aws, obviously uses ubuntu, lets see if we can talk to him about the whole Libboo env19:38
jcastrotrue dat19:39
imbrandonif its a one man show, or close to it, it may fly19:39
imbrandonWhen Libboo migrated from hosting everything ourselves to using Amazon's Elastic Compute Cloud (EC2), we decided to do a bit of rearchitecting at the same time to make scaling easier in the future.19:39
imbrandonohhh yea19:39
imbrandonwe need to have a chat with him :)19:39
imbrandonyou wanna email him ? your better at that kinda stuff than me, but o19:40
imbrandoni'll defiately take the torch from there if he bites19:40
imbrandonand show him the ropes etc19:41
jcastroYeah I'm on it. :)19:45
imbrandonrockin i'm messing with twememcache, i dont think it will be that hard at all19:45
imbrandondoing it now, well and a bit of playing with go19:46
imbrandonjcastro: when is your next "showoff" day19:46
jcastrothis tuesday19:46
jcastro7 days from now19:46
imbrandonoh yea, we're golden then19:47
imbrandoni'll have this tongiht or tomarrow mroning if i hit snaggs19:47
jcastroimbrandon: if not depending on our time, etc. we can just blog it when it's ready, I think it's cool enough on it's own to begin with19:49
jcastroimbrandon: do you happen to have anything using memcached anywhere?19:49
jcastroit'd be cool to see someone putting it through it's paces, etc.19:50
SpamapSinteresting19:50
SpamapSdormando, the current memcached maintainer, is an ex-twitter employee19:50
SpamapSI wonder if they disagreed19:50
imbrandonheh19:50
imbrandonmaybe, memcache powsers ALL of twitter19:51
imbrandonthey use it like most use RDBMS19:51
imbrandonas in persistant and for everything19:51
SpamapSweird, I know upstream memcached has the slab reallocation19:51
imbrandonlike user info, tweets etc19:51
SpamapSso surprising that they forked that19:52
imbrandonyea, i have a feeling it may have been proior or a diff implmentation19:52
SpamapSLock-less Stats Collection19:52
SpamapSWhy aren't they just feeding this back into memcached?19:52
SpamapSthis is all t3h awesome19:52
imbrandonbut the one thing that can be said is its battle tested19:53
imbrandonSpamapS: i think they offered19:53
imbrandonbut upsream was moving to slow or something19:53
SpamapSAh19:53
imbrandoni'm thinking its similar to the situation of the new shiney lands in ubuntu first sometimes when really debian should get it first19:54
imbrandonsame type of vibe19:54
SpamapSYeah I would bet Alan incorporates it rapidly19:54
SpamapSHeh, dormando in #memcached already responding to some of it....19:55
SpamapS09:42 <@dormando> dsal: no... they benched something that moves at most one slab per 30 seconds vs somethign that  moves slabs triggered by out of memory events19:55
SpamapS09:42 <@dormando> if they'd bothered to read the documentation I'm not sure why they did that19:55
SpamapSreading docs is way less fun than coding19:55
imbrandonhehe nice /me joins19:55
imbrandonso really the real memcache will be better once a few hotness is incorperated ?19:56
imbrandonniemeyer: is there a way ( short of chagning the code ) that I can have the compile dir for gorun use something other than /tmp or $TEMP , like can it use $GOTEMP ?19:58
imbrandoni'm trying to get a date with the devils daughter by #!gorun as a cgi script , but apache/nginx want the actual binary to live in the ExecCGI dir so i'd like to set it to like /var/www/cgi-bin/.temp but not the $TEMP evn var as other apache temp files would then live there as well20:00
SpamapSimbrandon: I have to think go has a fastcgi library by now20:02
imbrandonSpamapS: it does20:02
SpamapSimbrandon: or even just a light weight http service20:02
imbrandoni like the ability to drop any exec in my /bin dir tho20:02
imbrandonits how i run python20:02
SpamapSah20:02
imbrandonSpamapS: http://api.websitedevops.com/bin/json.py?callback=cb20:03
imbrandonstuff like that, but /bin is setup so anything that output correctly will work20:03
imbrandonthat way i dont need like a whole django env or ruby env etc, i setup the main server as php, and then /bin as all the "misc" stuff20:04
imbrandonthat i may want to use like a json.py in that case there etc20:05
imbrandonand i have a hello.go that works from the cli "./hello.go" but niemeyer wrote gorun in a way that it compiles the .go with #!gorun on the fly and then replaces the process ( not fork ) with the compiled bin from $TMP/$hostname-$username/binary20:07
imbrandonor something similar20:07
imbrandonso it almost works except /tmp is not +ExecCGI and i'm thinking that might be a bad call20:08
imbrandon:)20:08
imbrandonso yea i'm turning a .go into a 1995 .pl script thus the special place in hell20:09
imbrandonSpamapS: http://golang.org/pkg/net/http/cgi/ yup :)20:10
imbrandonSpamapS: and for completeness hello.go src http://paste.ubuntu.com/1086796/20:12
imbrandonheh20:12
imbrandonSpamapS: can i tell LP that i want to build the DSC from quantal without downlaoding and dputing it20:14
imbrandonfor php 5.420:14
imbrandonhrm i guess that would be a recipe , /me looks how those are made on LP20:15
niemeyerimbrandon: Hmm20:15
niemeyerimbrandon: What are you trying to do there?20:16
imbrandonniemeyer: http://paste.ubuntu.com/1086796/20:16
imbrandonworks great from cli, but i want to use it as a poor mans cgi20:16
niemeyerimbrandon: hah :)20:17
imbrandonthus the TMP where the gorun bin is compiled needs to live under the same dir :)20:17
niemeyerimbrandon: I suggest compiling it in that case20:17
imbrandon:)20:17
niemeyerimbrandon: Btw, http://golang.org/pkg/net/http/cgi20:17
imbrandonyup, ok yea, it was/is more of a excercise than pratical20:17
niemeyerimbrandon: It's really not difficult to compile it..20:17
niemeyerimbrandon: export GOPATH=$HOME20:18
niemeyerimbrandon: mkdir -p $GOPATH/src/mycgi20:18
niemeyerimbrandon: cd $GOPATH/src/mycgi; vi main.go; <hack hack>; go build20:18
niemeyerimbrandon: You have a binary20:18
imbrandoncool , yea that is probably the way to go than try and recreate 1995 anyhow :)20:19
imbrandonthen makes using external packages much easier too20:19
niemeyerimbrandon: Right20:22
niemeyerimbrandon: This is a huge plus I appreciate too.. I just copy s3up around, for example, and it Just Works20:23
niemeyer(labix.org/s3up)20:23
imbrandonyea , lifeless and me were just talking about that aspect of go the other night20:23
imbrandoni was going to use it for the OSX juju installer just for that reason20:23
imbrandonniemeyer: you might like http://cl.ly/Htjg ^^ mentioned installer20:24
SpamapSimbrandon: btw, yes you can. The recipe would just be 'lp:ubuntu/php5' as the branch.. should "just work"20:37
SpamapSimbrandon: of course.. if there are build-deps that need backporting.. you are in for more recipes :)20:38
imbrandonsweet, i like simple20:38
SpamapSI'm wondering if we should have a repo for charms to backport things they need into it20:39
SpamapSMy nagios charm needs 'pynag' which doesn't exist yet even in quantal..20:39
imbrandonyea i think we mentioned that the other day20:40
SpamapSppa:charmers/backports or something like that20:40
imbrandonyea20:40
SpamapSI wonder if we can be that general though20:40
SpamapSLike I don't want to accidentally pull crazy-crack into a nice conservative charm that just wants a few python modules20:41
imbrandonsure anything that isnt general enough for the package if its shard can be edited in the chatrm20:41
imbrandoncharm*20:41
imbrandonhrm20:41
imbrandontrue20:41
SpamapSI think its a PPA per backport focus20:42
imbrandoni like the idea of a repo per charm but not tied to a person, so others could update it same as the charm20:42
SpamapSlike, we can have one for PHP5420:42
SpamapSand one for nagios20:42
SpamapSyeah20:42
SpamapSrepo per set of charms tho20:42
SpamapSrepo per interface maybe?!20:43
imbrandonyea  ppa:charmers/nginx ppa:charmers/nginx-proxy20:43
SpamapSok I really should have eaten back when I said I was going to eat20:43
imbrandoni like per charm, it keeps the namespace nice and clean20:43
imbrandonand identifiable20:43
SpamapSindeed20:43
imbrandonthing about how many things use the http interface20:43
SpamapStho with arch: all stuff we can just embed debs in the charms for that use case20:43
imbrandoni'm likeing files in the debs less and less20:44
SpamapSwhich may be what I do just to get this nagios stuff out and done20:44
imbrandonother than config templates20:44
imbrandonthese huge downloads and uploads on deploy kinda suck20:44
SpamapSbut they're predictible20:45
SpamapSfar more predictible than ppa.launchpad.net or archive mirrors.20:45
SpamapSreliable.. not sure20:45
imbrandonthey are just as prdictable if they check out from git /bzr20:45
SpamapSbut they either work, or they don't20:45
SpamapSno way, this is a zip file in your s320:45
SpamapSif s3 goes down, the whole world goes down20:45
SpamapSon add-unit.. if github is hiccuping.. some charms will fail20:45
SpamapSothers won't20:45
SpamapSbut those with embedded files will always work or not work.20:46
imbrandonerm20:46
SpamapSwe actually identified the appropriate way to do this a long time ago20:46
SpamapScaching really is what we need20:46
SpamapSfile-get http://... would cache said file in s3 for the next add-unit20:46
imbrandonyea because a pile of files in my charm is so a step back from vcs20:46
SpamapSand upgrade-charm would poke that cache for a refresh20:47
SpamapSanyway, food20:47
imbrandonor just a call to refresh caceh20:47
imbrandonok yea me too20:47
imbrandonbbiab20:47
tncardosoIs it possible to run multiple machines of the same service? When I try deploying the same charm twice I get the following error: ERROR Service name 'crawler' is already in use21:23
=== salgado is now known as salgado-afk
tncardosoadd-unit21:34
SpamapStncardoso: not quite21:52
SpamapStncardoso: add-unit is multiple machines of the same "service"21:52
SpamapStncardoso: note that they will share configs entirely (so relationships will be established to all machines of a service)21:52
SpamapStncardoso: there's an optional "service name" parameter for deploy.. so 'juju deploy mycharm mycharm-service-id-1' works too21:53
tncardosoSpamapS: Ok, so relations are shared21:53
tncardosoSpamapS:  In my case it will be ok21:53
tncardosoSpamapS: Thanks21:54
adam_gjimbaker: ping23:02
jimbakeradam_g, hi23:22
adam_gjimbaker: hey, was finally messing around with trying to isolate juju usage to a foreign $HOME. i was running into trouble, but it looks like an ssh client issue more than anything juju related.23:37
jimbakeradam_g, you do need to have a .ssh directory in this $HOME dir23:39
jimbakerotherwise my experience was that it worked well23:39
adam_gjimbaker: bootstrapping works, its the ssh client connection to ZK that keeps checking the original $HOME/.ssh23:43
jimbakeradam_g, hmmm23:43
adam_gi haven't yet looked too deeply into it, but it seems reassigning $HOME isn't enough to change ssh's default23:44
jimbakeradam_g, right, not juju, but ssh itself. certainly looking at juju.state.sshforward, looks like os.path.expanduser, etc are used properly23:47
jimbakeradam_g, although ssh's docs definitely seem to be clear that it uses $HOME as would be expected23:49
jimbakeradam_g, i'll retry on my end23:49

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