/srv/irclogs.ubuntu.com/2016/02/18/#juju-dev.txt

perrito666axw: I mailed you the cause of the error, hope it helps.00:05
axwperrito666: back momentarily. thanks. so ... the credentials are being reset to those from the restored state?00:06
ericsnowkatco: FYI, my poller worker patch is up00:27
perrito666axw: yes, the server is restored to the old one00:32
perrito666all of the files from the server become the old files00:33
axwperrito666: ok, that's an even bigger problem than I had thought. we'll need to extract the credentials from the backup file, I suppose.00:42
perrito666axw: sorry I was not more helpful00:42
axwperrito666: you were most helpful, I know what the issue is now00:42
axwthanks00:42
perrito666np00:42
katcoericsnow: sweet, ty!01:25
davecheneydumb question01:28
davecheneyassuming i'd never used backup / restore before01:28
davecheneyhow do I use it01:28
davecheneylucky(~/src/github.com/juju/juju) % juju backups01:30
davecheneyERROR there is already a Writer registered with the name "warning"01:30
mupBug #1546826 opened: juju backups prints unhelpful error <juju-core:New> <https://launchpad.net/bugs/1546826>01:32
davecheneytotally broken, https://bugs.launchpad.net/juju-core/+bug/154682601:32
mupBug #1546826: juju backups prints unhelpful error <juju-core:New> <https://launchpad.net/bugs/1546826>01:32
mupBug #1546826 changed: juju backups prints unhelpful error <juju-core:New> <https://launchpad.net/bugs/1546826>01:38
mupBug #1546826 opened: juju backups prints unhelpful error <juju-core:New> <https://launchpad.net/bugs/1546826>01:50
anastasiamacwallyworld: team meeting?02:04
natefinch-afkdavecheney: team meeting?02:05
=== natefinch-afk is now known as natefinch
mupBug #1546836 opened: Cannot deploy to extra models <models> <juju-core:New> <juju-core cloud-credentials:Triaged> <https://launchpad.net/bugs/1546836>02:20
davecheneynatefinch: is anyone there this time ?02:20
davecheneythe last dozen have been no shows02:21
mupBug #1546836 changed: Cannot deploy to extra models <models> <juju-core:New> <juju-core cloud-credentials:Triaged> <https://launchpad.net/bugs/1546836>02:29
mupBug #1546836 opened: Cannot deploy to extra models <models> <juju-core:New> <juju-core cloud-credentials:Triaged> <https://launchpad.net/bugs/1546836>02:32
mupBug #1546836 changed: Cannot deploy to extra models <models> <juju-core:New> <juju-core cloud-credentials:Triaged> <https://launchpad.net/bugs/1546836>02:35
mupBug #1546836 opened: Cannot deploy to extra models <models> <juju-core:New> <juju-core cloud-credentials:Triaged> <https://launchpad.net/bugs/1546836>02:38
mupBug #1546840 opened: Cannot restore to new bootstrapped instance <backup-restore> <juju-core:Incomplete> <juju-core cloud-credentials:Triaged> <https://launchpad.net/bugs/1546840>02:38
davecheneythumper: coming back ? or can you not get back on at all ?02:43
mupBug #1546840 changed: Cannot restore to new bootstrapped instance <backup-restore> <juju-core:Incomplete> <juju-core cloud-credentials:Triaged> <https://launchpad.net/bugs/1546840>02:44
thumperdavecheney: I was blocked02:46
davecheneyrelly ?02:46
mupBug #1546840 opened: Cannot restore to new bootstrapped instance <backup-restore> <juju-core:Incomplete> <juju-core cloud-credentials:Triaged> <https://launchpad.net/bugs/1546840>02:47
davecheneythumper: i've no idea how to fix that02:48
thumperworked this time02:48
davecheneyi sent you an invite to join the hangout02:48
natefinchI miss the longer hangouts... actually get to chat with people not in your standup03:01
anastasiamacnatefinch: +1 \o/03:02
wallyworldanastasiamac: lgtm, ty03:41
anastasiamacomg! i thought u were busy and pinged axw (ocr)03:41
anastasiamacwallyworld: tyvm03:41
anastasiamacaxw: tyvm \o/03:42
axwnps03:42
axwwallyworld: apparently it's a known issue: https://bugs.launchpad.net/juju-core/+bug/153762003:43
mupBug #1537620: environs/ec2: a stopped machine will cause kill-controller to fail and blow the rate limit <juju-core:Triaged> <https://launchpad.net/bugs/1537620>03:43
axwI'll try on GCE instead03:43
natefinchfinally!  The time package's Parse function has always rejected any day of month larger than 31, such as January 32. In Go 1.6, Parse now also rejects February 29 in non-leap years, February 30, February 31, April 31, June 31, September 31, and November 31.03:44
wallyworldjoy03:44
wallyworldwow, date maths must be hard03:44
wallyworldit took them how many releases03:44
anastasiamacwallyworld: we should have decimal calendar03:44
anastasiamacand decimal clock03:45
anastasiamac:D03:45
wallyworldyes!03:45
anastasiamacHAPPY BIRTHDAY IAN03:54
natefinchdecimal clock is easy, decimal calendar requires changing the velocity of the earth :D04:02
davecheneylucky(~/src/github.com/juju/juju) % juju backups restore -b --file juju-backup-20160218-040500.tar.gz04:15
davecheneyERROR old bootstrap instance ["i-f007252f"] still seems to exist; will not replace04:15
davecheneylucky(~/src/github.com/juju/juju) % juju backups restore  --file juju-backup-20160218-040500.tar.gz04:16
davecheneyERROR could not exit restoring status: cannot complete restore: <nil>: Restore did not finish succesfuly04:16
davecheneyERROR cannot upload backup file: PUT https://54.79.223.98:17070/model/3037ea53-64dc-48b8-83c1-c0bea979fca2/backups: while storing backup archive: backup metadata "20160218-040500.3037ea53-64dc-48b8-83c1-c0bea979fca2" already exists04:16
davecheneydoes this actaully work ?04:16
davecheneyi cannot restore to a system that is running04:16
davecheneytwiddling different flags just makes it fail in different ways04:16
natefinch1.25 or 2.0?04:18
davecheney2.004:18
natefinchprobably just broken...04:19
natefinchafaik, no work has been done on it for 2.0, but I may be mistaken04:20
mupBug #1546100 changed: Upgrade 1.24.7 -> 1.25.3 fails <manual-provider> <upgrade-juju> <juju-core 1.24:New> <juju-core 1.25:In Progress by anastasia-macmood> <https://launchpad.net/bugs/1546100>04:20
=== urulama__ is now known as urulama
axwwallyworld: https://github.com/juju/juju/pull/445906:34
axwtested live06:34
=== ses is now known as Guest48208
wallyworldlooking06:45
wallyworldaxw: so code from master is effectively added back in?06:46
wallyworldwith the relevant cloud credentials tweaks06:48
axwwallyworld: yes. doing anything else will be substantially more work06:50
axwthis is just a stop-gap06:50
wallyworldyep, +106:50
axwwallyworld: there should be no difference from master now06:51
axwfrom user perspective06:51
wallyworldgreat, was just checking to be sure06:51
davecheneyhttps://github.com/juju/juju/pull/4460 << fixes juju backups problem07:12
axwwallyworld: you're not doing the register accounts.yaml fix are you? assuming not, I'll do it07:22
axwdavecheney: LGTM07:23
wallyworldaxw: not yet, just finished first pass on release notes if you want to see if I've missed anything. maybe it would be better to fix order of regions listing first, and switch07:23
wallyworldas those are user visible07:23
=== cuzek is now known as gberginc
davecheneyHOW DO I USE JUJU RESTORE07:30
davecheneyyou cannot restore the same model you just backed up07:31
davecheneyif you destroy the model, then you cannot restore at all07:31
davecheneyi cannot create a new model07:31
davecheneyi just get a shitload of missing key or TLS mismatch errors07:31
axwdavecheney: this is what I did just a little while ago07:38
axwdavecheney: 1. bootstrap   2. create-backup   3. kill the controller instance   4. restore-backup -b --file <backup-file>07:38
axwdavecheney: only works on non-hosted model AFAIK07:38
davecheneylucky(~/src/github.com/juju/juju) % juju restore -m foobarbaz x.tgz07:38
davecheneyERROR cannot determine controller instances: making request: Get : 301 response missing Location header07:38
davecheneyerror: exit status 107:38
davecheneylucky(~/src/github.com/juju/juju) % juju restore x.tgz07:38
davecheneyERROR cannot determine controller instances: model is not bootstrapped07:38
davecheneyerror: exit status 107:38
axwdavecheney: did you destroy your controller with destroy/kill-controller? (if so, that won't work)07:41
wallyworldaxw: i'm off to soccer in a bit. you think we can go with show-controller noargs for beta1 (and re-instate switch for beta2 if needed)? so i think region ordering is the last remaining fix foe beta1?07:44
axwwallyworld: I've just pushed switch no args07:44
wallyworldok, great :-)07:44
axwwallyworld: and will send a plea to rick and john to change it :)07:45
wallyworldaxw: i've asked john to bring it up in spec review07:45
axwwallyworld: ok07:45
axwwallyworld: https://github.com/juju/juju/pull/446107:46
wallyworldwe can do both for beta1 and see what sticks07:46
axwwallyworld: I think show-controller noargs is fine anyway, but it's doing more than just giving you the name07:46
axwyou can script around it, but it's a bit of a pain07:47
wallyworldyep07:47
wallyworldthat was my issue07:47
wallyworldaxw: lgtm07:47
axwwallyworld: ok, will look at region thing next. not sure if I'll be able to get it in in time, but I'll try07:49
wallyworldaxw: ty, see how you go, i'll document the issue in the release notes if need be07:49
axwwallyworld: hmm, are we doing the default-region thing already? I don't think so07:51
wallyworldi thought we were07:51
axwwallyworld: I mean, if not specified in credentials.yaml and there's more than one... I don't think we use the first in the clouds.yaml file07:51
wallyworldyou men in credentials.ysaml07:52
wallyworldah maybe not07:52
wallyworldi thought we were though07:52
wallyworldwill need to check07:52
wallyworldafter soccer07:52
axwwallyworld: I don't think so. I don't think that's in the spec either.07:52
axwsure, enjoy07:53
wallyworldit may not be explicitly, but aws say is expected to have a default region07:53
wallyworldof us-east-107:53
wallyworldif nothing else specified07:53
wallyworldunless i recall totally wrongly07:53
axwwallyworld: we used to. I don't know what the expectation is now.07:54
wallyworldthe same as before i think is good to go with07:54
wallyworldso however we decide to order regions in public clouds yaml07:54
wallyworldaxw: if i've left anything out of release notes, just edit and fix directly would be great07:55
axwwallyworld: sure07:56
wallyworldta07:56
axwwallyworld: can't see anything missing. I think we need to change the wording about defaults for beta1. I'm not comfortable making first-in-list the default without input from rick and john. it's already complicated, and that makes it moreso. we'll have a command to set the default in beta2.08:06
wallyworldok08:09
wallyworldwe still should fix ordering though08:09
wallyworldthere does have to be an out of the box default08:10
wallyworlda deterministic default08:10
axwwallyworld: why?08:10
wallyworldso people know how juju will behave without guessing08:10
axwwallyworld: what makes sense as a default for someone in the US does not make sense for someone in Australia08:10
axwit will tell you what to do if you don't specify a region08:10
axw(or it should)08:11
wallyworldso out of the box, juju bootstrap controller aws needs to just work08:11
wallyworldas it does now with a well known default region08:12
wallyworldthat's IMHO08:12
wallyworldwe can seek input though08:12
axwI think we'll have to, because I disagree :)08:12
wallyworldfight!08:12
wallyworldright, really off to soccer now08:13
axwwallyworld: I'll send an email and CC you08:13
axwlater08:13
wallyworldta, can you cc john also08:13
axwyes08:13
wallyworldand reference 1.25 behaviour for comparison08:13
axwwallyworld: I've updated the text bootstrap re regions to reflect current reality. please adjust as you see fit08:54
* fwereade is having some design trouble, anyone free to chat?09:38
* fwereade will rubber-duck irc for a bit; answer if interested ;)09:39
fwereadeso. a while ago, I extracted the OpenAPIState func and a few associated bits from jujud/agent, and moved them to worker/apicaller09:40
fwereadethis functionality includes various agent-specific hacks of varying quality09:43
fwereadeit handles (1) fixing insecure passwords and writing to remote+local state (2) updating local state to record connected model tag (3) some foul remote-state mongo-password hack that I'm scared to touch and (4) enthusiastic generation of the scorched-earth ErrTerminateAgent error09:45
fwereadeand none of these things are actually *fundamental*, they're all artifacts of the assumption that this api connection is the sole connection being made on behalf of an actual agent process09:47
* mgz reads along at least09:48
fwereadeand when you're making a connection as a controller to a hosted model, none of those actions are actually appropriate and some of them are plain broken09:49
fwereadepart of my problem is that I don't have a succinct term for distinguishing between those cases -- I need a lots-of-magic path and a nice-simple path, and I know ahead of time (manifold config specification time) which I will want09:51
fwereadeso the low-friction approach is to add a `NewConnection func(agent.Agent) (api.Connection, error)` field to manifold config09:52
fwereadebecause that lets me dodge the issue of what the difference is or how it should be expressed09:53
mgzthat does not sound terrible. do the two paths really not share logic at all?09:54
fwereadebut this makes me uncomfortable -- it feels like what-needs-to-be-done is more a property of the *agent*09:55
mgzother option is an OnConnection type interface, which you promise to call immediately after getting api.Connection for the first time?09:56
fwereadeyeah, that makes me nervous because it'd need to take (conn api.Connection, oldPassword string, usedOldPassword bool), and that feels like unhelpfully exposed guts09:57
fwereadeso I find myself wanting to add a `ShouldDoFunkyPostConnectStuff() bool` to Agent, but that's *clearly* wrong too09:59
fwereadeif it were more like `IsVirtualAgent() bool` that would make more sense, it would feel like the decision was happening in the right place10:00
fwereadebut that's a bad name10:00
fwereadeso it sort of comes back to "is there a term I can use to express the important property of the agent, in agenty terms, that the apicaller bits can reasonably use to make the decision re: whether to mess with the agent post-connect"10:02
dooferladfrobware, dimitern: hangout?10:02
dimiternomw10:03
mgzfwereade: well, the other part is... this is all one-time stuff really, not actually per-connection? well, I'm not sure about (4)10:03
fwereade...which itself is basically "what is the critical property of the agent that makes it different?" and does assume that it's really the agent that's the source of the difference10:03
fwereade*mostly* one-time, yes10:04
mgzso it's does-this-hacky-stuff-still-need-doing-and-can-I-do-it10:04
* fwereade is listening10:05
mgzShouldAttemptStateUpdateHacks? :P10:06
mgzI don't have good name ideas. what's the implementation, just always try it if we're not connecting to a hosted env?10:07
fwereademgz, pretty much, yeah10:08
fwereademgz, it currently maps to "is this connection on behalf of an 'Agent' that's running in its own process", but that is neither fundamental to the agent or any of its business really10:09
fwereademgz, so, I'll probably just go with the ManifoldConfig.NewConnection approach because at least it's the most straightforward10:09
fwereademgz, it's only one duplicated func call there10:10
mgzit seems reasonable to me10:10
fwereademgz, thanks :)10:10
mgzand you can document the whys on the implementations10:11
fwereademgz, yeah, just figuring out *exactly* what all the original funcs do and giving them less-misleading names/documentation has taken a while already10:12
blahdeblahHi folks; any chance of some love for https://bugs.launchpad.net/juju-core/+bug/1465307 sometime soon?  I've got an environment which is basically useless because of it that I'm happy to supply logs from...10:17
mupBug #1465307: 1.24.0: Lots of "agent is lost, sorry!" messages <landscape> <regression> <juju-core:New> <https://launchpad.net/bugs/1465307>10:17
perrito666Morning12:25
rick_h_morning perrito66612:27
dimiternfrobware,  dooferlad, http://reviews.vapour.ws/r/3898 please take a look when you can12:43
dimiternfwereade, if you can spare some time, I'd appreciate if you have a look as well ^^12:45
dimiternfwereade, in case you're wondering, tests using txn hooks will also be added later :)12:46
fwereadedimitern, ack, likely to be rather later this pm12:52
fwereadedimitern, and, <312:53
dimiternfwereade, cheers, when you get to it :)12:53
* dimitern steps out for ~1h12:54
axwwallyworld: rather than using MapSlice and all that, would you be OK with adding an unserialised DefaultRegion to the Cloud type, and (a) have that populated with the first item, and (b) use it to decide the order in which we write?13:33
frobwaredimitern: reviewed14:01
dimiternfrobware, thanks!14:09
frobwaredimitern: mostly trivial comments - looks a lot, but mostly harmless. :)14:10
dimiternfrobware, any comments and suggestions are most certainly welcome :)14:12
frobwaredimitern: regarding parent/child, master/slave. the latter makes more sense to me now that I've read your comment.14:57
perrito666has anyone used goamz with tags?15:00
dimiternfrobware, cheers, but because you asked that tells me the doc comment needs to clarify that :)15:00
frobwaredimitern: the other thing is s/DNSDomain/DNSSearchDomains/15:01
dimiternfrobware, yeah, that's a better name - will change15:04
frobwaredimitern: thanks. the two are entirely related, but different.15:05
dimiternfrobware, I'm not quite clear on the difference - do we need both DNSDomain and DNSSearchDomains ?15:10
perrito666weee cloud credentials is blessed15:23
frobwaredimitern: don't believe so. just the latter.15:43
frobwaredimitern: there's also DNSSortList if we want completeness.15:43
frobwaredimitern: I guess DNSSearchDomain could just be DNSSearch15:44
dimiternfrobware, I've pushed the changes btw15:45
frobwaredimitern: looking15:46
fwereadedon't suppose anyone is up to date with the uninstallAgent logic? has semi-recent menn0/axw touches, so I'm guessing not, but just in case...15:46
perrito666I would say menn0 and axw15:47
fwereadeehh, someone *might* have said "oh yeah I reviewed that stuff" ;p15:48
perrito666perhaps they cross reviewed :p15:49
katcoericsnow: i'm in our 1:1... did you have anything you wanted to discuss today?16:06
ericsnowkatco: nope16:06
katcoericsnow: ok, i'll leave you be then :)16:06
katcoericsnow: fyi i lost a review i was doing for you yesterday (chrome crashed)... working on it again16:07
ericsnowkatco: that stinks :(16:07
ericsnowkatco: hope you didn't lose too much time16:07
katcoericsnow: yeah =/ i think like an hour or so. but should go faster the 2nd time16:07
frobwaredimitern: LTGM now. but perhaps you want to wait to see if fwereade has observations on the state stuff.16:17
dimiternfrobware, cheers16:17
dimiternfrobware, I'll push a couple of commits on top of these and drop the interfacelinks.go from the PR for now16:17
dimiterndooferlad, frobware, so you'd rather see `802.3 interface "eth0" on machine "42"` than `ethernet interface "eth0" on machine "42"` ?16:18
dooferladdimitern: you don't have to use the const string value as what you print.16:19
dooferladdimitern: but I do care about being completely clear about what protocols we support and what we are doing with them.16:19
dimiterndooferlad, so you're saying let's have one value representing the type and another when printing / logging ?16:20
dimiterndooferlad, ok, how about a compromise: type/subtype - i.e. ethernet/802.3 and ethernet/802.11Q ?16:20
dooferladdimitern: I don't care so much about the value of ths string, only the variable name16:22
dooferladsorry, const name16:22
dimiterndooferlad, I got you16:22
dooferladdimitern: so something nice to read in the string and leave "EthernetInterface" as is.16:22
dimiterndooferlad, but the value is the important thing we store in the doc and have to change later and deal with upgrades if it's not the right value16:23
dooferladdimitern: oh, crumbs, I forgot we do that nonsense. I miss enums. </rant>16:23
dooferladI think EthernetInterface = "ethernet", EthernetVLAN1QInterface = "Ethernet 802.1Q bridge"16:24
dooferladsince those print nicely and only a crazy person would change the meening of Ethernet.16:25
dimiterndooferlad, Ethernet80211QVLAN ?16:25
dooferladdimitern: sure16:25
dimiternok, so Ethernet80211QVLANInterface = "802.11q" ?16:26
dooferladdimitern: as long as you know what sort of VLAN it is. I know it is ugly to read/type, but I can't think of a better version.16:26
dimiterndooferlad, or maybe drop the Ethernet and go with 80211QVLANInterface ?16:27
dooferladdimitern: I think it is reasonable to have the string be more readable if you want. "Ethernet 802.1Q bridge" does look better in the logs.16:27
dimiterndooferlad, it's not a bridge though16:27
dooferladdimitern: Sorry, "Ethernet 802.1Q VLAN"16:27
dooferladdimitern: I also considered Eth802_11_Q_VLAN so I could actually read it, but I know that wouldn't sit well with the "go way of doing things"16:28
dimiterndooferlad, consider this will be all over the place in case of MAAS16:30
dimiterndooferlad, so "802.1q" instead is shorter, and I think also clear enough16:31
dimiternVLAN8021QInterface InterfaceType = "802.11q"16:31
dimiternoops sorry16:31
dimiternVLAN8021QInterface InterfaceType = "802.1q"16:31
dooferladdimitern: Indeed. Ugly, but clear.16:32
dooferladdimitern: I am sure we can call it VLAN_8021QInterface and avoid having rocks thrown at us...16:34
dimiterndooferlad, we can try :)16:35
dimiternyeah, readable code is better than blindly following go naming conventions16:37
natefinchman, xchat has started pegging my CPU for 5 minutes whenever it starts up, only started happening this week sometime.17:06
natefinchperrito666: you around?17:17
natefinchso, where are we hiding the new .juju directory?17:25
rick_h_natefinch: .config/local/juju I think17:25
rick_h_natefinch: xdg standard locations17:26
natefinchrick_h_: I don't hav a .config/local :/  And no, I definitely have not touched my XDG settings off whatever is default17:26
rick_h_natefinch: sorry per https://jujucharms.com/docs/devel/temp-release-notes17:27
rick_h_natefinch: .local/share/juju17:27
natefinchrick_h_: ahh, yeah, ok.  I had just drilled down to the code where that's set. Thanks.17:28
natefinchrick_h_: why .local/share and not .config?  I presume it makes sense to someone, but as someone who barely knows XDG exists... it seems odd.17:29
rick_h_natefinch: not sure, just guessing it's based on https://specifications.freedesktop.org/basedir-spec/basedir-spec-0.8.html17:30
natefinchrick_h_: ok :)17:30
rick_h_there's env vars for the locations and we should be using17:30
natefinchrick_h_: I'm sure we're doing the right thing, according to the spec.  There's several people on core who Care Very Muchâ„¢17:31
perrito666natefinch: still need me?17:53
natefinchperrito666: yeah... davecheney was trying to use backups with juju 2.0 .... is that supposed to work?  like backup 2.0, bootstrap new 2.0 model, restore?17:54
perrito666natefinch: should work, expecially if master is blessed17:55
natefinchperrito666: weird... he was getting a multitude of errors17:56
natefinchperrito666: http://pastebin.ubuntu.com/15112721/17:56
perrito666natefinch: just read the backlog, seems that axw might have hit the spot and that dave was killing the controller17:57
natefinchperrito666: seems like our error messages could be a bit better, if this is something that can happen from user error17:59
perrito666natefinch: I think he added a bug for that17:59
natefinchperrito666: good17:59
ericsnowkatco, natefinch: our resources PRs are against master now, right?18:13
katcoericsnow: no, please still target them to the feature branch18:13
ericsnowkatco: k18:13
katcoericsnow: you always need a ci bless before hitting master18:13
natefinchoh, thanks for the clarification :)18:14
natefinchright, that makes sense18:14
perrito666natefinch: ericsnow ideally both sides merges need a bless, you should not merge to master without a bless nor merge from unblessed master18:30
perrito666ymmv on the last one but helps avoid headaches18:30
perrito666has anyone succesfully used destroy model?18:50
natefinchfeatures work a lot better if you don't accidentally remove the 3 core lines that actually make them function.19:01
=== urulama is now known as urulama__
natefinchericsnow: during some code cleanup, I evidently removed the lines that actually increment CharmModifiedVersion when you call SetResource :/19:02
ericsnownatefinch: classic19:03
fwereademenn0, how much do you remember about writeUninstallFile?19:31
fwereademenn0, my current understanding is that (1) we need to call it before the agent will pay attention to ErrTerminateAgent (2) there are cases where we send legitimate ErrTerminateAgents that don't have easy access to writeUninstallFile (3) I presume the writeUninstallFile came because we were getting rogue ErrTerminateAgents from somewhere and it was hard to stop them somehow?19:33
fwereademenn0, (expansion of (2): and hence don't actually work right)19:34
mupBug #1547186 opened: Cannot create model with Azure provider <docteam> <juju-core:New> <https://launchpad.net/bugs/1547186>19:34
natefinchericsnow, katco: just thought of another benefit to components... it's trivial to test all the code in the component with a simple go test ./... from the top level directory.19:48
ericsnownatefinch: nice19:48
natefinchwas just thinking of that as I am modifying some fairly core parts to resources... I can run all the resources test s in 6.5 seconds, and not worry that I'm missing anything.... and also not have to run 5 minutes worth of tests across the whole repo19:50
katconatefinch: hey having a chat about a potential candidate; will be just a little late if you still want to chat19:59
natefinchkatco: kinda head down on getting the upgrade-charm test running... we can skip if you don't have anything to talk about20:01
=== akhavr1 is now known as akhavr
=== wwitzel3_ is now known as wwitzel3
katconatefinch: k sounds good20:15
katconatefinch: that's a good point about the component oriented approach20:16
natefinchkatco: since you often twiddle a lot of bits in a lot of spots when modifying a feature.. it's nice to be able to very simply test everything you need and nothing you don't.20:17
katconatefinch: yeah exactly20:17
davecheneythumper: this might explain why restore was so hard20:33
davecheneyhttps://github.com/juju/juju/pull/445920:33
davecheneythe -b flag, for restoring to a running state server was missing20:33
thumperheh20:33
thumperoops20:33
wallyworldthumper: davecheney: that's only the cloud credentials branch, not master20:39
wallyworldwe removed it pending reworking some stuff but are re-instating it for now (in cloud credentials)20:40
natefinchperrito666: ^^20:47
natefinchdavecheney, thumper: if the flag was missing, why didn't we complain about an extraneous flag?20:48
davecheneynatefinch: who is we ?20:53
davecheneyif the flag is not defined it wont' show up in juju restore --help20:53
davecheney(i don't think there is any CI integratino of backup and restore, there certainly is no unit testing of same)20:54
natefinchdavecheney: I mean, if you pass juju <something> a flag that it's not expecting, the first thing it should do is say "unexpected flag '-b'" .... but it didn't looks like it was doing that20:54
davecheneywallyworld: on master from yesterday, http://paste.ubuntu.com/15121569/20:55
davecheneyno -b20:55
davecheneyno, i did not try to invoke restore with -b20:55
davecheneybecause --help did not list it as an option20:55
natefinchdavecheney> lucky(~/src/github.com/juju/juju) % juju backups restore -b --file juju-backup-20160218-040500.tar.gz20:55
natefinch<davecheney> ERROR old bootstrap instance ["i-f007252f"] still seems to exist; will not replace20:55
davecheneyi think that is a differnt problem20:56
fwereademenn0, axw: ping re ErrTerminateAgent and writeUninstallAgentFile20:57
menn0fwereade: sorry, catching up20:57
menn0fwereade: I don't know much about why the uninstall file was created20:58
menn0fwereade: my only exposure to that code is when I've converted workers related to it to work with the dep engine20:58
fwereademenn0, np, I just saw you and axw had touched related lines recently20:58
fwereademenn0, I do have a theory20:59
natefinchericsnow: any idea why StagedResource.Activate() would fail both insert and update during tests?20:59
fwereademenn0, that ErrTerminateAgent, being evil, was leaking out from somewhere unexpected and triggering agent suicides20:59
ericsnownatefinch: not off the top of my head20:59
menn0fwereade: sounds plausible / likely21:00
fwereademenn0, and that someone added this additional mechanism -- without which ErrTerminateAgent doesn't work, and just gets swallowed as not-even-an-error21:00
fwereademenn0, and now we have 2 places that use this I-really-mean-it mechanism21:00
wallyworlddavecheney: that's the old plugin21:00
wallyworldthere's a new restore command21:01
wallyworldcmd/juju/backups/restore.go21:01
fwereademenn0, and I now need a 3rd, because there's an evidently-undertested path that can generate ErrTerminateAgent and mean it21:01
fwereademenn0, and which has thus been broken for quite some time21:02
menn0fwereade: bugger21:02
menn0fwereade: it seems like now is a good time to fix the situation21:03
fwereademenn0, and ok it's low-impact because really anything waiting for the uninstall to happen is ludocrously optimistic *anyway*, dead means "you will be nuked from above"21:03
fwereadeyeah21:03
fwereadeI am just trying to keep it bounded21:03
menn0fwereade: and get rid of the need for the I-really-mean-it mechanism21:03
fwereademenn0, you speak truth21:03
menn0fwereade: but yeah, scope creep is an issue21:04
fwereademenn0, I just don't know where the rogue errors were coming from, and so the obvious approach is to go through adding safe ErrReallyTerminateAgentGodICantBelieveImSuggestingThis21:04
menn0fwereade: maybe poke at it a bit to get a feel for how hard it will be to untangle?21:04
menn0:)21:04
menn0I wonder if thumper or wallyworld remembers where the uninstall file thing came from?21:05
fwereademenn0, good question indeed :)21:05
* thumper is heads down21:06
thumperwhich what?21:06
wallyworldit rings a bell, i can remmeber discussion around it but not why it was added21:06
thumperuninstall what?21:06
fwereadeagent uninstall21:06
thumpermanual machine removal21:06
thumpermanual provider21:06
thumperstop being a juju machine21:06
fwereadeErrTerminateAgent, that evil slice of crap that any cheeky worker can emit to take down the agent21:06
natefinchahh manual, the special needs child21:07
fwereaderight, that's why we'd *need* to uninstall21:07
fwereaderather than just sitting back and waiting for death21:07
fwereadebut it's not *triggering* based on manualness21:07
fwereadeit's triggering based on did-the-thing-returning-ETA-also-invoke-the-magic21:08
thumperalmost certainly it could be done better21:09
thumperwith the new dep engine21:09
fwereadeanyway, np if nobody has context, I will figure something out21:09
thumperbut way out of my scope of caring right now21:09
fwereadeheh, that is the trouble21:09
fwereadeanyway, no worries, thanks for listening all ;p21:10
menn0fwereade: np. let me know if something needs a review.21:12
thumperfwereade, menn0: quick Q, should I use EndPoint or Endpoint ?21:15
natefinchericsnow: do you have 15 minutes to hop on a hangout and help me with this test?  I'm sure I'm doing something dumb and just not seeing it.21:15
fwereademenn0, wil do, thanks21:15
fwereadethumper, Endpoint IMO?21:15
ericsnownatefinch: sure21:15
menn0fwereade: I agree with fwereade21:17
menn0thumper: "endpoint" is a word21:18
thumperac21:20
thumperk21:20
thumperI just hit a very weird test failure21:20
thumperuntil I found that I had left "return nil" in a method21:20
thumperto remind me to implement it later21:20
thumpernow is later21:20
sinzuiwallyworld: Do you have a moment to review http://reviews.vapour.ws/r/3903/21:58
wallyworldsinzui: sure21:59
mupBug # changed: 1546348, 1546350, 1546836, 154684022:11
mupBug # opened: 1546348, 1546350, 1546836, 154684022:14
sinzuiwallyworld: are you actually reading the diff of the feasture branch?22:18
wallyworldsinzui: yes22:18
sinzuiwallyworld: you like pain. I assume you reviewed the branches that went into the feature branch. My request is just a formal acknowledgement that we want to merge the feature branch into master with proof that CI likes it22:20
wallyworldsinzui: in that case +1, so far it ssems all as i expect22:20
sinzuiwallyworld: fab. Thank you for cleaning this branch up so quickly. abentley  is standing by to switch CI to treat beta 1 as delta1....ohh..22:22
sinzuiwallyworld: do we need to change the version of this branch *before* we merge? I think we do22:22
wallyworldsinzui: yes, good point. yes we do. sl long as the ci scripts are changed in sync22:22
mupBug # changed: 1546348, 1546350, 1546836, 154684022:23
sinzuiwallyworld: CI is paused for the switch over. It is actually tessting the last non-voting job for cloud-credentitials. Can you update the version to beta1. The other option is to upfate master asfter this merges. We wont restart CI until the scripts are switch over and master has cc merged and knows it is beta122:24
wallyworldsinzui: if you have already done the pr, we can hit merge now and i will change version in a separate pr immediately after22:25
sinzuiwallyworld: okay, I am merging22:26
axwfwereade: the uninstall file was added as a way to guard against unintentional signals23:02
axwfwereade: it used to not be required, but IS hosed an environment by accidentally SIGTERMing jujud23:03
perrito666k ppl EOD23:27
perrito666axw: I am so hanging a huge picture of you on my office :p23:28
anastasiamacperrito666: have a gr8 w/end23:29

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