/srv/irclogs.ubuntu.com/2014/05/09/#juju-dev.txt

waiganimenn0: what does your charm do?00:00
menn0I've found the source for the postgresql charm to be pretty helpful. it's written in Python and uses the charmhelpers package.00:00
menn0https://github.com/charms/postgresql00:01
menn0waigani: at thumper's suggestion, I'm productionising the github-watcher charm00:01
menn0waigani: what are you going to do?00:03
waiganimenn0: good question! At some point I'd like to make a SPARQL endpoint charm00:04
waiganimenn0: but I think I'll start with the Vanilla forum in the tut00:04
menn0waigani: sounds good00:04
wallyworld_axw: can you ping me when you're around for a quick catch up about 1.18.3?00:25
menn0i'm trying to deploy juju-gui using the local provider on my machine and I'm getting this: 2014-05-09 00:36:50 INFO juju.worker runner.go:260 start "api"00:38
menn02014-05-09 00:36:50 INFO juju.state.api apiclient.go:198 dialing "wss://10.0.3.1:17070/"00:38
menn02014-05-09 00:36:50 INFO juju.state.api apiclient.go:206 error dialing "wss://10.0.3.1:17070/": websocket.Dial wss://10.0.3.1:17070/: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "juju-generated CA for environment \"local\"")00:38
menn02014-05-09 00:36:50 ERROR juju.worker runner.go:218 exited "api": timed out connecting to "wss://10.0.3.1:17070/"00:38
menn02014-05-09 00:36:50 INFO juju.worker runner.go:252 restarting "api" in 3s00:38
menn0is this a regression? i've deployed juju-gui on my machine successfully before00:38
menn0i'm using a relatively recent build00:38
menn0(yesterday)00:39
menn0and wouldn't you know it... the deploy just worked.00:40
menn0nevermind I guess00:43
menn0it just took a really long time and I thought that error was related.00:43
wallyworld_menn0: local provider takes a long time for the first lxc container to go from pending since it has to download the ubuntu image file00:58
axwwallyworld_: ping00:58
wallyworld_axw: hiya, quick hangout?00:58
menn0wallyworld_: I knew that but it took like 20 mins. perhaps my link is slow today.00:58
axwwallyworld_: sure00:58
wallyworld_https://plus.google.com/hangouts/_/7ecpiklmm34hr8t7t02jinl5r000:59
axwwallyworld_: same as yesterday... I'll try starting one01:00
axwwallyworld_: https://plus.google.com/hangouts/_/72cpjktbfqddemso04puald08o01:01
wallyworld_axw: my network has gone slow, will keep trying to get in01:01
axwwallyworld_: I don't get any warning about lxc-use-clone01:41
wallyworld_hmmmm01:41
wallyworld_it may have been his set up01:41
wallyworld_maybe he accidentally used an old client to bootstrap01:42
wallyworld_that would explain it01:42
thumperwallyworld_: so what is this standup thing?01:45
thumperthat time is not good for me...01:45
wallyworld_thumper: it's on the calendar01:45
thumperI know, but it goes into the past01:45
thumperand looked like a mistake to me01:45
wallyworld_i assumed someone added it01:45
thumperit looks like a dupe of the other calender item01:45
wallyworld_ok01:46
thumperI'd be happy to do a standup sometime in the next hour01:47
wallyworld_might get messy two teams doing it though if we want it to be short01:48
thumperagreed01:55
thumpermramm: o/01:55
thumpermramm: are you real or a ghost in the machine?01:55
mrammhey hey01:55
mrammmostly real01:55
rick_h_ghost ramm I like it02:03
stokachuwallyworld_: yea my latest test didn't report any issues with the lxc-use-clone config item error02:15
stokachuso it was probably my setup initially02:15
sinzuiwallyworld_, thumper CI is broken. looks like we cannot get errgo from github02:16
sinzuihttp://juju-ci.vapour.ws:8080/job/build-revision/1335/console02:16
thumperoh fuck02:17
thumperthat was me02:17
thumperbugger02:17
sinzuioh, and the other branch for 1.18 is broken the same way02:17
sinzuihttp://juju-ci.vapour.ws:8080/job/build-revision/1336/console02:17
thumpershit shit shit02:17
sinzuithumper, did you break trunk and stable?02:17
thumperyes02:17
sinzuiThat's hard to do.02:17
thumpernot if you delete the repo02:17
sinzuiOh dear02:18
wallyworld_sinzui: you see i've asked for input as to what version want for next week02:19
sinzuithumper, the failure is in " go get -v -d launchpad.net/juju-core/..." I don't think I can hack around that02:19
* thumper hacks...02:19
sinzuiwallyworld_, 1.18.3?02:20
thumpersinzui: you should be back in business02:20
wallyworld_sinzui:  i had thought so but then only 1.19.2 will have the new maas name placement directive02:20
* thumper will be more careful before blowing shit away02:20
sinzuiwallyworld_, I wrote release notes for 1.18.3 and 1.19.202:21
* sinzui retries the trunk build02:21
wallyworld_sinzui: ok, thank you that's great. so when they tell us what they want, we can just flip the switch on wither one02:21
sinzuiwallyworld_, if we get CI building again. I will manually trigger 1.18 if a new revision doesn't land as I hammer trunk to build02:22
wallyworld_axw: if we were to go with 1.19.2, we will need a fix for bug 1313785, which i think you are familiar with?02:22
_mup_Bug #1313785: Can't SSH with "juju ssh" command to EC2 instance. <regression> <ssh> <juju-core:Triaged> <juju (Ubuntu):Triaged> <https://launchpad.net/bugs/1313785>02:23
wallyworld_sinzui: have you eaten all the Violet Crumble yet?02:23
sinzuithumper, yes! CI is on to the next phase to unittests and packaging02:23
thumperphew02:23
sinzuiwallyworld_, Yes. the Cherry Ripes were stolen.02:24
wallyworld_lol02:24
wallyworld_i'll bring some more to the next sprint02:24
axwwallyworld_: ok. goddamn ssh02:24
sinzuiMy youngest daughter exclaimed Holy Sh*t when she had one, while the older daughter asked where that the Cherry Ripes been all her lide02:25
sinzuilife02:25
wallyworld_axw: thanks, seemed like you had a handle on it already02:25
sinzuiI hid one for Saturday02:25
wallyworld_lol02:25
wallyworld_sinzui: i can be youe dealer :-)02:26
wallyworld_your02:26
sinzuiwallyworld_, 6 cherry ripes cost 18.00 USD from amazon. You could make a lot of money send them to the us by boat02:26
wallyworld_$18 !!!!!!02:27
wallyworld_wtf02:27
wallyworld_they cost about $10 here02:27
wallyworld_and they often go on sale for about $6 which is when i buy them for you :-)02:27
wallyworld_that's for 602:28
* axw wishes he had a cherry ripe now02:31
* wallyworld_ does too :-(02:31
wallyworld_sinzui: bug 1316174. the local provider explicitly disables changing apt sources. do you think we should make juju-core require cloud-tools in the packaging rules then?02:58
_mup_Bug #1316174: 'precise-updates/cloud-tools' is invalid for APT::Default-Release <juju-core:Triaged> <https://launchpad.net/bugs/1316174>02:58
* sinzui is thinking02:59
sinzuiwallyworld_, cloud-tools, being an archive, must be added. Isn't think a cloud-inti responsibility? I thought all precise cloud images had cloud-tools as an archive03:00
sinzuiwallyworld_, There is nothing we can package to make an archive be added03:01
wallyworld_sinzui: but this is for someone's local machine03:01
sinzuiwallyworld_, hmm, oh03:01
wallyworld_where they just have not added cloud-tools to their own apt sources03:01
wallyworld_they are using local provider and local provider does not dick with their apt set up on purpose03:02
sinzuiwallyworld_, this is like kiko's production precise running lxc. He didn't have cloud-tools and we require it03:02
sinzuiso Juju on precise needs to require that the archive be added03:03
sinzuihmm03:03
wallyworld_maybe we should error early with a nice message then?03:03
sinzuiwallyworld_, I think so03:03
wallyworld_ok, will do03:03
wallyworld_i'll comment on the bug03:03
sinzuiwallyworld_, I copied lxc and other packages from ctools to ensure the right mongo and lxc were available in precise for users that upgrade without ctools03:04
wallyworld_oh, you mean those packages are in precise universe or something?03:04
wallyworld_or are they in the juju ppa?03:05
axwwallyworld_: can you please review? https://codereview.appspot.com/9214004303:13
wallyworld_axw: yeah, already looking :-)03:13
axwta03:13
axwI will get onto backporting the lxc branch03:13
wallyworld_great thanks :-)03:13
sinzuiwallyworld_, many precise local users were just using our juju ppa. It had older packages than the ones in ctools. I think I am the defactor maintainer of the ppa. I am backporting the same packages in ctools to our ppa to reduce the upgrade problems. The bug we are looking at was introduced when we decided to make juju be explicit about where the mongodb server comes from.03:16
sinzuiwallyworld_, I think checking for and requiring the ctools archive is sane. Many users didn't know they were doing ricky deployments03:17
wallyworld_sinzui: ok, great thanks. i think that bug can definitely be deferred to next stable release then03:18
wallyworld_axw: so you're sure you got all the places where EnsureEnvName() is required?03:23
axwwallyworld_: pretty sure03:23
wallyworld_ok, i'll see if i can spot any others03:23
jcw4is there a URL I can view CI builds at?03:31
sinzuijcw4, At this hour they are at http://juju-ci.vapour.ws:8080/03:37
jcw4sinzui: thank you03:42
jcw4sinzui: does the CI url change regularly?03:43
sinzuijcw4, It has in the past. We deploy it with juju into the clouds that meet our needs. I purchased a domain to stop the nonsense or url changes.03:44
sinzuiWe will probably remove the ports from the url next week03:44
jcw4sinzui: I see03:45
jcw4sinzui: thanks03:45
sinzuiwallyworld_, thumper I haven't announce the CI URL yet, but you might note I got canonistack running again. I got juju to trans-cloud machines03:46
thumperheh, nice03:47
wallyworld_great :-)03:47
sinzuiNext week I will dare to provision my three machines in the lab. That will be a networking challenge03:47
wallyworld_indeed03:53
waiganihas anyone hit this before: http://paste.ubuntu.com/7419545/04:12
waiganijuju debug-log keeps logging: "machine-0: 2014-05-09 04:14:17 ERROR juju.worker runner.go:218 exited "peergrouper": cannot get replica set status: cannot get replica set status: not running with --replSet"04:15
menn0waigani: I get that too. From bits I overheard at the sprint it's related to the HA changes but I'm not sure how much of problem it is.04:35
axwwallyworld_: lxc change is in both 1.18 and trunk now04:35
wallyworld_whoohoo04:35
menn0waigani: it would be nice if it would go away!04:35
axwwallyworld_: I've fixed the SSH thing, just gonna test it on Azure before pushing04:35
wallyworld_awesome04:35
wallyworld_i'm just about to propose a fix for another 1.19 bug04:35
waiganimenn0: I destroyed environ, re deploying everything, ensuring each agent is up before deploying the next04:36
waiganiso far so good04:36
wallyworld_menn0: waigani: that peergrouper error is log noise due to running on local provider with ha enabled - it's on "someone's" todo list to clean up04:36
axwwallyworld_: I'll fix up the EnsureEnvName stuff in trunk next, unless there's something more pressing04:36
menn0wallyworld_: cool04:37
wallyworld_axw: no, that would be next thanks04:37
waiganiwallyworld_: ah, good to know04:37
waiganimenn0: how did you go today? Did you get a working charm?04:37
menn0waigani: after getting over a few mental hurdles I now have the github-watcher charm ported to Python using charmhelpers. It's cleaner and more robust but still needs more love.04:39
menn0waigani: it's been fun though!04:39
menn0waigani: how did you get on?04:39
waiganiyay \o/04:39
waiganimenn0: agent-state-info: 'hook failed: "install"'04:40
waiganihehe, that is my latest04:40
menn0waigani: debug logging is your friend :)04:41
waiganimenn0: with less noise, yes04:41
waiganimenn0: when you say charmhelpers, do you mean the tools e.g. charm create?04:42
waiganior the hook commands e.g. relation-get ...04:43
menn0waigani: to avoid all the peergrouper noise and just see the logs for the thing you're working on, look at /var/log/juju/unit-<the unit for your charm>.log. that's what i've been looking at.04:43
waiganimenn0: awesome tip, thanks :)04:44
menn0waigani: I mean the Python package called charmhelpers. https://launchpad.net/charm-helpers04:45
waiganioh cool, a whole new world - that I'm NOT going to look at right now!04:45
menn0waigani: it provides a Python API for doing charm related things04:45
wallyworld_thumper: ping04:46
wallyworld_menn0: waigani: debug log also supports filtering, include exclude etc04:54
waiganiah cool, will try04:54
wallyworld_so you can look at info for a unit or several, and the machine it runs on etc04:54
wallyworld_see the recent release notes04:54
axwwallyworld_: the series stuff is just cut and paste right?04:55
wallyworld_axw: yep04:55
wallyworld_with a constant removed from testing04:55
wallyworld_axw: i can't see from the diff where we are testing that a pub address is used if proxy=false, but a private address is used if proxy=true05:27
axwwallyworld_: there's no explicit test for the latter; will see if I can add one05:28
wallyworld_that would be great, thanks05:28
axwwallyworld_: I changed setAddress to add an internal address, which broke the test before my fix05:28
wallyworld_yeah, i saw that we test the proxy=false case05:29
axwwallyworld_: problem with proxy=true is it causes a second invocation of juju05:29
axwwallyworld_: will see how practical it is tho05:29
wallyworld_ok05:29
thumperwallyworld_: whazzup?05:39
wallyworld_thumper: forgot to tell you - on monday we need to enter cards for the next 2 week's worth of work05:40
thumperah... ok05:40
thumperwill do05:40
wallyworld_i would think we'd need lanes for each squad05:40
* thumper thinks05:40
thumperprolly05:40
wallyworld_but i ain't got editing permissions05:40
wallyworld_i'll bug someone later05:41
wallyworld_aveagoodweekend05:42
thumperkk05:43
thumperyou too05:43
wallyworld_will try05:43
thumperchances are I'll be hacking away05:43
thumperon my personal project05:43
wallyworld_yeah, i gots stuff to do as well05:43
wallyworld_plus mother's day sunday05:44
thumperoh yeah...05:44
thumpermust not forget...05:44
wallyworld_must... not....05:44
wallyworld_me -> buy dinner food05:44
=== vladk|offline is now known as vladk
axwwallyworld_: updated tests06:35
axwfwereade: I don't understand your comment about .dns vs. .internal07:07
axwfwereade: it's using .internal because that's what the default is- to proxy and use the internal address07:08
fwereadeaxw, right -- I'm just saying that we should probably test both code paths, because they're both viable results in different situations07:10
fwereadeaxw, especially when the bug you're working on is about picking one or the other07:10
axwfwereade: ok. I thought it'd be enough to do it in the common code, but I can do it there too07:12
fwereadeaxw, this feels to me like a case where the existing testing wasn't quite covering enough, and so it's worth testing a layer up07:13
fwereadeaxw, there's a lot that sucks about testing the same stuff at every layer too07:13
axwfwereade: indeed it was not covering enough. there was some code that very subtley changed the machine addresses, took me quite a while to figure out why it wasn't working like I thought it should07:14
fwereadeaxw, but in the absence of easy mocking we just have to find a balance between testing just-one-path and all-exponential-possibilities, and I think it's reasonable to shade a little closer to the latter when fixing actual bugs07:14
axwfwereade: nps07:14
fwereadeaxw, (not that mocking is a panacea or anything but it certainly helps to control the exponential growth)07:15
vladkjam, fwereade, axw: hi07:20
axwvladk: heya07:21
fwereadevladk, morning07:22
wallyworld_axw: hi, i just got back from the vet07:30
wallyworld_looks like you got your +107:30
axwwallyworld_: hey. it's cool, fwereade has +1 and I am updating it now07:31
axwthanks07:31
wallyworld_great07:31
wallyworld_our poor dog got desexed today07:31
wallyworld_fwereade: for the kanban board,are we going to create lanes for each squad to put the 2 week cards?07:32
fwereadewallyworld_, I'm wondering if maybe we actually want a kanban board per team07:33
fwereadewallyworld_, harder to see what reviews are in flight, but there's always +activereviews07:33
fwereadewallyworld_, green have their own already07:34
fwereadewallyworld_, and honestly it felt a bit clunky with just 2 teams sharing a board before07:34
fwereadewallyworld_, 4 mightbe a couple of bridges too far07:34
wallyworld_yeah i agree07:35
wallyworld_fwereade: actually, i have soccer a bit later tonight so will miss the standup. there's a couple of things i wouldn't mind discussing. did you have time for a hangout anytime over the next hour or so?07:38
fwereadewallyworld_, I was planning to swap today for my public holiday during the sprint, so let's chat now07:44
fwereadewallyworld_, well 5 mins please?07:44
wallyworld_fwereade: it can wait, don't want to take up your day07:44
fwereadewallyworld_, let's do it anyway, start a hangout and I'll be with you v soon07:45
wallyworld_ok07:45
jam1test suite bugfix: for bug #1301353 https://codereview.appspot.com/9724004307:51
_mup_Bug #1301353: juju test suite should use juju-mongodb <tech-debt> <trusty> <juju-core:In Progress by jameinel> <juju-core 1.18:In Progress by jameinel> <https://launchpad.net/bugs/1301353>07:51
jam1fwereade: well appropriate Layering is (IMO) better than mocking, you just need a way to have an API Server that doesn't (for example) actually require a mongodb underneath07:53
fwereadejam1, I use the term mocking pretty loosely -- in my mind, that's just a mocked api server07:53
jam1that was our goals with interface based Doubles, though we only partially did it for providers07:53
fwereadejam1, indeed so07:53
jam1fwereade: sure, I just heavily distinguish Mocks from Doubles07:53
jam1Doubles can be tested alternative implementations, Mocks are "stub out just this call with this pre-canned response"07:54
jam1fwereade: anyway, if you're off today, don't bother, but the above code review should be reasonably small07:54
jam1and would be nice if we are going to have a 1.18.307:54
fwereadejam1, yeah, I guess it's just that my experience with doubles lead me to consider them to be less-reliable mocks ;p07:55
jam1fwereade: if you actually have interface testing and run your test against a double that runs against the actual you can be more confident that you actually still match reality07:55
fwereadejam1, sure -- I've just found that when things change subtly it's easier to fix mocks than doubles07:56
fwereadejam1, not trying to say it's fundamentally unworkable or anything07:56
jam1fwereade: sure, it is easier to change mocks, but it is harder to know *when* it changed and should have broken but didn't. Though again, doubles expect that you actually have good test coverage :)07:57
fwereadejam1, if you get the double-testing *right* it's easy to tell when they're no longer accurate, but I don't think there's a *fundamental* reason it's easier to test the doubles than the mocks07:57
jam1its sort of "its possible with a Double, but harder"07:57
fwereadejam1, yeah07:57
jam1fwereade: you can write a test suite that runs against the doubles and the real thing07:58
jam1Mocks tend to not be very testable to compare against something else07:58
fwereadejam1, well the biggest problem with mocks is the skew, so you have to have *some* way of testing them, but it ends up being more implicit than explicit07:59
fwereadejam1, and we all know about explicit being betterthan implicit :)07:59
fwereadejam1, LGTM08:01
jam1fwereade: if they are properly tested, then IMO their closer to Doubles08:03
jam1fwereade: I've certainly seen mostly happy-to-skew Mocks08:04
fwereadejam1, hence my fuzzy handwaving over terminology -- doubles are often overcomplicated, mocks are often undertested, I suppose I'm happiest with something in the middle :)08:05
wallyworld_jam1: i'm looking to bump bug 1307643 off the 1.18 roadmap and just fix for 1.20. how do you feel about that? i sorta think it's a corner case that we don't really need to deal with on 1.1808:51
_mup_Bug #1307643: juju upgrade-juju --upload-tools does not honor the arch <upgrade-juju> <juju-core:Triaged> <juju-core 1.18:Triaged> <https://launchpad.net/bugs/1307643>08:51
jam1wallyworld_: given that I think we are actually unlikely to get 1.20 in trusty, I think I'd rather it stayed in there.08:52
jam1wallyworld_: but it certainly doesn't block 1.18.308:52
wallyworld_hmmm. ok. i sorta though folks would just use the stable ppa moving forward08:52
jam1(I may be being pessimistic here, but our relationship and track record with Distro isn't very heartwarming)08:52
wallyworld_thought08:52
jam1wallyworld_: you don't "Just Get" the stable ppa or cloud-archive:tools on your system08:53
jam1so 1.18 is going to be the "out-of-the-box" experience people have with Juju08:53
wallyworld_sure, i guess i figured most folks using juju would be ok with adding an apt source given the nature of what juju does08:54
jam1wallyworld_: people may be comfortable with it, people just doing "what is this juju thing, and apt-get install juju" won't get what we want them to08:54
jam1wallyworld_: *hopefully* upload-tools isn't in their default flow, but I fear that it already is08:55
wallyworld_true, but how many of those would run into that particular bug?08:55
wallyworld_well, we *really* want to discourage using upload-tools08:55
wallyworld_i do think people using upload-tools equals the people who would get juju from the ppa08:55
jam1wallyworld_: until we actually address the use case (just work without scouring the internet)08:55
jam1we can't really avoid it08:56
jam1its how people testing it on a private cloud are likely to do it, but I think its fair enough08:56
jam1it does require mixed archs which is rare enough08:56
wallyworld_yeah, i figured the natre of the bug meant that people try trying out juju wouldn't come across it08:57
wallyworld_and those that did would be power users08:57
wallyworld_who would install from ppa anyway08:57
jam1wallyworld_: just to close the loop in case it wasn't clear, I'm ok with pulling it out of 1.1809:05
jam1after discussing it I think its reasonable09:05
wallyworld_ah ok, thanks. i did think you wanted it left. thanks for clarifying09:06
wallyworld_jam1: fyi, we'll be cutting either a 1.18 or 1.19 release tomorrow depending on what the maas folks say they want to use at ODS. we've put in fast lxc clonng for them (not just for local but everywhere) and driven down the bugs on both so we can pull the trigger. curtis has release notes prepared for both. i'm just waiting to hear back what they want to run with09:07
jam1wallyworld_: I thought we had to cut a 1.18 because of the Critical "sync-tools can destroy your environment" bug.09:09
jam1regardless of what we do for ODS09:09
wallyworld_jam1: the fix for that is now both in 1.18 and 1.1909:09
jam1wallyworld_: sure but we need it to go out to everyone else, too09:09
jam1(we have a critical issue in our current stable release, we should release a new version with a fix)09:10
wallyworld_jam1: yes, but curtis can only do one release at a time and we need to get ODS sorted out09:10
wallyworld_and that issue is only a very specific bug right?09:10
jam1wallyworld_: sure, I'm fine with delaying to do a different release, but we still need 1.18.3 regardles09:11
wallyworld_yes sure09:11
jam1wallyworld_: its a "nuke your running environment without running destroy-environment" bug. still pretty serious09:11
wallyworld_jam1: understood, it's just about what order we release in09:11
wallyworld_if we do a 1.19 for ODS, then 1.18.3 will have to come straight after09:11
jam1wallyworld_: I'd also like to stipulate that if we don't hear from them, just do 1.18.3 to get progress on it. (assuming that it takes 1 day to do a release, we can do whatever they like today but 1.18 if they don't say anything)09:12
wallyworld_yeah, that's what i was thinking, but we really need to know if they want the maas name placement stuff which is missing from 1.1809:13
jam1wallyworld_: and HA09:13
wallyworld_well, i guess so. but i didn't *think* that was goingto be the main focus09:13
jam1wallyworld_: alexis was telling us "we must have HA in by Apr 25 so that jamespage can put the demo together for ODS".09:14
jam1that may have been tempered09:14
wallyworld_i asked little mark and dan and alexis 12 hours ago so hopefully they'll get back to me09:14
wallyworld_if not, they get what they get, right?09:15
jam1I did think that 1.19 was the plan for ODS09:16
jam1but only as a 3rd person observer09:16
jam1I haven't been in any of the actual conversations around it09:16
wallyworld_then adam indicated they might want 1.18 so we're getting mixed messages09:16
wallyworld_me either09:16
wallyworld_hece i asked them explicitly to tell us - we're good to go on both09:17
* jam1 realizes that with his wife away, his ability to separate himself from work-time diminishes greatly09:18
wallyworld_yep :-)09:19
voidspacehmmm... I have that issue where I blow away ~/.juju and then generate-config fails because it somehow creates (without sudo) a ~/.juju owned by root09:19
voidspacethis is on a different machine09:20
wallyworld_axw: we may want to land the 1.18 fix for bug 1316869 straight into 1.19 so we can release if required, and do a followup to clean it up09:20
_mup_Bug #1316869: juju sync-tools destroys the environment when given an invalid source <juju-core:In Progress by axwalk> <juju-core 1.18:Fix Committed by axwalk> <https://launchpad.net/bugs/1316869>09:20
voidspacerebooting09:21
axwwallyworld_: 1.19 isn't really affected that badly09:21
axwwallyworld_: it was already partially fixed09:21
jam1voidspace: I've seen that, and even when it isn't using local. I was pretty surprised by it09:21
voidspacejam1: I have no environment and I *was* using openstack09:22
axwwallyworld_: there's one case where it could occur, which is if someone had an environments.yaml with multiple environments and no specified default (and no current-environment)09:22
jam1wallyworld_: it should be possible to just merge 1.18 into trunk. I've been keeping it in sync09:22
voidspacejam1: even happens in a new shell that I've not used sudo in09:22
jam1voidspace: yeah, I never dug into it, but I have seen it.09:22
jam1voidspace: I have  the feeling we aren't actually doing sudo09:22
axwwallyworld_: I'm in the process of fixing up trunk... but if you really want to merge it forwards, that's fine09:22
voidspacerebooting as that was the only way I fixed it at the sprint09:22
voidspaceodd09:22
jam1maybe we are trying to chown it and accidently suppling UID =009:22
voidspaceright, that sounds likely09:23
wallyworld_axw: i just want to ensure that by your EOD, we have everything in place to pul the tigger on 1.19 if needed09:23
jam1like we were trying to fix the old bug about creating it as root, and the old fix to chown it back to $REAL_USER is still running09:23
jam1only REAL_USER isn't set, so we get UID=009:23
axwwallyworld_: IMHO it is not critical for 1.19, so it could be cut now09:24
wallyworld_axw: ok, what i'll do after soccer is just merge 1.18 into trunk so they're consistent09:25
axwokey dokey09:25
perrito666morning09:57
voidspacenatefinch: morning10:21
natefinchvoidspace: morning10:21
voidspacewwitzel3: ping10:27
* perrito666 has restore working except for a quoting nightmare on the bash script10:37
natefinchperrito666: awesome!10:38
perrito666I am thinking that it might be healthier to just send the script and run it remotely instead10:39
natefinchperrito666: what are you doing now?10:43
perrito666natefinch: well, currently the bash script is just a text template that i generated and being run over ssh10:44
natefinchperrito666: do you know about backticks for quoted strings?10:46
perrito666I do, altough the resulting script is very oddly quoted10:48
perrito666is standup at extremely early times happening today?10:49
perrito666or we already moved to our own teams one?10:49
natefinchI was assuming we were doing our own today10:50
wwitzel3voidspace: pong10:55
voidspacewwitzel3: hey, hi10:55
=== nessita_ is now known as nessita
perrito666sinzui:12:28
perrito666amazon restored12:28
perrito666PASS12:28
perrito666:D12:28
sinzuiperrito666, oh, should I re-enable the backup and restore test?12:28
perrito666sinzui: nop, I will propose the fix now and let you know when its landed :D just wanted to share the joy with someone else than my neighbors who are certainly happy that I scream of joy in the morning before they get up12:29
sinzui:)12:30
sinzuiwallyworld_, backporting features to stable jepardises the release's inclusion in Ubuntu12:51
wallyworld_which bug in particular?12:51
sinzuiwallyworld_, I think Ubuntu will reject 1.18.3 for trusty if it contains lxc-use-clone12:52
wallyworld_oh. but what if the maas h=guys need it for ODS12:52
sinzuiwallyworld_, The maas guys are not Ubuntu12:53
wallyworld_hmmm. but i think the bug was raised against 1.18 in the first place12:54
sinzuiwallyworld_, Ubuntu is still on 1.18.1. We can choose to ignore the situation and focus on getting 1.20.0 out with a MRE12:54
wallyworld_not sure now12:54
sinzuisorry SRU12:54
wallyworld_i'd love 1.20 to replace 1.18 in the archive12:54
sinzuiwallyworld_, Ubuntu look at the diff. If they see lots of adds to introduce new behaviour, they will reject the micro version12:55
wallyworld_ok. so how to we handle the friction bewteen that and what customers (who are the ones who give us $$$$) want12:56
sinzuiwallyworld_, I am in favour of helping the maas guys, I just want everyone to know that  Ubuntu has strict notions of what a micro release can contain12:56
wallyworld_maybe Ubuntu need to be pragmatic?12:57
sinzuiwallyworld_, remember that Ubuntu rejected backup and restore additions to 1.16.12:57
wallyworld_it's not like it's a lib with 1000000000 users12:57
sinzuiwallyworld_, they are being pragmatic, they do not accept new features because enterprise hates change12:57
wallyworld_and enterprise also need s features like backup and restore12:58
wallyworld_or else we wouldn't have had so much pressure to add that by a big enterprise12:58
sinzuiwallyworld_, And enterprised used CTS's and our versions on the juju,12:59
jcastrowallyworld_, that's why the ubuntu cloud archive exists13:20
wallyworld_maybe juju belongs in there then?13:20
jcastrohttps://launchpad.net/~ubuntu-cloud-archive/+archive/cloud-tools-next13:21
wallyworld_so it's there already13:23
jcastroyeah, but it doesn't have the strictness of the proper archive, this lets us eat our cake13:24
wallyworld_jcastro: in that case, why was sinzui saying we shouldn't backport features to the 1.18 series, if juju is in cloud archive?13:24
sinzuiwallyworld_, cloud-tools is for precise13:24
wallyworld_doesn't trusty also have cloud-tools?13:25
sinzuiwallyworld_, no13:25
wallyworld_why?13:25
sinzuibecause we agreed last October to be very make juju super reliable with clearly define bugs and features to make Ubuntu like us13:26
wallyworld_lol13:27
wallyworld_we need to add new features at a rate greater than ubuntu will let us13:27
sinzuiwallyworld_, If Ubuntu trusts juju, they will mre and sru it into trusty so that all users get it13:27
wallyworld_i can't see that the need for cloud-tools is gone13:27
jcastronew features won't go into ubuntu, they will go into the PPA and UCA13:27
wallyworld_jcastro: sometimes new features are a bug raised against 1.18 eg fast lxc13:28
sinzuiwallyworld_, In Vegas we discussed the issue again. Changing packaging to provide a juju-client that is super stable and featureful juju-agents that are in the clouds may be a viable compromise13:29
wallyworld_and so we would expect 1.18.x to be put in trusty wouldn't we?13:29
sinzuiwallyworld_, Everything in Lp is called a bug13:29
wallyworld_that would be good13:29
sinzuiThey are just issues.13:29
wallyworld_sure. but if a customer says 1.18 is unusable because feature x is missing what do we do13:30
sinzuiwallyworld_, If we removed the config and made fast-lxc work, the  diff might look more like fix13:30
jcastrowallyworld_, it's not like they're being strict for no reason, there's 10 years of regressions and feedback from tons of projects who have tried.13:30
jcastrowallyworld_, they use the ubuntu cloud archive13:30
wallyworld_but there's no clod archive for trusty13:30
jcastrowell, it's fresh so we didn't really need it yet13:31
sinzuiwallyworld_, Customers don't care about semantics. Ubuntu cares about the diff. There is no point i arguing with me because I am not an Ubuntu upliader13:31
wallyworld_sorry, not meaning to argue, just trying to understand13:31
wallyworld_i just want to make customer happy13:32
jcastroit's ok13:32
jcastrothe way distros work is weird13:32
jcastrowallyworld_, ok so the question is basically now "I have fixes that need to go to support MAAS and customers, and we think the diff might be too large to SRU into Ubuntu, is trusty cloud archive coming soon?"13:33
wallyworld_yeah, that sounds like what would be needed i think13:33
sinzuiwallyworld_, Ubuntu cares about the meaning of major, minor, and micro. Micro doesn't introduce  configurable features. micro fix bugs in the code, not add new ways to use the software. lxc was not broken. It works fine of local-provider and that is what we documented. Adding fast-lxc is a minor change, extending an existing feature to be used elsewehere13:34
wallyworld_sinzui: we made it configurable (default existing behavior) so as to be stable so that seems ironic :-)13:35
jcastroyou'd be surprised at the amount of things that can sneak into things like that; which is why they're strict by default13:36
wallyworld_sinzui: so for 1.19.2, there's one remaining critical bug: 1316869. i've just propose a mp which merges 1.18 into trunk which will fix that bug. as soon as that lands, 1.19.2 should be shippable13:37
wallyworld_https://code.launchpad.net/~wallyworld/juju-core/merge-latest-1.18/+merge/21898913:37
hazmat`wallyworld_, so prior to that merge lacking 'current' env file, any command that failed would destroy an env? i'm trying to understand where that destroy env logic is lurking.13:45
hazmat`that bit on sync-tools13:45
sinzuiwallyworld_, okay. I am pulling down 1.18.2 tarball and win installer13:46
wallyworld_hazmat`: i'm not sure that is was any command. i thought it was just sync-tools13:46
wallyworld_but i could be wrong13:47
hazmat`wallyworld_, fair enough.. but i didn't see any destroy logic in sync tools or sync/sync.go .. and the fix doesn't appear to touch that either.13:47
wallyworld_the fix for 1.18 cleaned up a bit of stuff in that area which we want in trunk also13:47
wallyworld_let me check13:47
=== liam_ is now known as Guest67023
wallyworld_hazmat`: cmd/juju/synctools.go is changed13:48
wallyworld_natefinch: can i bother you for a review of the above mp? it's a merge of 1.18 into trunk to pick up a fix for bug 1316869. the changes end up being mechanical - replace EnvCommand.Init() with EnvCommand.EnsureEnvName()13:48
_mup_Bug #1316869: juju sync-tools destroys the environment when given an invalid source <juju-core:In Progress by axwalk> <juju-core 1.18:Fix Committed by axwalk> <https://launchpad.net/bugs/1316869>13:48
wallyworld_sinzui: what do you mean by pulling down?13:50
hazmat`wallyworld_, ic.. environFromName returns a cleanup/destroy env function13:52
wallyworld_hazmat`: also, i was told trunk (1.19) didn't really suffer the issue like 1.18 did. but 1.18 improved the checking and so we wanted that in trunk as well13:52
sinzuiwallyworld_, CI makes the the tarball and installer and tests it. There is little point of risking me making something different from what CI tested13:52
wallyworld_sure. i was just confused my 1.18.2. did you mean 1.18.3?13:53
sinzuiI do mean 1.18.313:55
wallyworld_sinzui: ok. hopefully someone will +1 that mp and 1.19.2 can be ready for release also13:56
wallyworld_i still haven't heard back what the maas folks want to use13:56
wallyworld_1.18 or 1.1913:56
sinzuiwallyworld_, should I just release both today and tomorrow?13:57
wallyworld_sinzui: if you could that we be \o/13:58
wallyworld_would13:58
natefinchwallyworld_: I can review it in a minute13:58
wallyworld_then at least we have done our best to help them13:58
wallyworld_natefinch: thank you13:58
wallyworld_as soon as i land it i'm off to bed cause it's just turned into saturday here13:59
natefinchvoidspace: standup?14:00
voidspacenatefinch: coming14:01
perrito666if anyone has a moment https://codereview.appspot.com/94330043 please?14:31
wallyworld_natefinch: i gotta sleep, but if you did look at the mp (sorry rietveld rejected it) and +1 it, could you please also change to Approved so it lands. thanks14:36
natefinchwallyworld_: haven't looked yet, looking now.  Will reapprove after14:50
=== Guest66499 is now known as bodie_
perrito666sinzui: are there ci tests for this? https://bugs.launchpad.net/juju-core/+bug/130502615:06
natefinchman I wish canonical admin would do dates in yyyy/mm/dd ... I see a vacation from 06/10/2014 to 07/10/2014 and I think someone's taking a month off :/15:40
perrito666natefinch: it would be nice if it would use localized dates, or else that person might inadvertedly ask for a month vacation :p15:42
natefinchperrito666: that's why I specified yyyy/mm/dd because that's universal.  But yes, localized would also be good.15:42
sinzuiperrito666, no. but since the restore and HA tests use the same test base, I think I can add a test by Monday that will work15:49
perrito666sinzui: ill test by hand in the mean time, tx15:49
sinzuinatefinch, perrito666 Do either of you have a minute to review https://codereview.appspot.com/9217004316:31
natefinchsinzui: sure16:31
natefinchsinzui: looks like dimitern already got it16:31
dimiterni'm fast ;)16:31
sinzuivery fast. Thank you dimitern16:32
dimiternsinzui, np16:35
jcastroERROR state/api: websocket.Dial wss://10.0.3.1:17070/: dial tcp 10.0.3.1:17070: connection refused17:38
jcastrocan someone help me get around this error?17:38
jcastroI've done destroy-environment --force17:38
jcastrothen I don't have any juju processes running17:39
jcastrothen I rebootstrap, and always end up with this17:39
perrito666do we have any HA docs?17:46
perrito666jcastro: do you have the output of bootstrap with --debug?17:46
jcastrohttp://pastebin.ubuntu.com/7422575/17:47
jcastrothere ya go!17:47
* perrito666 looks17:48
natefinchjcastro: this is local, right?17:48
jcastroyep17:48
natefinchjcastro: do ps -Al | grep lxc   in my experience, sometimes lxc gets stuck and multiple lxc processes end up getting hung up.  Usually requires a reboot to fix17:49
jcastrono containers running17:50
jcastroshould I reboot?17:51
natefinchjcastro: did you reboot, or was that just good timing? :)17:54
jcastrono I rebooted17:55
natefinchdid it work?17:55
jcastrocleared out jenv file and the local directory in .juju17:55
jcastrosame issue17:55
natefinchweird17:55
jcastronatefinch, how about mongodb?18:03
jcastrois there a daemon I can kill to start it over?18:03
natefinchjcastro: ps -Al | grep mongod18:07
jcastroyeah I had already killed that. :-/18:08
natefinchjcastro: this is my killlocal.sh :18:08
natefinch#!/bin/bash18:08
natefinchsudo rm  /etc/init/juju*18:08
natefinchsudo rm -rf ~/.juju/local18:08
natefinchrm ~/.juju/environments/local.jenv18:08
natefinchsudo killall mongod18:08
natefinchsudo killall jujud18:08
jcastrohttp://askubuntu.com/questions/403618/how-do-i-clean-up-a-machine-after-using-the-local-provider18:09
jcastroI am doing this one now18:09
natefinchjcastro: ahh, yeah, that cleans up some stuff I missed18:09
natefinch(mainly lxc stuff, which is honestly most likely the culprit)18:10
jcastrosame issue. :-/18:11
natefinchwhat does which mongod tell you?18:12
jcastrohuh18:12
jcastromongodb-server not installed?18:12
jcastrothat can't be right18:12
natefinchno, that's ok.  juju-local puts it in /usr/lib/juju/ .... something something18:13
natefinchwhich is not in the path18:13
jcastrolet me add the juju ppa18:13
jcastroI am on 1.18.118:13
jcastronatefinch, ok I have a deadline, so off to AWS I go!18:20
jcastrothanks anyway18:20
=== vladk is now known as vladk|offline
=== vladk|offline is now known as vladk
=== vladk is now known as vladk|offline
_benoit_Hi19:01
_benoit_niemeyer: So I want to add support in juju-core for Outscale SAS19:01
_benoit_niemeyer: they are a cloud provider implementing most of the EC2 API but not implementing S319:02
niemeyer_benoit_: Okay19:02
_benoit_niemeyer: tim told me I could replace S3 by an  http storage worker19:02
niemeyer_benoit_: Do they have any notion of storage API?19:02
_benoit_niemeyer: for now I patched goamz and created a directory for the outscale provider19:03
_benoit_niemeyer: no19:03
_benoit_niemeyer: I also created their instance.go file19:03
niemeyerSorry..19:03
niemeyermy xchat is misbehaving.. let me reconnect19:03
_benoit_niemeyer: but I don't see how I can reuse the EC2 code since most structure name are not capitalized (exported)19:04
niemeyerOkay19:04
niemeyer_benoit_: You say you patched goamz.. what for?19:04
_benoit_niemeyer: to add their regions (I submited the patch)19:05
niemeyer_benoit_: Ah, okay19:05
_benoit_niemeyer: I also added panic for nil endpoint in the other New constructor like you suggested19:05
niemeyer_benoit_: So it's plain EC2 sans S3?19:05
_benoit__benoit_: the future release is almost EC2 excepted a few bits (they are adding VPC in this release)19:06
_benoit_s/_benoit_/niemeyer/19:06
_benoit_and yes no S3 and no storage19:06
_benoit_niemeyer: that the compatibility matrix of the current version -> (without VPCs for now) https://wiki.outscale.net/display/DOCU/AWS+Compatibility+Matrix19:07
niemeyer_benoit_: No S3 and no storage? What's the difference between these?19:08
_benoit_niemeyer: I mean dont even have an equivalent to S319:08
niemeyer_benoit_: Ah, okay19:08
niemeyer_benoit_: So, did you manage to make it work?19:09
_benoit_niemeyer: No19:09
_benoit_niemeyer: I am still stuck trying to find a way to "inherit" EC2 stuff so I don't have to copy paste19:09
_benoit_I am new to go but have a C/Python background19:10
niemeyer_benoit_: Why do you need to copy & paste?19:10
natefinch_benoit_: if they're really so similar, it might make sense to have them in the same package19:10
niemeyer_benoit_: I mean, more specifically..19:10
niemeyer_benoit_: Why are you not using the ec2 backend itself?19:10
natefinchniemeyer: I think he means that the juju provider/ec2 code is almost entirely non-exported, and he wants to reuse a substantial portion of it19:11
niemeyernatefinch: I get that, thanks19:11
natefinchok19:11
_benoit_niemeyer: If you think patching the ec2 provider is the way I'll do it like that19:11
niemeyer_benoit_: It's certainly where I would start19:12
_benoit_niemeyer: do you have any hint to do this ?19:12
_benoit_niemeyer: Given that the differences are regions, instance types price and no S319:12
niemeyer_benoit_: To begin with, I'd try using Amazon's S3 with the EC2 endpoints of Outscale19:12
niemeyer_benoit_: This can get you to experience something actually working19:13
_benoit__benoit_: ok Is there a recipe to bootstrap a juju comptible ubuntu AMI ?19:13
_benoit__benoit_: maybe a list of packages to install on a ubuntu AMI ?19:13
niemeyer_benoit_: juju uses a plain Ubuntu AMI19:13
_benoit__benoit_: would debootstrap work for this ?19:14
niemeyer_benoit_: It's tailored for juju with the proper packages at startup time19:14
niemeyer_benoit_: By juju itslef19:14
niemeyer_benoit_: debootstrap?19:14
_benoit__benoit_: debootstrap is a way to create a debian or ubuntu system from scratch in a chroot19:14
niemeyer_benoit_: I know what it is, but why are we talking about it?19:15
_benoit__benoit_: Outscale have only debian AMI right now19:15
_benoit_s/_benoit_/niemeyer/19:15
niemeyer_benoit_: Oh, that'd be an issue19:15
niemeyer_benoit_: Does it support custom images?19:15
_benoit_niemeyer: I was wondering if I could could create the first ubuntu image with debootstrap19:15
niemeyer_benoit_: I would write them and ask about Ubuntu images19:16
niemeyer_benoit_: Explaining you want to use juju19:16
_benoit_niemeyer: I would attach and EBS format it and dump a root filesystem on the EBS19:16
niemeyer_benoit_: SUre, whatever works.. you'll need to talk to them to sort out how to get an Ubuntu image there19:16
_benoit_niemeyer: Ok19:16
_benoit_niemeyer: thanks I think I have the first step to do19:17
niemeyer_benoit_: Super, glad it was useful19:17
niemeyer_benoit_: Please let us know how it goes19:17
_benoit_niemeyer: I'll do this monday and get back to you once it work to have some guidance for the rest19:17
_benoit_niemeyer: which timezone are you in ?19:17
_benoit_niemeyer: so I can catch you outside of lunch hours ;)19:20
_benoit_niemeyer: super thanks19:21
niemeyer_benoit_: I'm in UTC-319:21
_benoit_niemeyer: I am in UTC+119:21
niemeyer_benoit_: It's not too hard to find me here, but it's pretty certain you can find help coming here at any time19:22
_benoit_ok19:22
_benoit_have a nice week end19:22
MakyoCan you refer to a machine later on in the list of MachineParams, i.e.: [{create machine 1}, {create lxc on machine 1}] in the same AddMachines API call?19:37
Makyo(I'm guessing probably not due to needing to know the machine name before adding containers.)19:40
natefinchMakyo: what are you trying to do?  Just add a machine with a container on it?19:46
Makyonatefinch, adding AddMachine support in the GUI.  I was just wondering if the API call added machines in the MachineParams array one at a time synchronously.19:47
natefinchMakyo: I'm pretty sure you can just do "Create machine with lxc" and it'll create a new machine with an lxc container on it19:50
natefinchMakyo: AddMachineParams has a ContainerType you can set19:53
Makyonatefinch, I think we have much of that mirrored on our end: https://github.com/juju/juju-gui/blob/develop/app/store/env/go.js#L921 I was just wondering since AddMachines takes an array of AddMachineParams.  Are those expected to be completed in order?  Create machine, create one container on that machine, create a second...&c19:55
natefinchMakyo: I wouldn't rely on them being executed synchronously, in order.19:56
Makyonatefinch, Alright. Will work with that assumption, then.19:57
MakyoThanks!19:57
natefinchMakyo: right now they are, but that's an implementation detail that may change.19:58
natefinchMakyo: we'd like to batch up the provider requests into a single request, so we just say "make these 50 machines" rather than saying "make this one machine" 50 times.19:59
Makyonatefinch, alright, thanks.  Will make note of that in our docs.20:03
natefinchMakyo: welcome20:03

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