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

nijabaSpamapS: all 5 issues your reported for limesurvey should now be fixed00:02
nijabaSpamapS: thanks again for your help00:03
marcoceppiCan Juju manage deployments between different environments?00:20
marcoceppiLike, I've got three bare metal servers, so to juju that's three environments - but I would like to relate things between environments00:21
_mup_Bug #900104 was filed: watch_related_units callback is icky <juju:In Progress> < https://launchpad.net/bugs/900104 >02:06
SpamapSmarcoceppi: 3 bare metal servers would just be one env if you used orchestra06:10
* marcoceppi needs orchestra06:26
marcoceppiThanks SpamapS06:26
SpamapSmarcoceppi: to the bigger question.. right now envs are decent ways to group availability zones.. so crossing envs usually involves something special to handle the latency between two envs. :)06:44
SpamapShrm.. limesurvey's sessioning doesn't seem to work right06:58
SpamapSloses my session whenever it load balances to another node06:58
=== highvolt1ge is now known as highvoltage
_mup_Bug #900186 was filed: no spec for machine placement story <juju:In Progress by fwereade> < https://launchpad.net/bugs/900186 >08:37
_mup_Bug #900227 was filed: guarantee start hook execution on machine boot <juju:In Progress by fwereade> < https://launchpad.net/bugs/900227 >10:45
amithkk!Rejoin11:33
amithkk:P11:33
rogTheMue: to check out the sources12:10
rogit's best, i think, to create a directory to hold all the branches12:11
rogin bazaar, each branch has its own directory12:11
rogi use $HOME/src/juju12:11
TheMuereminds me of svn12:11
mainerrorHouston, we have a problem! My ThinkPad stopped charging its batteries!12:12
rogi usually keep one pristine directory for each branch, representing the trunk12:13
rogmainerror: ouch12:13
TheMuemainerror: so your name matches, that's bad (in this case)12:13
mainerror-_-12:13
rogTheMue: then to check out the python sources, for example, i'd do: cd $HOME/src/juju; bzr branch lp:juju juju-trunk12:13
mainerrorSad mainerror is sad.12:13
rogTheMue: to check out the go juju sources, bzr branch lp:juju/go go-trunk12:14
rogoops, forgotten one crucial step12:14
rogTheMue: before you start checking things out, should make a shared repo so all the branches can share data12:15
rogTheMue: in my case, cd $HOME/src/juju; bzr init-repository12:16
TheMueok12:16
rogTheMue: then you can branch to your heart's content.12:16
TheMueneeds a locations, so in your case just . ?12:16
rogyeah12:17
TheMuefine12:17
rogTheMue: before you start work on some source code, create a branch for that item of work - usually the branch directory name reflects the work that you're doing12:17
rogTheMue: i usually start when a generic name then change it to something more specific when i know what the merge request does12:18
TheMuerog: ok, very important hints12:18
TheMuerog: I'm currently fetching the sources, so it works fine12:19
rogcool12:19
rogTheMue: when you actually want to submit some code for review, you should use Gustavo's lbox tool12:19
rogTheMue: (you can get it with apt-get install lbox)12:19
niemeyerHello jujuers12:19
rogniemeyer: yo!12:19
TheMuemoo gustavo12:20
fwereadeheya niemeyer12:20
TheMuerog: which repository for lbox?12:21
rogTheMue: good point, i can't remember. one mo.12:21
rogTheMue: sudo add-apt-repository ppa:gophers/go12:25
TheMuelbox installed O>12:27
niemeyerTheMue: You can get the full workflow here: http://blog.labix.org/2011/11/17/launchpad-rietveld-happycodereviews12:29
TheMueniemeyer: thx, I've already read it after you've published it. but now I have to dig deeper.12:31
nijabahey guys. Great to see that my charm has been put into lp:charm/limesurvey.  Small question for you: what's the process for me to upload changes to it from now on?  Make the changes in my branch and request a merge?12:35
TheMueok, afk for lunch12:37
mplniemeyer: greetings. nothing to report for goyaml, it builds out of the box with weekly.13:27
niemeyermpl: Fantastic13:27
niemeyermpl: I think we're good, as far as weekly goes13:27
niemeyermpl: I have a suggestion that may enable you to collaborate more closely with rog13:28
niemeyermpl: with something more involved13:28
mplcool13:28
* rog is listening13:28
niemeyermpl: We need to introduce ssh support13:28
niemeyermpl: We use ssh in a few different ways13:28
niemeyermpl: I suggest you spend some time looking at the Python implementation to understand some of the background13:29
niemeyermpl: Before diving onto the implementation13:29
niemeyermpl, rog: I'd like to try using exp/ssh for the forwarding13:29
rogniemeyer: the zookeeper connection?13:30
mplniemeyer: when you say the python implementation, you mean the parts of juju that use ssh?13:32
niemeyerrog: Yeha13:33
niemeyermpl: That's right13:33
rogniemeyer: seems like a good idea.13:33
niemeyermpl: Check out juju/state/ssh*.py, and juju/providers/ec2/* for hints of how that13:34
niemeyer's used13:34
mplrog, niemeyer: so how is the zookeeper connection and that forwarding you're talking about done at the moment in the go port?13:34
niemeyermpl: There's nothing13:35
mplnot at all, or with some other way than ssh?13:35
mploh ok.13:35
rogmpl: haven't even got as far as starting zk yet...13:35
mplrog: how do you suggest we go about that? shall I read those bits of code and report to you when I'm done or when I have questions about it?13:37
niemeyermpl: Yeah, the first task is to understand how it works today, so you have an idea of what has to be done13:38
rogmpl: i suggest you look at the way the python code does its ssh connection, and see if you can replicate that with a local zookeeper instance (started by gozk) and an independent go program, all running on the same machine13:38
rogniemeyer: that sound reasonable?13:39
niemeyermpl: Basically, the zk connection is insecure at the moment, and we use ssh to fix that13:39
niemeyerrog: +113:39
mplgot it, thanks.13:40
=== hazmat` is now known as hazmat
niemeyerLunch time14:50
niemeyerbiab14:50
jcastro_marcoceppi: howdy15:39
jcastro_marcoceppi: I was off on Friday other than the charm school, how's it going?15:39
=== jcastro_ is now known as jcastro
marcoceppijcastro: good15:48
jcastromarcoceppi: hey so, just so I have the spreadsheet clear, which one are you working on now?15:49
jcastrophpmyadmin?15:49
jcastroor did that one get accepted?15:49
marcoceppiit's just about ready, I need to finish the package based installation: found a few bugs15:50
jcastroah awesome15:50
jcastroany idea what george is working on next?15:50
marcoceppiSteam is in a holding pattern while I try to get all the game's server configs sorted out. They're not included by default and poorly documented game to game, I've also got Redmine going15:50
marcoceppijcastro: no idea15:50
* jcastro nods15:51
jcastroI see nijaba rocked out limesurvey15:51
marcoceppiyeah, I gave it a spin over the weekend, it rule15:51
marcoceppis15:51
nijabajcastro: just keeping my word to you :)15:51
jcastronijaba: that's going to be a great charm, it's actually very useful to people and very cloudy ... up when you need it, and then goes away when you don't15:52
SpamapSseriously.. limesurvey is fun...16:11
SpamapSI created a survey.. "can you crash this site?" Y/N16:11
SpamapSwas thinking we could give it a shot with a massive scale-out16:11
* SpamapS moves from cold drafty downstairs to overly warm ovenlike upstairs16:12
jimbaker SpamapS, you're in LA. how can it be cold? in contrast it's already at a toasty 3 deg F outside16:14
marcoceppiI noticed something that might be a bug, but I'm not sure. If you do a deploy of mysql charm + charm that requires mysql, add-relation, upgrade non mysql charm, destroy charm that required mysql, deploy again and add-relation MySQL charm doesn't send over the relation information.16:17
marcoceppiShould MySQL delete the database after a service has broken the relation?16:20
SpamapSjimbaker: 45F is "cold" here. ;)16:22
SpamapSmarcoceppi: no16:22
SpamapSmarcoceppi: but it should re-set the info16:22
SpamapS    print "database exists, assuming configuration has happened already"16:23
SpamapS    sys.exit(0)16:23
SpamapSmarcoceppi: definitely broken16:23
marcoceppiOkay, so if it detects that the database is already there, it should send over the information again. Seems like that would put a lot of work on the charm to check if database already exists to avoid re-installing it16:23
SpamapSmarcoceppi: honestly, the "db" relation is silly the way it uses the service name for the database.16:24
SpamapSmarcoceppi: puts a lot of restrictions on how you can use the relation16:24
marcoceppiI think, and I could be wrong - because I understand the use case of keeping the database around, a db-relation-broken should remove the database16:24
SpamapSmarcoceppi: mysql-shared is a more realistic use of mysql16:25
SpamapSmarcoceppi: no, we want to make data cleanup manual16:25
SpamapSmarcoceppi: thats also why machines aren't terminated automatically16:25
marcoceppicool, well I'm having issues with db-admin-relation-changed, and I just realized it shouldn't be creating a database in the first place!16:25
SpamapSmarcoceppi: *exactly*16:25
marcoceppiSo my point is moot16:25
marcoceppibut it's a bug of another color16:25
SpamapSthere's also a bug where the username/password is *always* randomly generated..16:26
SpamapSso when the relation is broken.. we can't cleanup the users16:26
marcoceppiI thought MySQL charm stored that data locally for tracking?16:27
* marcoceppi was using an older version of the MySQL charm16:28
SpamapSuser = subprocess.check_output(['pwgen', '-N 1', '15']).strip().split("\n")[0]16:29
SpamapSmarcoceppi: thats in common.py16:29
marcoceppiShould the charm track user/pass per private IP?16:29
SpamapSIP?16:29
SpamapSno16:29
marcoceppiprivate host*16:29
SpamapS1 service, 1 user, but it can grant that user access from all the addresses of the service16:30
SpamapSthis is something that confused me early on ... you get *one* set of relation data that you can set..16:31
SpamapSso the mysql unit's relation-set must work for *all* the related units on the other side.16:31
SpamapSyou can't have a user per unit without doing   relation-set wordpress-0-user=foo16:31
SpamapSthen thats pointless because they all get access to it anyway16:31
marcoceppiSo, it's really per service then16:38
marcoceppiShould the charm store the user/pass info on a per service basis? or does it do that already?16:38
SpamapSit must actually16:39
SpamapSbut it doesn't right now16:39
marcoceppiHum, I suppose plain text storage would be too much to ask for, in regards to security?16:40
marcoceppiBecause that would probably be the easiest16:40
SpamapSSimplest thing to do is just to put it in files.16:40
SpamapSwe don't have to store the password16:40
SpamapSjust the usernames to clean up16:40
SpamapSbut frankly.. the root PW is stored (and must be).. so.. we don't have much to protect in that manner.16:41
marcoceppiOh, I see now. Each unit of a service gets it's own username and password for the services db16:41
SpamapSno16:42
marcoceppiJust when I thought I had it16:42
SpamapSeach service gets a username and password16:42
marcoceppiWhere is that tracked then? Bootstrap?16:42
SpamapSwhere is what tracked?16:42
marcoceppiThe username and password.16:42
SpamapSin the relation settings16:43
marcoceppiIf it's tracked in the relation settings, why can't the charm just pull the username from that when relation is broken and do a clean up then?16:44
* marcoceppi is poking in areas he doesn't quite understand16:44
SpamapSmarcoceppi: because the way broken is triggered is the relation settings node is deleted from zookeeper ;)16:49
SpamapSmarcoceppi: which is, I think, a bug. ;)16:49
marcoceppiah :)16:49
SpamapSbug #791042 to be exact16:49
_mup_Bug #791042: *-relation-broken has no way to identify which remote service is being broken <juju:Confirmed> < https://launchpad.net/bugs/791042 >16:50
SpamapSmarcoceppi: you're going through the same questions I did .. so.. if nothing else you're helping me feel less like an A-hole for reporting so many bugs ;)16:50
marcoceppi\o/16:50
mplniemeyer: just fixed a little error on there: https://wiki.ubuntu.com/gozk :)16:55
mplSpamapS: what you don't get an "your attention to detail is appreciated" message everytime you open a new bug? :)16:56
SpamapSSince most of my bugs are "This $@!% is $%#!ing broken %!@ing fix it!" ... no. ;)17:00
niemeyermpl: Cheers! :)17:02
mplnp17:02
hazmatSpamapS, its not actually deleted, but i'm not sure that its reachable via the cli in that case17:23
SpamapShazmat: good to know :)17:26
fwereadegn all :)17:48
koolhead17:P17:48
koolhead17SpamapS: sir17:48
SpamapSkoolhead17: aye?17:49
mplniemeyer: I get a weird behaviour with that gozk example on the wiki. the first error check passes, but then I never get passed event := <-session and I continuously get messages such as this one:17:58
mpl2011-12-05 18:54:51,868:28689(0x7f3c313d0700):ZOO_ERROR@handle_socket_error_msg@1528: Socket [127.0.0.1:2181] zk retcode=-7, errno=110(Connection timed out): connection timed out (exceeded timeout by 0ms)17:58
koolhead17SpamapS: am finally close to running custom cloud image + juju + openstack17:58
mpland yes, I have zookeeper running, I can connect to it with zkCli.sh17:58
niemeyermpl: Looks like it's trying to connect to the wrong server?17:59
mplniemeyer: well, the server is indeed listening on 2181. besides, if that was the case, shouldn't it just fail at the first error check after gozk.Init, instead of filling my term with those messages?18:01
mplhmm, wtf zkCli.sh doesn't report any error when there's no server running.18:05
SpamapSkoolhead17: custom cloud image ?18:05
niemeyerrog: Have we ever done that refactoring so that all errors are sent to event channels, including temporary ones?18:06
niemeyermpl: Well, we have tests18:06
niemeyermpl: Can you get tests to pass?18:06
rogniemeyer: off for day. will have a look tomorrow.18:07
jimbakerfwereade, take care!18:07
koolhead17SpamapS: i have my openstack inside proxy and in order to get internet on instance i have to modify the cloud image18:07
niemeyerrog, fwereade: Cheers!18:11
SpamapSkoolhead17: sounds interesting!18:24
* TheMue has to admit that his Python time has been some years ago. Will have to dig a bit into twisted.18:30
mplniemeyer: after a bzr pull in gozk, there still is a problem with weekly: retry_test.go:198 it seems err.Error() should be changed to err.String() here. or String() to be changed to Error() in gozk.go18:33
niemeyermpl: Crap, I may have missed that18:35
mplniemeyer: that said, it seems my default zookeeper env is not really well setup. I'll try and dig further.18:36
jcastroSpamapS: did you know about this? https://launchpad.net/juju-gui18:40
niemeyermpl: There's a lost branch from rog18:55
niemeyermpl: Not sure if it'll fix it, but I'll work on getting it merged right now, and make sure it works with weekly18:55
mplniemeyer: well, I went the quick route and just changed that one to String() on my end so I could go further.18:59
niemeyermpl: Good move18:59
mplniemeyer: then the tests fail because default configuration here expects things to be in root only locations, like the log file.19:00
mpland I don't run gotest as root.19:00
niemeyermpl: Cool, I'm with you.. I'm just finishing merging that branch and solving conflicts, and will then see if there's anything else to address19:00
niemeyermpl: Definitely, we never do that19:00
mplI'll have to leave in a couple mins to get my food as the local indian though :)19:01
mplbbl19:04
niemeyermpl: "OK: 39 passed"19:14
_mup_juju/zookeeper r24 committed by gustavo@niemeyer.net19:15
_mup_Merged update-server-interface branch from Roger. [r=niemeyer]19:15
_mup_This improves the interface used to manage the zookeeper processes.19:15
_mup_This changeset also includes fixes to get the branch integrated19:15
_mup_into the current state of trunk.19:15
mplniemeyer: thx. I'll retry as soon as I can, and when I have a more suitable zookeeper env setup.19:45
niemeyermpl: FWIW, I don't have a special zk env setup19:45
niemeyermpl: I'm using packaged zk19:46
mplniemeyer: I've aptitude installed it19:46
mpland done nothing else more.19:46
niemeyermpl: Me too19:46
mplhmm19:47
niemeyermpl: Are you on Oneiric?19:47
mplnope, lynx.19:47
mplbut I'm on lynx on my other laptop, and I remember the tests passed fine there.19:47
mpl*laptop as well, ...19:48
SpamapSHrm, is it possible that resolved --retry does not work?19:48
SpamapShttp://paste.ubuntu.com/760813/19:49
mplanyway, I have a stupid flat tire to fix so I can go to work tomorrow, so ttyl.19:49
SpamapSThats what I see in the logs after retrying the db relation19:49
niemeyermpl: lynx?19:49
mplniemeyer: lucid lynx19:49
niemeyermpl: Ah19:49
SpamapShttp://paste.ubuntu.com/760814/19:49
SpamapSafter that19:49
SpamapSso it didn't really retry the hook that failed19:49
niemeyermpl: Yeah, that might be a real issue19:49
niemeyerSpamapS: Is that trunk or main?19:51
niemeyers/main/universe19:51
SpamapS42719:51
SpamapSso.. basically trunk19:51
SpamapS426 actually19:51
SpamapSii  juju                    0.5+bzr426-1juju2~preci next generation service orchestration system19:51
niemeyerSpamapS: Ok, so it's worth checking with hazmat/fwereade19:52
niemeyerSpamapS: There has been work taking place in that area19:53
SpamapSI'll try to narrow it to a reproducible test case19:53
SpamapSBut thus far, looks like any hook that errors is not retried19:53
* hazmat checks traceback 19:53
hazmatbug 87846219:54
_mup_Bug #878462: resolved --retry does not retry the hook <juju:New> < https://launchpad.net/bugs/878462 >19:54
SpamapShazmat: yeah I thought I had run into this before20:10
hazmatSpamapS, before it was with wrt to non rel hooks20:27
hazmatSpamapS, it looks like there is  fix for this already in restart-transitions20:27
SpamapShazmat: so something in flight right now?20:33
hazmatSpamapS, yup20:33
SpamapScool!20:33
* SpamapS changes topic..20:33
SpamapSso.. philosophy question here..20:33
SpamapSmysql has about 450 variables that can be set at various times20:34
SpamapSsome only at startup20:34
SpamapSsome without restart..20:34
SpamapSI'm of a mind to just expose two things in config.yaml.. "Alternative my.cnf" which would just be your hand-crafted my.cnf .. and "dynamic-global-variables" which would be a set of vars that you want to set.20:34
hazmatSpamapS, use postgres ;-)20:35
* hazmat wonders if that's a valid answer20:35
SpamapSYes, its valid as long as you'd like to spend 2x as much on scaling. ;)20:35
SpamapSto be fair, you'd have 0.1% more correct data. :)20:35
SpamapSfor these and other numbers, please see "my rear end" which is where I pulled them from. :)20:36
hazmatSpamapS, those startup values be changed between starts?20:36
SpamapSSame thing applies to postgresql actually.20:36
hazmatSpamapS, postgres has a lot less hacks masquerading as config20:36
SpamapShazmat: some of them have really strang effects when you change them between restarts... but all of them *can* be changed.20:36
SpamapShazmat: http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html .. which one is more of a hack than slony?20:37
SpamapS;)20:37
hazmatSpamapS, slony is so pre 9.0 ;-)20:37
SpamapSok well now that we've gotten the religious argument out of it.. lets *PRETEND* that I said postgres and I was talking about wal log sizes and buffer sizes.20:38
SpamapS(lets also pretend that postgres's multi-process model can scale beyond 1000 concurrent connections too! ;)20:38
SpamapSpostgres has tons of tunables .. and some things that can't be changed like charsets20:39
SpamapSso its the same philosophical situation20:39
SpamapSyou have a database, which is tunable. Should we try to model all of them into a giant config.yaml .. or just give admins the tools to set them.20:40
SpamapSIt would be *cooler* if they were in a config.yaml20:40
SpamapSbut more work now, and later when new versions of mysql come out.20:40
elmohow is this not configuration management?20:42
SpamapSelmo: it is config management.. we've said all along that config management tools are useful for applying the things that one has told juju about.20:45
niemeyerSpamapS: Yes, they should be go into config.yaml over time.. is there any disagreement there?20:46
SpamapSIf puppet already has a module for building my.cnf with all the settings specified or not.. I'll gladly steal that for the charm.20:46
SpamapSniemeyer: I'm asking philosophically, do we want to just let people specify their own my.cnf or build the my.cnf for them from the individual settings.20:47
niemeyerhazmat: It'd be nice to get the latest agreement in terms of the subordinate spec committed onto the documentation as a draft20:47
niemeyerSpamapS: I'm personally fine with whatever people are happiest with, but my gut feeling is that independent options are nicer to work with20:48
SpamapSniemeyer: Ok well there's another way to look at it which is to have some higher level options, like 'dataset_size' or 'transaction_safety' which adjust several options based on best practices.20:50
niemeyerSpamapS: Maybe.. having conflicting options has implications, though20:51
SpamapSniemeyer: specific overrides general is typically how I'd handle that.20:51
niemeyerSpamapS: Sure, but it's not clear what's specific and what's general20:52
SpamapSso "dataset_size=99G" is general.. "innodb_buffer_pool_size=3915852021" is general20:53
SpamapSerr20:53
SpamapSspecific20:53
SpamapS:-P20:53
niemeyerSpamapS: If one sets two conflicting options, one of them will win, and it's not clear what's what20:53
niemeyerSpamapS: Not advocating against it, but just recognizing that there are cognitive challenges there20:54
SpamapSsure it is.. if I set both of those, I'd fully expect innodb_buffer_pool_size to win even if normally dataset_size wins.. I'd also log a warning.. "dataset_size ignored for innodb_buffer_pool_size"20:54
SpamapSThe moment where I start doing individual variables is where I stop trusting the general settings to do anything for me.20:55
niemeyerSpamapS: Me, on the other hand, being a postgres newbie, would be completely puzzled20:55
SpamapSwell why are you setting a specific variable if you're a noob?20:55
niemeyerSpamapS: That's what I mean.. you're taking the stance of having full understanding of what's going on and expecting others to be equally informed. Doesn't work in practice.20:55
SpamapSOk not sure where I took a stance. My suggestion is that we make config.yaml comprised of big easy knobs for newbies, and tiny intricate knobs for the experts20:56
niemeyerSpamapS: and my suggestion is to use caution while doing that, because setting conflicting options blindly confuses people20:57
SpamapSYeah, I think we'd have to have it document in the description which variables it was setting.20:57
SpamapS"Changes query_cache_size, innodb_buffer_pool_size, etc. etc."20:58
niemeyerSpamapS: There are other things that may be done, such as using appropriate naming that gives hints20:58
SpamapSoverride_* for the variables might help20:58
SpamapSlike... set dataset-size=99G override-innodb-buffer-pool-size=500G seems clear to me that I'm overriding that one variable.20:59
niemeyerSpamapS: Yeah, or the other side, wizard_*..20:59
marcoceppiIMO the charm should set those depending on the size of the instance it;s on20:59
niemeyers/_/-/20:59
marcoceppiIt's more hardware dependent then anything else20:59
SpamapSmarcoceppi: you don't necessarily have permission to take all the resources on the instance you're on.20:59
SpamapSfor LXC, that would be disaster. :)20:59
SpamapSthey all say they have 4G, because my laptop has 4G21:00
marcoceppiblurg21:00
hazmati wonder if they would say that if we where using the mem cgroup21:00
hazmatprobably21:00
SpamapSprobably just a bug in the /proc wrapping21:00
SpamapSbut thats beside the point21:01
SpamapSEven on a bare instance.. with subordination.. you don't know how much RAM to leave for instrumentation/extra stuff21:01
SpamapSI think we should strive for charms to have defaults that work best on m1.small .. and people can tune-up from there. Eventually maybe we will be able to have config settings that default to '2*constraint(mem)'21:02
SpamapSor, I suppose better would be contraint(mem)/2 ;-)21:02
SpamapSOk for mysql I'll just expose general-dataset-size and general-query-cache-mode .. if people want to set more, they can add them as needed I suppose.21:03
SpamapS(though that gets back to the whole question of how do I fork and switch my deployed service to my local charm)21:04
hazmatSpamapS, yeah.. we'll need to be able to upgrade across repos to support that21:06
hazmatwe've effectively said specifying a --repository doesn't affect the lookup order..21:07
hazmatwhich is problematic when your trying to say which repository to use21:07
SpamapSI think it has to be an explicit decision21:07
SpamapS"I was using that charm identifier, now please start using this one"21:07
hazmati guess you do so via a fully qualified reference21:07
SpamapSupgrade-charm doesn't take a charm name, it takes a service name21:07
hazmatjuju upgrade --using=cs:~fewbar/mysql database21:08
SpamapSseems like thats not an "upgrade" .. more of a switch or change21:08
SpamapSMore of a psychological problem :)21:09
niemeyerSpamapS: Agreed.. it should be its own internal command, even if we implement it internally as mostly the same21:18
niemeyers/internal command/command21:19
niemeyerjuju replace database cs:~fewbar/mysql21:19
niemeyerOr some such21:20
_mup_Bug #900517 was filed: config-get on an int set to 0 does not return '0' but an empty string <juju:New> < https://launchpad.net/bugs/900517 >22:50
* SpamapS commits config.yaml for memcached22:56
negronjlm_3_: ping23:15
hazmatjimbaker, i think forget how tricky/messy this sshclient/forward code was23:43
jimbakerhazmat, i tried rewriting that code twice, so i agree with that!23:44
jimbakeri figured a rewrite might help understand why i was getting that strange behavior seen in bug 892254, but unfortunately it was too big of a hole, so i punted23:46
_mup_Bug #892254: SSHClient does not properly handle txzookeeper connection errors <juju:New> < https://launchpad.net/bugs/892254 >23:46
jimbakerhazmat, it would be worth fixing test_share_connection if you end up fixing sshclient23:47
=== mwhudson_ is now known as mwhudson
Ryan_Lanem_3_: last week we upgraded from cactus to diablo, if you guys would like to try things out again :)23:53
mplI had to deal with that stupid flat tire, so I couldn't pursue that further. I'll retry tomorrow. especially since I'll have my other machine, on which I believe the tests pass. See you tomorrow.23:54

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