/srv/irclogs.ubuntu.com/2014/08/13/#juju-dev.txt

axwmenn0: hey, you're not looking at the manual provider bug atm are you?01:14
axwI can see the problem now - just added a comment to the bug01:14
axwoh, I see natefinch has a PR up...01:16
waiganiaxw: I was going to see if reverting my 'manual provision with custom ssh key' branch fixes it. Should I keep on or have you got it?01:43
axwwaigani: I can repro in my env now, so leave it with me for now01:44
axwwaigani: I'm pretty sure it was failing before your change went in01:44
axwwill see tho01:44
waiganiaxw: okey dokey01:44
axwwaigani: nothing to do with your change, it's related to removal of storage02:01
waiganiaxw: okay, thanks02:01
* thumper stares at this code trying to work out what is different02:12
menn0axw: nate's change went in02:26
menn0with it I can happily bootstrap using the manual provider02:27
menn0the CI test is still failing, but in a different way02:27
menn0the SSH key error that waigani was referring to02:27
menn0axw: to answer your original question, no I'm not looking at this bug any more02:28
axwmenn0: thanks, no problems; I found the issue02:29
axwhttps://github.com/juju/juju/pull/504  <- review please someone02:32
axwfixes CI blocking bug02:32
menn0axw: looking02:34
axwmenn0: agreed about using use-sshstorage. do you have any ideas of what else I can use there?02:41
menn0axw: not off the top of my head02:41
menn0axw: I'm concerned that if change how SSH storage is used, this code is going to break02:42
menn0(e.g. if we stop using it all together, or start using it for the bootstrap node)02:42
axwmenn0: I understand and agree, but at this point I don't think there's an alternative02:43
axwprobably we should have a provider independent way of determining whether you're running from inside the env02:43
menn0axw: I'll trust your judgment on that02:43
axwsomething like use-sshstorage, but for this purpose02:44
menn0could we have some tests that ensure that SSH storage is used in the current way?02:44
axwthere are I'm pretty sure02:44
axwI just added one, too02:44
axwi.e. that verification is elided if use-sshstorage=false02:45
menn0I'm thinking something right next to these tests that emit a message if they fail to remind us that this code needs to be updated02:45
menn0I saw your test and that's obviously required02:45
menn0but I'm also wondering if it's possible to have something that checks useSSHStorage on a bootstrap node, and not and ensures it's what we expect here02:46
menn0if it fails then it should error with something like: u"seSSHStorage semantics have changed. Please update manualEnviron.StateServerInstances"02:47
menn0maybe that's overkill02:47
menn0or too hard02:47
menn0but that's the kind of thing I'd aim for02:47
axwmenn0: there's also tests in provider_test.go that check that Prepare sets use-sshstorage, and Open doesn't. there should be one for Bootstrap too, I'll add one02:48
menn0ok sounds good02:48
axwtho testing Bootstrap may be a PITA, will see...02:48
menn0axw: if it's going to be too hard then leave it02:50
menn0it's probably more important to get this fix in at this point02:50
axwmenn0: shouldn't take long I think, I'll see how I go02:50
axwwon't waste too much time on it02:50
menn0sweet02:50
menn0well you have my LGTM anyway02:50
menn0axw: just remembered... not sure if you need someone else's too. I'm a "junior reviewer". thumper?02:51
* thumper sighs...02:52
menn0:)02:52
thumperI should sort that shit out02:52
* thumper looks02:52
menn0thumper: at least this one is a small change02:52
=== blackboxsw is now known as blackboxsw_away
* thumper needs to take kid to hockey03:19
thumperbbl03:19
jcw4thanks axw04:16
axwjcw4: nps04:16
jcw4is there a publicly accessible repo with the funcitonal tests used by jenkins?04:34
jcw4s/funcitonal/functional/04:34
jcw4ah, I'm guessing it's https://code.launchpad.net/juju-ci-tools04:51
ericsnowif anyone has some time, I'd really appreciate a review:  https://github.com/juju/utils/pull/16 https://github.com/juju/utils/pull/19 https://github.com/juju/juju/pull/462 https://github.com/juju/juju/pull/45305:51
voidspacemorning all05:51
ericsnow:)05:51
voidspaceericsnow: a little collection there!05:51
voidspaceericsnow: morning05:51
ericsnowvoidspace: noone wants to review them :(05:52
voidspaceericsnow: hehe, let me get coffee and I'll take a look05:52
ericsnowvoidspace: FYI, 55a9507 (drop direct mongo access) got reverted because it broken restore05:52
voidspaceericsnow: restore needs direct mongo access?05:53
voidspacethat's horrible05:53
ericsnowvoidspace: apparently05:53
ericsnowvoidspace: for now (the new restore won't)05:53
ericsnowand with that, I'm going to bed!05:53
voidspaceericsnow: goodnight!05:54
dimiternmorning06:03
voidspacedimitern: morning06:11
voidspacedimitern: so "shutting off direct db access" got reverted06:11
voidspacedimitern: as it was this change that broke restore :-(06:12
voidspacedimitern: I thought restore used ssh rather than direct mongo access, but it seems I'm wrong06:12
dimiternvoidspace, oh, bugger :(06:28
dimiternvoidspace, I think restore needs to be smarter06:29
dimiternvoidspace, and use ssh to run mongo commands remotely06:31
voidspacedimitern: right06:31
voidspacedimitern: but restore is being changed anyway, so the "new restore" will be smarter06:31
voidspacebut until then...06:31
dimiternyeah..06:32
=== uru__ is now known as urulama
TheMuemorning07:36
dimiternmorning TheMue07:43
voidspac_TheMue: morning08:00
voidspac_does anyone know the lxc-create magic invocation to get it to share home directory with the host?08:22
dimiternvoidspac_, why do you need this?08:30
voidspac_dimitern: especially for nested lxc containers it makes experimenting simpler08:31
voidspac_dimitern: shared access to scripts / ssh keys etc08:31
voidspac_dimitern: only for experimentation08:31
dimiternvoidspac_, you can take a look at man lxc.container.conf - there is a way to specify additional mount points there; or just ask stgraber or hallyn in #server (@can)08:31
voidspac_dimitern: there's a u1 development wiki page that explains it somewhere, I'm looking now08:31
voidspac_it's how we used to do dev (inside an lxc container)08:32
dimiternvoidspac_, ah, nice08:32
voidspac_very useful, if you screw up your dev environment just blow it away and create a new one08:32
dimiternvoidspac_, take a look at https://wiki.debian.org/LXC - "Bind mounts inside the container" section08:34
voidspac_dimitern: thanks08:34
voidspac_dimitern: https://wiki.canonical.com/UbuntuOne/Developer/LXC08:40
voidspac_dimitern: sudo lxc-create -t ubuntu -n u1-precise -- -r precise -a i386 -b $USER08:40
voidspac_obviously modifying appropriately for trusty / amd6408:41
voidspac_but it's the -b $USER08:41
dimiternvoidspac_, ah, even nicer, thanks! :)08:41
voidspac_then start the container as a daemon, ssh in and do your dev work there08:41
dimiternvoidspac_, so you can still mess up your /home from inside the container, but nothing else?08:42
voidspac_dimitern: right08:42
voidspac_dimitern: and you can have separate ppas and packages installed08:42
* TheMue just wondered where his blocked PR is and then recognized that the bot merged it half an hour ago :)08:46
fwereadedammit, I thought it was quiet -- irc client wasn't actually running :/08:47
TheMue*rofl*08:48
TheMuemorning fwereade08:48
axwfwereade: I thought you were just hiding :)08:48
fwereadeaxw, if I'd realised I was I would have been coding ;p08:49
menn0hello peoples08:49
axw:p08:49
* menn0 is back for more08:49
fwereademenn0, everybody, heyhey :)08:49
voidspac_fwereade: morning :-)08:49
voidspac_menn0: morning08:49
rogpeppewallyworld: just checking: have you seen the issues that i raised on juju/blobstore? i was wondering what your thoughts were there.09:00
wallyworldrogpeppe: no, haven't seen them, have been focused on 1.20 issues and the sprint last week. i'm back at work tomorrow. do you have bug numbers?09:29
rogpeppewallyworld: https://github.com/juju/blobstore/issues09:31
wallyworldrogpeppe: oh, ok. we should be using launchpad for rasing bugs09:32
wallyworldotherwise i don't see them09:32
rogpeppewallyworld: ah09:32
wallyworldand we can't track them into milestones09:32
rogpeppewallyworld: i thought it was more appropriate to raise the issues against the repo itself09:32
rogpeppewallyworld: but i see the milestone issue too09:33
wallyworldfor sub repos, that may be a good point09:33
wallyworldbut, yeah, it's sort of messed up using two tools09:33
wallyworld9 issues :-(09:33
wallyworldi may not get to look in detail till a bit later this week09:34
rogpeppewallyworld: (there's no way of tracking external bugs in lp?)09:37
rogpeppewallyworld: if you starred juju/blobstore, i think you might get email messages about issues etc with it. (but maybe that's another setting)09:37
rogpeppewallyworld: some are harder to fix than others09:38
wallyworldrogpeppe: there is a way of importing bugs yes; it would need to be set up. but since we use lp for juju-core, i'm conflicted about introducing a separate  tools for other things09:38
wallyworldi may have got emails buried in  my in box, will need to check - i didn't have filters set up09:39
rogpeppewallyworld: the other side of that coin is that if you're looking at a sub-repo, it makes sense to be able to trivially see all the bugs associated with it09:41
rogpeppewallyworld: but i'm happy to move the bugs to lp if you think that's better.09:41
wallyworldrogpeppe: yeah, i would prefer other affected people help make that call, not just me. i suspect the answer will be juju-core stays in lp and the sub repos are in github since they are just libraries and don't have a release schedule as such09:42
wallyworldBeret: hi, sorry i only just saw your ping in the back scroll (I've been off on leave for a few days). that work hasn't started yet but i hope to have something done by end of week for Juju 1.21 alpha09:49
gsamfirahello folks. Anyone care to review: https://github.com/juju/juju/pull/499 ? :)10:47
mattywfwereade_, ping?11:22
fwereade_mattyw, pong11:22
* dimitern lunches11:45
perrito666voidspac_: r u there?12:40
hazmatfwereade_, if you can't make the txn meeting.. i'd prefer we just push it one day or alternatively move it to earlier today (+ natefinch)12:49
natefinchhazmat: with the toasca thing at 10, we'd have to meet like right now to make it in earlier today.12:55
hazmatnatefinch, yup12:56
mattywdimitern, ping?12:56
dimiternmattyw, pong13:07
fwereade_hazmat, I'm about to go out now and *hope* I will be back by 513:10
voidspac_perrito666: yep13:10
fwereade_hazmat, and I haven't taken my swap day yet and was going to take it tomorrow13:10
fwereade_hazmat, natefinch: I would hope you can be somewhat productive without me?13:10
perrito666voidspac_: I reverted a PR from you last night13:10
voidspac_perrito666: I saw13:10
voidspac_*grrr*13:11
voidspac_:-(13:11
voidspac_perrito666: restore still requires direct db access13:11
voidspac_so we can't close it off just yet13:11
perrito666voidspac_: new restore does too, but I do accept ideas to change that13:12
voidspac_perrito666: ssh13:12
voidspac_perrito666: we want to close off direct db access13:12
perrito666voidspac_: I am a bit curious, how is db access going to be done now?13:13
voidspac_perrito666: not externally13:13
voidspac_perrito666: db access externally should never be needed - all calls should go through the api13:13
voidspac_perrito666: and the state server wouldn't need the port to be open to connect to it on the same machine13:14
voidspac_perrito666: so if access to the db is needed an api endpoint should be created - or ssh used13:14
perrito666voidspac_: wait, it means that the db would be listening locally?13:16
perrito666as in localhost:FORMERSTATEPORT ?13:16
voidspac_perrito666: yes13:16
voidspac_perrito666: it already is13:16
voidspac_I believe13:16
hazmatfwereade_, k, hopefully we'll see you at 5 then, have fun.13:16
perrito666voidspac_: well your patch changes that13:16
voidspac_perrito666: I didn't believe so13:17
perrito666voidspac_: since this stopped working:13:17
perrito666mongo --ssl -u admin -p {{.AgentConfig.Credentials.OldPassword | shquote}} localhost:{{.AgentConfig.StatePort}}/admin --eval "$1"13:17
perrito666:)13:17
perrito666you might want to add a test for that13:17
perrito666and that is run via ssh13:17
voidspac_perrito666: show me where my patch changes that?13:17
perrito666into the machine13:17
voidspac_perrito666: in the code13:18
voidspac_...13:18
voidspac_perrito666: it may just be that the template doesn't work now13:18
perrito666voidspac_: possible13:18
voidspac_the port (and port binding) didn't change13:18
perrito666I also thought of that13:18
voidspac_in which case that is much easier to fix I think13:18
perrito666voidspac_: sorry I did not try to fix it more in depth, we really needed CI back13:19
voidspac_perrito666: no problem - so long as new restore is implemented not needing external db access13:20
perrito666voidspac_: well if you can guarantee that localhost:StatePort works should be no problem13:20
voidspac_perrito666: cool13:20
=== ChanServ changed the topic of #juju-dev to: https://juju.ubuntu.com | On-call reviewer: see calendar | Open critical bugs: None
wwitzel3woohoo .. None13:23
ericsnowperrito666, voidspac_: If StatePort is gone then it definitely makes sense that {{.AgentConfig.StatePort}} no longer works in the template.13:23
voidspac_ericsnow: it's not gone, it's just not opened externally13:23
perrito666ericsnow: I am taking state port from the agent.config and it still is there13:23
voidspac_I don't believe I actually removed it from AgentConfig13:23
voidspac_trying to get back to the original PR as it's now closed13:24
perrito666voidspac_: I wonder if its a problem derivedfrom the permision groups in ec213:24
ericsnowvoidspac_, perrito666: ah13:24
perrito666which would not make much sense but hey, you never know13:24
perrito666voidspac_: https://github.com/juju/juju/pull/449/files13:24
ericsnowperrito666: weren't the failures on the HP cloud?13:24
perrito666ericsnow: ah not sure actually13:25
perrito666sinzui: ?13:25
sinzuiperrito666, at this hour there are no critical bugs affecting juju devel or stable. This is the first time in months13:26
perrito666sinzui: dont jinx it13:27
perrito666sinzui: was the error happening in hp too?13:27
ericsnowrogpeppe: could you take another look at https://github.com/juju/utils/pull/16?13:27
ericsnowperrito666: from http://juju-ci.vapour.ws:8080/job/functional-backup-restore/1309/console: "https://region-a.geo-1.objects.hpcloudsvc.com/v1/..."13:29
sinzuiperrito666, I am not sure what the question is. restore has failed on both aws and hpcloud. it is currently testing on hpcloud. I changed it last week to see if the recent bug was different on Hp13:29
perrito666sinzui: this could be so much easier if we could all read each other thoughts13:30
perrito666voidspac_: ok, its not permissions I have no clue then, I guess Ill have to find out13:30
voidspac_I'm trying to look at it as well13:30
perrito666voidspac_: I think the issue is restore line 28713:31
voidspac_perrito666: it's using the external address13:33
voidspac_perrito666: it's pinging mongo to wait for it to come up13:33
perrito666that will never work13:33
voidspac_well, it used to work13:34
perrito666yes I know13:34
voidspac_hehe13:34
voidspac_perrito666: so the restore probably succeeds - but then can't connect to mongo and thinks it has failed13:34
perrito666voidspac_: sortof13:35
perrito666the restore of state machine succeeds13:35
perrito666but it fails when trying to update the other agents13:35
perrito666bc it needs st.AllMachines13:35
voidspac_right, before updateAllMachines13:35
perrito666exactly13:35
voidspac_does that need a new API endpoint then13:35
voidspac_which can be used instead of directly connecting to mongo13:35
voidspac_and the strategy can make repeated calls to that instead13:36
voidspac_don't we already know AllMachines?13:36
voidspac_or it could run that code on the state server or execute a mongo query13:37
perrito666voidspac_: we dont, we try to work that out from the recently restored db13:37
voidspac_perrito666: so restoreBootstrapMachine could run an extra command to get the info13:38
voidspac_using runViaSsh13:38
voidspac_and return the extra information13:38
voidspac_or we could add a new endpoint and use apiState13:38
voidspac_perrito666: which do you think would be better?13:39
perrito666for the case of current restore implementation we can go with runViaSsh, for the new one I can do something prettier13:39
voidspac_perrito666: shall I do this - I have some spare cycles13:40
sinzuiWe are one unittest run away from having a passing devel. The anxiety is too much13:40
voidspac_sinzui: :-)13:40
wwitzel3:)13:41
katcowallyworld: still there by chance?13:41
perrito666voidspac_: please do, If I keep context switching I will never in my life finish the new restore implementation13:41
voidspac_perrito666: ok13:41
voidspac_perrito666: and for new restore you will take this into account?13:41
perrito666I will13:41
voidspac_so I'm working in restore.go still13:41
voidspac_not the plugin13:41
perrito666voidspac_: the plugin13:41
voidspac_(just checking)13:41
voidspac_ah...13:41
voidspac_no wait13:42
voidspac_restore.go is the plugin...13:42
perrito666voidspac_: cmd/plugins/juju-restore/restore.go13:42
perrito666voidspac_: makesit clearer?13:42
perrito666:)13:42
voidspac_yep, that's where I've been looking13:42
perrito666yup13:42
voidspac_thanks13:42
marcoceppiOMG13:46
perrito666marcoceppi: ?13:47
marcoceppiwrong room, though it still applies, I got excited because the buildbot is unblocked13:47
rogpeppeericsnow: looking13:52
ericsnowrogpeppe: thanks!13:53
rogpeppeericsnow: reviewed14:04
ericsnowrogpeppe: much appreciated14:04
=== Ursinha is now known as Ursinha-afk
=== Ursinha-afk is now known as Ursinha
katcowhen updating a library, should i specify the specific commit that fixes the issue, or the latest commit in a stable release?14:24
katcosorry, in dependencies.tsv14:24
natefinchit depends14:25
natefinchgenerally... latest seems like a reasonable choice, as long as it doesn't break anything else.14:25
katcoyeah14:26
natefinchon the assumption that other bugs may have been fixed in the meantime, and no sense waiting until we hit them to include them in our build14:26
katcothis is for goyaml, so i am assuming the v1 branch is _relatively_ stable14:26
natefinchyeah14:26
katcook cool, i'll grab latest :)14:26
katcoty nate! :)14:26
katcoer one more question14:27
katcoi switched goyaml over to gopakg.in... i noticed logger isn't in the dependencies.tsv yet, but some gopakg.in packages are14:27
katcowasn't gopakg.in designed to obviate godeps?14:28
natefinchnot exactly14:28
natefinchthey're somewhat orthogonal,  though related14:28
katcoah ok, i misunderstood its purpose then14:28
natefinchyou need godeps to ensure that you have a repeatable build.  Even supposedly non-breaking changes on a stable branch by definition change behavior. For a release you need to make sure it's possible to recreate the exact same binary multiple times.  Godeps does that14:30
katcoyeah14:32
katcosomewhat misunderstood what gopakg.in was designed to solve14:32
katcocan someone land this for me? it's already been reviewed/approved, just needs to be landed into trunk: https://code.launchpad.net/~cox-katherine-e/goamz/lp1319475.v4.signature.support14:33
=== Ursinha is now known as Ursinha-afk
katco(i don't have permissions, or obviously i would do it myself :p)14:36
=== Ursinha-afk is now known as Ursinha
natefinchkatco: what happened to getting goamz moved to github?14:41
katconatefinch: we haven't found a home for it yet.14:41
katcoand didn't want it to impede development any further. we have a customer waiting on this functionality.14:42
natefinchkatco: I guess we don't control http://github.com/go-amz huh?14:42
katconatefinch: no idea, but i would have thought wallyworld or niemeyer would have mentioned it :p14:43
katcoi am still not clear on why we don't have some sort of canonical repo that all code goes into14:43
katcobig C canonical14:43
katcoon github14:43
natefinchkatco: 'cause we don't control http://github.com/canonical either :)14:44
katcois that preventing us from registering canonical-ltd, or canonical-code, or canonical-* lol14:44
TheMuedimitern: did you meant the SupportNetworks capability? (which btw the should be renamed to SupportsNetworks)14:48
niemeyernatefinch: Define "we"? :)14:48
natefinchniemeyer: "Gustavo" :)14:49
niemeyernatefinch: Well, I registered go-amz, IIRC14:49
natefinchI hoped so14:50
natefinchbut you never know in the wild west of internet name squatting14:50
katcomgz: you around yet?14:55
mgzkatco: just back from lunch now14:55
katcomgz: ah ok, see pm's pls :)14:55
mgzhm, on irc? I may be being blind, don't see any14:55
katcomgz: hrm yeah14:56
katcomgz: sorry my mistake... window wasn't connected14:57
hazmatnatefinch, fwereade_ meeting time..15:01
voidspac_perrito666: I don't have access either15:04
voidspac_anyone know *where* the October sprint is?15:04
voidspac_I don't think I can make it15:04
perrito666voidspac_: I think only people on the cc list of the mail by sarah can see it15:04
voidspac_I already have that time booked off...15:05
perrito666so natefinch would you tellus where it is?15:05
natefinchI asked yesterday, she said they don't know yet15:05
ericsnowvoidspac_: if you can't be there we should reschedule :)15:05
voidspac_ericsnow: definitely15:06
voidspac_I land back in the UK on the Sunday 5th October15:06
voidspac_ericsnow: actually, I could just fly from India to the sprint15:10
voidspac_I'd be away for two weeks then, but ah well15:10
ericsnowvoidspac_: you'd already be packed ;)15:11
voidspac_ericsnow: well yes, but I'd need to pack for two weeks instead of one15:11
voidspac_but so be it I guess15:11
ericsnowvoidspac_: conference T-shirts FTW15:11
voidspac_heh15:11
ericsnowvoidspac_: the price of being a Python luminary :)15:11
voidspac_ericsnow: get them, wear them, throw them15:11
dimiternTheMue, yes that one15:12
ericsnowvoidspac_: :)15:12
voidspac_ericsnow: you should be with me...15:12
perrito666voidspac_: when that kind of think happens to me I pack two bags and let one at home and swap upon arrival15:12
dimiternTheMue, it'll go away soon anyway, as the new model kicks in15:12
voidspac_perrito666: I don't think I can do "land in uk then immediately fly out again"15:12
voidspac_perrito666: but fly straight from India might be doable15:12
perrito666voidspac_: if someone is waiting for you in the airport with the spare bag you might15:13
voidspac_perrito666: heh, possible depending on flight times I guess :-)15:13
perrito666natefinch: wwitzel3 standup?15:15
TheMuedimitern: had been in a meeting, so answering now15:18
dimiternTheMue, no worries, I was just replying to your earlier questions :)15:19
fwereade_natefinch, hazmat: here now if there's still worthwhile time?15:20
TheMuedimitern: currently I also have no more questions, only wanted a confirmation ;)15:21
natefinchfwereade_: yep, 1 minute15:21
dimiternTheMue, :) cheers15:24
natefinchericsnow: btw, I recommend "starring" docs you want to be able to find, so they're under the "Starred docs" in google drive15:26
ericsnownatefinch: good tip :)15:26
natefinchericsnow: took me a while to figure that out, after having trouble finding docs again.... it's like google drive specific bookmarks :)15:27
perrito666yup, seems that people behind google docs never used a filesystem on their lives15:29
TheMueit’s also no problem to move docs to own folders as they are only virtual (like creating a symlink)15:45
TheMueso it shoud be possible to access them via a google drive client on a phone or pc too15:45
katcoit looks like i might have to make some updates to some of our repositories under github.com/juju/* that are not under github.com/juju/juju... what's the workflow for that? fork/pr?15:57
natefinchkatco: yeah, same as juju/juju   fork & pr16:03
katconatefinch: k thanks16:04
natefinchkatco: not sure about the state of botness on those other repos, though16:04
katconatefinch: this should be loads of fun. updating imports of goyaml, touches like 3 sub-repos16:04
natefinchkatco: at least there's no interdependence... no repo is passing an object from the yaml package to code from another repo... so they can be updated non-simultaneously16:05
katconatefinch: at least there's that16:07
katcough i have to backport all of these too16:17
katcothis is going to eat up my entire day :(16:17
katcowell... actually. maybe i should defer the switch to gopkg.in, since it looks like these libraries will just use whatever juju-core specifies in dependencies.tsv16:19
katcoand save that change for a non-backporting commit16:19
mattywfwereade_, are you around or busy?16:22
natefinchkatco: yeah, if there's nothing we need in the new yaml package for the old branches, I wouldn't bother backporting16:22
fwereade_mattyw, bit of both, am I behind on your reviews?16:23
mattywfwereade_, not at all I landed the periodic worker one as I added the test you asked for16:23
katconatefinch: no, i need to backport, i'm just not going to switch to gopkg.in for this commit16:23
mattywfwereade_, but my metrics one I have a question16:23
fwereade_mattyw, sweet16:23
fwereade_mattyw, ah go on16:23
katconatefinch: that way the sub repos should keep using launchpad.net/goyaml which juju-core should drive to the correct version16:23
katcoerrr no wait, b/c that change is not in the launchpad version is it, so i'm looking at an import change regardless16:26
natefinchkatco: what's the change that you need in yaml?  I thought the move to gopkg.in didn't have any signficant functionality changes16:29
katconatefinch: https://bugs.launchpad.net/juju-deployer/+bug/124382716:29
mupBug #1243827: juju is stripping underscore from options <canonical-webops> <cloud-installer> <config> <landscape> <goyaml:Fix Released by adeuring> <juju-core:In16:29
mupProgress by cox-katherine-e> <juju-core 1.20:Triaged by cox-katherine-e> <juju-deployer:Invalid by hazmat> <https://launchpad.net/bugs/1243827>16:29
katconatefinch: the move to gopkg.in was a side-effect of having to change the code already16:30
sinzuiLadies and Gentlemen, CI has blessed Blessed: gitbranch:master:github.com/juju/juju 36fe5868 (Build #1699). Devel is regressions free after 49 days16:30
katcowoo!16:30
natefinchwoo hoo!16:31
natefinchkatco: ahh I see.  Interesting.16:31
alexisbsinzui, wow16:32
natefinchwait, isn't 49 days about the length of time katco and ericsnow have been on the team.... ? ;)16:32
katcolol16:32
ericsnowsquirrel!16:33
natefinchlol16:33
alexisbsinzui, now the flood gates will be opened16:34
sinzuialexisb, yes, I am prepared to new kinds of hate mail from CI tomorrow16:37
=== Ursinha is now known as Ursinha-afk
=== Ursinha-afk is now known as Ursinha
=== Ursinha is now known as Ursinha-afk
=== jcw4 is now known as jcw4|away
=== Ursinha-afk is now known as Ursinha
=== perrito6` is now known as perrito666
katcoi have PRs to juju/(cmd|utils|charm) that need reviewing. 1-line import change. blocking cut if anyone wants to have a quick look.19:01
=== Ursinha is now known as Ursinha-afk
=== Ursinha-afk is now known as Ursinha
natefinchcmars: can you try https://github.com/juju/juju/pull/495 with the new code?   It gives much nicer error messages now.19:35
=== tvansteenburgh1 is now known as tvansteenburgh
katcocan anyone review the aforementioned changes?19:42
natefinchkatco: link me?19:43
* natefinch is lazy19:43
katcohey np, gladly :)19:43
katcohttps://github.com/juju/utils/pull/2119:43
katcohttps://github.com/juju/charm/pull/3919:43
katcohttps://github.com/juju/cmd/pull/519:43
natefinchkatco: did you compile these?  the package name changed from "goyaml" to "yaml"19:44
natefinchkatco: I know only because I just made the same change in another codebase, and realized it's not a one line change (unfortunately)19:45
katcolol you are right, sorry. i did all these through scripting, so i forgot about that19:46
katcosigh ok well good review haha19:46
natefinchkatco: heh np :)19:46
* cmars takes another look19:48
natefinchcmars: it'll only fail at the first line of differences, but it should be clear what's different, at least.19:49
katconatefinch: have another look? all building now. still 1 line change :)20:00
natefinchkatco: ha. wondered if you'd go that route20:03
natefinchkatco: I vaguely disapprove of  renaming the import just to avoid changing more lines of text, but I don't think it's a huge deal.20:05
katconatefinch: actually, i don't think i know this: how do you utilize a package imported via gopakg?20:05
katcowould it be yaml.v1.Foo()?20:05
natefinchkatco: the import path and the package name are actually totally unrelated.  by convention they are the same... but a package name cannot include punctuation (I believe the actual restriction is something like like unicode letter followed by any number of unicode letters, numbers, or undescore)20:07
natefinchkatco: the convention for gopgk.in is that the version is not part of the actual package name, so "yaml.v1" is package yaml20:07
katconatefinch: ah so you just do import yaml "gopkg.in/yaml.v1"?20:09
natefinchkatco: import "gopkg.in/yaml.v1"   and then use it as yaml.Foo()20:14
natefinchkatco: you don't have to name the import, it gets named by what "package foo" says in the code, which in this case is "package yaml"20:15
katconatefinch: huh? how does that resolve? it elides the .v1?20:15
katcoohhh i see20:15
natefinchkatco: https://github.com/go-yaml/yaml/blob/v1/yaml.go#L720:15
natefinchkatco: that's what I mean by the import path and the package name not being related.  You can put that code at https://github.com/natefinch/ABCD and import it as import "github.com/natefinch/ABCD" and you'd still refer to the package as yaml.Foo()20:17
katconatefinch: gotcha, thanks20:17
natefinchkatco: this was actually one of the biggest complaints about the way gopkg.in does versioning - the last part of the URL is not the same as the package name20:17
katconatefinch: yeah, i wonder if like gopkg.in/v1/yaml would have worked20:18
natefinchkatco: there's a couple problems with that - 1.) it sorts badly in the list of imports... so gopkg.in/v1/yaml might be far away from an import of gopkg.in/v2/yaml   (the .v1 .v2 imports would sort to be right next to each other)20:19
natefinchkatco: 2.) it puts a /v2/ directory in your filesystem with a bunch of unrelated code in it, and again, the v1 code is far from the v2 code20:19
katconatefinch: ah20:19
katconatefinch: anyway, does this all look ok?20:20
natefinchkatco: sorry, tangent :)20:20
katconatefinch: not a problem :) just trying to get this in for sinzui20:20
natefinchkatco: LGTM'd.20:23
katconatefinch: thanks for your help today20:23
natefinchkatco: welcome20:25
=== jcw4|away is now known as jcw4
thumpermorning21:00
alexisbmorning thumper21:07
thumperalexisb: morning21:07
katcomorning thumper21:34
thumpero/ katco21:34
katco(not intended just for thumper) i'm running into a strange kind of circular dependency b/c of gopkg.in. i'm trying to update v3 of juju/charm, which utilizes gopkg.in/juju/charm.v3 to reference itself. so it's referencing the wrong version of itself... if that makes sense?21:35
thumperhuh?21:36
katcoam i doing something wrong? or should i hack this to get around it21:36
thumperwhat exactly are you doing?21:36
katcoalright, so i'm working with github.com/juju/charm21:36
katcoand all i'm trying to do is update some imports21:36
thumperAFAICT, if you have packages that use gopkg.in, then you need to be in that dir21:36
thumperyeah...21:37
thumperso work in the dir gopkg.in/juju/charm.v321:37
katcoso i should be making these changes w/in gopakg.in on my machine?21:37
* thumper nods21:37
thumperI think so21:37
katcothat's what i was doing wrong then21:37
fwereade_thumper, heyhey21:42
thumperhi fwereade_21:42
fwereade_thumper, how's the time difference?21:43
thumperterrible21:43
thumperyou mean now?21:43
thumperor from germany?21:43
fwereade_thumper, from germany21:43
fwereade_thumper, I have a notion that we may disagree on the yuckiness of the Factory varargs21:44
thumperheh, yeah21:44
fwereade_thumper, I'm interested in counterarguments21:45
thumperI'd rather have ickyness in one place, the factory, than at every call site21:46
thumperI agree it is a little icky21:46
thumperbut working around golang limitiations21:46
thumperit was dave's idea21:46
thumperoriginally I had two methods21:46
fwereade_thumper, I think it was the *repeated* ickiness inside Factory that really put me off21:46
thumperfor each type21:46
thumperbut the ickiness there is limited in scope, and contained21:47
thumpervs. spreading it around all the places the factory is used21:47
fwereade_thumper, just to be clear, it's the nil that's yucky?21:47
thumpermostly, and the c21:48
thumperwhat I *want* is: factory.MakeUnit()21:48
thumperhowever21:48
thumperdue to bugs in gocheck21:48
thumperwe need the c21:48
fwereade_thumper, indicating "I don't care" in place of a set of explicit instructions21:48
thumperyes21:48
thumperI had earlier...21:49
thumperfactory.makeAnyUser()21:49
thumperand factory.MakeUser()21:49
thumperdamn capitals21:49
thumperwe joined those methods together21:49
thumperto avoid the nil21:49
thumperhaving: factory.MakeUser(c, nil) isn't obvious21:49
thumperfactory.MakeUser(c) is slightly more so IMO21:50
* thumper misses python21:50
fwereade_thumper, I know the feeling21:51
fwereade_thumper, but I'm not sure that even python's varargs aren't more trouble than they're worth21:52
fwereade_thumper, explicit is better than implicit21:52
thumperpython has the advantage of explicit default args21:53
thumperfwereade_: IMO, nil isn't explicitly stating what you want, you have to go look up what nil is21:53
thumperwhereas not having nil is being explicit :)21:53
fwereade_thumper, (python has default args with some really entertaining behaviour, but anyway)21:54
thumpersure...21:54
fwereade_thumper, I can read it just as easily as nil=>no preference, and that as a stronger statement than no statement at all21:54
thumperI have a gut reaction to blind params, especially with nil21:54
thumperI don't care strongly enough to fight for long21:55
thumperspeaking of which,21:55
thumperthe whole user sub(super)command is in question in the spec21:56
thumperwhich I'm losing the will to fight as well21:56
thumpersuppose I should write something up21:56
fwereade_thumper, oh really? I do think that we do ourselves no favours by polluting the command namespace21:56
* thumper nod, I'll CC you on the email about it21:57
fwereade_thumper, cheers21:57
katcothese are always funny. just received a panic from:// can't happen, these values have been validated a number of times22:03
katcopanic(err)22:03
thumperkatco: for some value of funny (i.e. not funny)22:05
thumper:)22:05
katcothumper: haha22:05
wallyworldkatco: hi, how'd you get on with the deps update?22:31
katcowallyworld: still working... ran into a bunch of panics using the head of the yaml lib22:32
wallyworldoh :-(22:32
katcoi had to update 3 sub repos to use the latest version of goyaml22:32
katcothat's what took the longest22:32
wallyworldnp, sounds like you poked a hornet's nest22:32
katcoi think i'm going to try and sit on the commit that fixed the reported issue and see what that does22:32
katcowallyworld: i did get my ~20 day old change landed :)22:34
katcothat made katco very happy22:34
katcothis run seems to be going better with commit 1b9791953ba4027efaeb728c7355e542a203be5e22:35
katcoyeah almost done. i'm going to stick with this one and submit a PR after tests have passed22:41
ericsnowfwereade_: (on the off chance you're in a reasonable timezone for now) you still around?22:52
davecheneymoin22:58
katcowallyworld: well, now i have test failures because of goamz. i'm guessing it's because we're mocking environments and not specifying a signer. can this wait until tomorrow?23:02
wallyworldkatco: be with you soon, just in a meeting23:02
waiganithumper: standup?23:02
thumpersorry, on my way23:02
katcowallyworld: ok23:03
ericsnowdavecheney: you one of the reviewers today?23:12
wallyworldkatco: yeah, it can wait. sorry that it turned out to be more problematic than first thought23:14
katcowallyworld: no worries... we're almost there23:14
wallyworldyep :-)23:14
katcowallyworld: just have to find out where these mocked regions are23:14
wallyworldok23:15
katcowallyworld: alright, way past my EOD. going to spend some time with my daughter before she has to go to bed :)23:15
katcotalk to you tomorrow!23:15
wallyworldwill do, thanks for taking the extra time :-)23:15
davecheneyericsnow: ok23:22
davecheneyi have calls for the next 2 hours23:22
davecheneyi'll take a look after that23:22
ericsnowdavecheney: cool, thanks23:28
ericsnowdavecheney: https://github.com/juju/utils/pull/19 https://github.com/juju/juju/pull/462 https://github.com/juju/juju/pull/45323:29

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