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

menn0grrrr... an interface that mimicks bits of State using the same names but slightly different method signatures02:15
menn0what a great idea :)02:15
menn0wallyworld: sorry, another question. how does a machine agent get into the "Started" state? where is that set?02:27
wallyworldmenn0: from memory, that happens when the agent comes up on the node and "phones home" via the precense api02:28
wallyworlduntil then the staus is pending/allocationg02:28
menn0wallyworld: with this issue I'm looking at, it seems that the peergrouper isn't even noticing the new controller nodes so isn't adding them to the replicaset02:28
wallyworldor it may be a direct status call, not sure02:28
menn0wallyworld: and the only reason that that can happen (really) is if the machine doesn't get to "started"02:29
wallyworldyou mean not noticing the status change?02:29
wallyworldis there a watcher for status?02:29
menn0wallyworld: no it can't be that02:29
menn0wallyworld: the peergrouper polls so even if the watcher wasn't working any changes still get noticed02:30
menn0wallyworld: I can see the peergrouper running regularly in the logs, but the other machines aren't picked up02:30
wallyworldwhen enable ha is run, the machine collection does get the new machine docs02:31
menn0wallyworld: those machines do connect to the API on machine-0 even when their own mongodb instance isn't part of the replicatset yet02:31
wallyworldwhat is the peergrouper polling for?02:31
menn0I think it polls in case the replicaset changes underneath it (in mongodb)02:32
wallyworldsorry, i meant what data is it polling?02:32
menn0there are watchers so that it reacts straight away something changes in state02:32
menn0and the polling is there to catch any changes in mongodb02:32
menn0the only way the peergrouper can be not reacting to the new machines is if they don't get to "started"02:33
wallyworldso it watches for machine status changes02:34
menn0not really02:34
menn0it watches for controller changes as well as waking up periodically02:34
wallyworldthat's what "started" is isn't it? a machine agent status02:34
menn0and when it wakes up due to either a poll or a controller change02:34
menn0it checks the controller machines against the mongodb replicaset config02:34
menn0and udpates things if required02:35
menn0but controller machines are only considered if they're "started"02:35
menn0yes machine agent status02:35
menn0obtained via (state.)Machine.Status()02:35
wallyworldso, can we see in the logs if that SetStatus() api call is being made02:35
* menn0 checks02:36
wallyworldby the new agent when it comes up via jujud02:36
menn0wallyworld: they are being made:02:36
menn02016-04-14 21:01:33 DEBUG juju.apiserver apiserver.go:291 <- [475] machine-1 {"RequestId":67,"Type":"Machiner","Version":1,"Request":"SetStatus","Params":"'params redacted'"}02:36
menn02016-04-14 21:01:33 DEBUG juju.apiserver apiserver.go:305 -> [475] machine-1 324.478971ms {"RequestId":67,"Response":"'body redacted'"} Machiner[""].SetStatus02:36
menn0don't know what the status is being set to but the calls are there02:37
* menn0 checks the machine-1 logs at that time02:37
wallyworldif you run with trace you'll see tha params02:37
wallyworldit sounds like maybe the watcher is suspect?02:37
menn0wallyworld: I can't repro the problem reliably, it's intermittent02:38
wallyworldawesome02:38
menn0so I'm stuck with the DEBUG logs from the CI failures02:38
menn0I think the machine was set to started02:39
menn02016-04-14 21:01:33 INFO juju.worker.machiner machiner.go:105 "machine-1" started02:39
wallyworldsounds like it02:39
menn0so why the hell isn't the peergrouper noticing the machine.....02:39
wallyworldso we need to know why the watcher is not firing or why the peergrouper doesn't see that02:39
wallyworldexactly02:39
menn0if the logs were at TRACE I'd see why in the peergrouper logs02:39
wallyworldwe can ask QA i guess02:40
menn0wallyworld: I've just simulated a machine not setting its status to started (by hacking the machiner to not set the status for a specific tag) and I see exactly the same log output in the machine-N.logs and the mongodb logs.03:45
menn0wallyworld: so that's the likely intermediate cause03:45
menn0wallyworld: now to figure out why the machine isn't "started" when the peergrouper looks03:45
wallyworldmenn0: hmmm, interesting. maybe there's a network/routing issue at play?03:45
menn0wallyworld: it can't be that because we see the new machines contact the API on the bootstrap node03:46
menn0we even see it make the SetStatus call03:46
menn0wallyworld: my guess is that something is setting the status to another value after the machiner sets it to started03:46
menn0wallyworld: is that possible to your knowledge?03:47
wallyworldnot ottomh03:47
wallyworldbut could be i guess03:47
wallyworldthe logs should show extra SetStatus calls03:47
menn0wallyworld: there aren't any03:48
wallyworldmenn0: could there be a legit issue with the watcher firing?03:48
wallyworldit does get there eventually right?03:48
wallyworldbut after a long time03:49
menn0wallyworld: well it polls every minute03:49
wallyworldthat is true03:49
wallyworldso wtf03:49
menn0wallyworld: so even if the watcher doesn't fire the peergrouper still sees any changes at least once a minute03:49
wallyworldyes03:50
menn0wallyworld: the other way the peergrouper might not be seeing a controller machine is if it's not in the controllerinfo doc03:51
menn0wallyworld: but that seems less likely based on my read of the code03:51
wallyworldyeah, i'm not overly familiar with the controllerInfo state code03:52
menn0wallyworld: the code that updates it looks solid... it's either going to work or the whole txn which adds to it and adds the machine docs fails03:53
menn0and the machine docs are clearly being added03:53
wallyworldmenn0: could it be one of those corner cases we've hit before with txn etc?03:54
menn0wallyworld: maybe... I don't think so03:55
menn0i've just noticed something else in the peergrouper code... digging some more03:55
wallyworldok03:55
menn0wallyworld: I just noticed that the list of controller machines and machine status is only updated/checked based on the watcher04:05
menn0wallyworld: and the code to do that is horrid04:05
wallyworldmenn0: you saying the poll every minute relies on the watcher firing?04:05
mupBug #1571476 opened: "juju register" stores password on disk <juju-core:Triaged> <https://launchpad.net/bugs/1571476>04:06
mupBug #1571477 opened: juju 1.25.3: juju-run symlink to tmpdir <landscape> <juju-core:New> <https://launchpad.net/bugs/1571477>04:06
wallyworldto update the machien list to poll04:06
mupBug #1571478 opened: juju login/register should only ask for password once <juju-core:Triaged> <https://launchpad.net/bugs/1571478>04:06
menn0wallyworld: no the poll happens every minute regardless04:06
wallyworldright04:06
wallyworldbut the list to poll04:06
wallyworldcomes frm the watcher?04:06
menn0wallyworld: and during that poll the latest status of the mongo replicaset is updated04:06
menn0wallyworld: but the controller data from state is only refreshed based on the watchers04:07
menn0wallyworld: and the way it's done screams of data race to me04:07
wallyworldseems like ti :-(04:07
wallyworldit04:07
menn0there's a separate goroutine which passes a method on itself over a channel to main peergrouper goroutine04:08
wallyworldi wonder why we poll at all?04:08
menn0the peergroup receives the method, calls it04:08
menn0which then goes and modifies stuff back on the main watcher again04:08
wallyworldsounds like a good refactoring is in order04:08
menn0yep, I might try that04:09
menn0but first I'm going to land some simple logging changes so that we can get more info when it fails in CI04:09
wallyworldsgtm04:10
menn0wallyworld: thanks for being a sounding board all day... it helps a lot having to explain what i'm seeing04:11
wallyworldtis ok, i didn't do much04:11
wallyworldor anything really :-)04:11
wallyworldaxw: any chance of a small review? https://github.com/juju/bundlechanges/pull/2204:20
axwwallyworld: sure04:21
axwwallyworld: a little confused by the second paragraph in the description - I don't see any change relating to series override04:25
axwwallyworld: is that a change to be made in juju/juju?04:26
wallyworldaxw: a test failed - the bundle said trusty but the charm in the bundle said precise. the test exected trusty, and i changed to precise04:26
wallyworldactually, that may have been me adding trusty first up to the test04:27
wallyworldand then having to change to precise04:27
wallyworldso maybe ignore that04:27
axwwallyworld: yeah, there are only additions in the code and tests04:27
wallyworldyeah, i just checked too, so i think i just forgot what i changes/added04:28
axwwallyworld: LGTM, please drop that para before merging to avoid confusing anyone else :p04:28
wallyworldyep :-)04:29
wallyworldty04:29
menn0wallyworld: peergrouper logging changes: http://reviews.vapour.ws/r/4623/05:09
menn0back soon05:09
wallyworldawesome, will look in a sec05:09
wallyworldaxw: here's the other half of that fix, only a small change http://reviews.vapour.ws/r/4624/05:50
axwwallyworld: reviewed06:01
wallyworldty06:01
wallyworldaxw: yeah, i'll need to rework the common function. technical it is "user" specified (not charm specified) but i take the point about the message06:02
wallyworldwell, i guess not really user specified06:02
axwwallyworld: no, I don't think so. in the original use of that function, it was user-specified because the user specifies with --series on the command line06:03
axwhere they're just doing "juju deploy some-bundle"06:03
wallyworldyeah, i reconsidered by position :-)06:03
wallyworldmy06:03
axwcool06:03
frobware_jam: didn't get anywhere with tests (re RB). Was testing some stuff that dooferlad was proposing.06:30
=== frobware_ is now known as frobware
dimiternfrobware: morning06:45
dimiternfrobware: I have 2 PRs up for review, more coming later06:45
dimiternhttp://reviews.vapour.ws/r/4614/ and https://github.com/juju/gomaasapi/pull/4206:45
dimiternfrobware: ping07:42
frobwaredimitern: morning07:51
dimiternfrobware: morning :)07:51
dimiternfrobware: have you seen the links I pasted above?07:51
dimitern(still not quite sure ERC doesn't shit itself and appears connected but it isn't)07:52
frobwarejust about to look, but have a 1:1 with jam in a minute07:52
dimiternfrobware: sure, np07:52
jamfrobware: didn't like what I had to say?08:08
dimiternwallyworld: ping08:21
dimiternor axw ?08:22
axwdimitern: heya, what's up?08:22
dimiternI'm wondering why juju list-machines (or status for that mater) does not display containers08:23
axwdimitern: erm, it doesn't? no idea08:23
axwI haven't used containers in ages08:23
dimiternaxw: ok, np :)08:23
dimiternI think, unless it's on purpose, it should be a bug08:23
mupBug #1571545 opened: juju status with default tabular format or juju list-machines does not show containers <observability> <status> <juju-core:New> <https://launchpad.net/bugs/1571545>08:45
hoenirwhy does some test files on windows like fork/exec fail ? I know that fork syscall dosen't exist in windows but we should try to to detect the specific platfor and then run just the specific tests09:17
hoenirI'm right?09:18
fwereade_dimitern, frobware, voidspace: sorry, dropped accidentally, but won't have much to contribute to topic beyond "I endorse the removal of hacks"09:29
wallyworlddimitern: hey, sorry was afk09:48
dimiternwallyworld: np - it's rather late anyway09:48
frobwaredimitern: re ntpdate: https://bugs.launchpad.net/bugs/156439709:49
mupBug #1564397: MAAS provider bridge script deletes /etc/network/if-up.d/ntpdate during bootstrap <bootstrap> <network> <juju-core:Triaged> <https://launchpad.net/bugs/1564397>09:49
dimiternwallyworld: check out https://launchpad.net/bugs/157154509:49
mupBug #1571545: juju status with default tabular format or juju list-machines does not show containers <observability> <status> <juju-core:New> <https://launchpad.net/bugs/1571545>09:49
wallyworlddimitern: i do have a question for you - i started to look at removing the Network attr from deploy service and it was a very deep rabbit hole and many 100s of lines of code that i started to delete and then i noticed i started to overlap woth one of your existing prs so backed off09:49
wallyworlddimitern: i am hoping all that network stuff - including collections, paras structs etc - can all be deleted for 2.0 rc109:50
=== babbageclunk` is now known as babbageclunk
dimiternwallyworld: ah, well - yeah, it's gnarly but we'll get there and drop it soonish I hope09:50
wallyworlddimitern: yeah, it needs to be done before 1.0 final09:51
wallyworld2.009:51
dimiternit's no longer used and can't influence the code path anymore09:51
wallyworldthat status thing - it may not have ever included containers, not sure, but seems like a bug09:51
wallyworlddimitern: but the api does expose it etc, so we need to drop thart bit at least09:51
dimiternit's fine to drop the CLI argument (if still there)09:52
dimiterni.e. just hide it while it can be dropped09:52
wallyworlddimitern: the model migration stuff also references the obsolete collection(s)09:52
wallyworldit would be best just to drop the whole lot; we will delete a couple of 1000 lines of code i think09:53
dimiternwallyworld: ah, those I *think* are safer to remove now09:53
dimiternwallyworld: let me have a look today how much we can drop09:53
dimiternwallyworld: networksC it only still referenced by the opened ports, but should be easy to move that to spaces instead09:54
wallyworlddimitern: ok, let me know how you get on. i delete a shit tonne of stuff from state, apis, params etc before i started to hit the address alllocation feature flag stuff09:54
wallyworldso i stopped09:54
dimiternwallyworld: yeah, I really wanted to drop the whole thing, but it was suggested as safer to drop it on maas only for now09:55
wallyworldand yeah, the ports thing i wasn't sure about09:55
wallyworlddimitern: not sure 100%, but i think the status thing was by design - [Machines] just really does mean machines and not containers09:56
wallyworldto keep it not too verbose and to fit on a screen09:56
dimiternwell containers *are* machines :)09:57
wallyworldnot sure if we should keep it like that and add a --with-containers arg09:57
wallyworldi'm just guessing09:57
wallyworldwhat the rationale may have been09:57
wallyworldbut yeah, i agree with you09:57
dimiternit will be nice to not have to go through a pile of  yaml just to get what addresses containers have09:57
wallyworldagreed09:58
dimiternfrobware, voidspace, babbageclunk: friendly review poke :) https://github.com/juju/gomaasapi/pull/42 http://reviews.vapour.ws/r/4614/ http://reviews.vapour.ws/r/4626/10:03
* dimitern steps out for a while10:03
babbageclunkdimitern: reviewed the first two - the third's getting pretty far away from anything I know about, so might take me a bit longer.10:24
jamespageerm10:59
mupBug #1571593 opened: lxd bootstrap fails with unhelpful 'invalid config: no addresses match' <juju-core:New> <https://launchpad.net/bugs/1571593>11:03
=== JoseeAntonioR is now known as jose
=== Ursinha_ is now known as Ursinha
mupBug #1571593 changed: lxd bootstrap fails with unhelpful 'invalid config: no addresses match' <juju-core:New> <https://launchpad.net/bugs/1571593>11:10
=== cppforlife__ is now known as cppforlife_
mupBug #1571593 opened: lxd bootstrap fails with unhelpful 'invalid config: no addresses match' <juju-core:New> <https://launchpad.net/bugs/1571593>11:16
babbageclunkfrobware: I had to destroy that ZNC service - it was hogging my nick here! But I still couldn't work out if it was listening on any local ports.11:19
frobwarebabbageclunk: shame11:22
dimiterncheers babbageclunk!12:00
babbageclunkdimitern: :) oops, forgot to ping you when I'd done them!12:01
dimiternbabbageclunk: np, I've just got back anyway12:01
babbageclunkfrobware: I'll give it another go later on.12:02
voidspacedimitern: did you get your reviews done?12:17
dimiternvoidspace: yeah, most of them - I'd appreciate a look on the last one though: http://reviews.vapour.ws/r/4626/12:18
voidspacedimitern: I'll swap it: http://reviews.vapour.ws/r/4629/12:18
dimiternvoidspace: sure thing12:18
voidspacedimitern: I like the logging changes :-)12:20
voidspacedimitern: I have no new issues to add to the reviews already there12:21
dimitern:) I'm sure *everybody* does heh12:21
* voidspace lunches12:21
dimiternvoidspace: ta12:21
voidspacebabbageclunk: I'll pick up something new after lunch12:21
voidspacebabbageclunk: we're nearly there!12:22
dimiternvoidspace: reviewed12:34
babbageclunkvoidspace - around? Want to pick your brains about how devicename and hardware id are set.12:51
dimiternfrobware, voidspace, babbageclunk: guys, I still need an approval on http://reviews.vapour.ws/r/4626/ - please, have a look13:01
dimiternfrobware: you know what? /etc/network/if-up.d/ntpdate is missing on xenial - it' only there on trusty13:16
dimitern(well, maybe also in more recent non-LTS *releases)13:17
frobwaredimitern: is that because ntpdate is not in the base image on xenial?13:18
dimiternfrobware: I suspect so - it's not on my machine after upgrading to xenial, nor it's on freshly deployed xenial maas nodes with the most recent images13:19
frobwaredimitern: but technically it could come back (i.e., later versions add it (again))13:20
mgzcharms can also install packages.13:21
mgzpretty sure neither ntp or ntpdate have ever been part of the base server image13:21
dimiterntrue, but I can confirm ntpdate is there on trusty and not there on xenial images13:22
dimiterneven without juju in the picture13:23
dimiternfrobware: it could, but the code handles that transparently13:23
fwereade_voidspace, state/machine.go:1262 seems like it might not be quite right -- surely the preferred address should be allowed to change if it's no longer one of the know addresses?13:23
dimitern(chmod -f -x .. and later chmod -f +x ..)13:23
frobwaredimitern: do we fail on chmod or just ignore?13:24
dimiternchmod -f does not fail when the file is missing13:24
frobwaredimitern: do we fail if chmod fails?13:24
frobwaredimitern: ty13:24
frobwaredimitern: and chmod -f is supported as an option in precise?13:24
dimiternfrobware: unfortunately I could see a bunch of ntpdate still hanging around with the chmod -x patch, as it seems ifup calls `/bin/sh /etc/network/if-up.d/ntpdate`13:25
frobwaredimitern: yay13:26
dimiternfrobware: we *could* try using ifup --no-scipts, but that seems more dangerous13:26
frobwaredimitern: ooh. interesting.13:26
dimiternfrobware: I'll do some experiments to see13:27
frobwaredimitern: we *should* try this. the scripts will have run once for curtin's ENI, and they will on every reboot. Just not whilst we're replacing stuff.13:27
frobwaredimitern: at face value that seem ok13:28
dimiternfrobware: that's an excellent point (which I keep forgetting about)13:28
frobwaredimitern: is --no-scripts supported in precise? :)13:28
dimiternfrobware: will try precise as well13:29
frobwaredimitern: fwiw, I don't think '--no-loopback' is supported in precise13:31
frobwaredimitern: nope, not supported.13:31
frobwaredimitern: http://pastebin.ubuntu.com/15912945/13:33
dimiternfrobware: unfortunately --no-scripts does not work even on xenial13:36
dimiternfrobware: that is, it works, but since one of the scripts is `bridge`, the bridges are not configured ok13:36
frobwaredimitern: what does 'bridge' mean here?13:36
dimiternfrobware: /etc/network/if-pre-up.d/bridge -> /lib/bridge-utils/ifupdown.sh*13:37
frobwaredimitern: which doesn't exist on precise... let me look elsewhere13:38
dimiternfrobware: it should be there if bridge-utils is installed13:38
fwereade_voidspace, ignore me13:42
dimiternbabbageclunk, frobware: how about `verifySubnetAliveUnlessMissing(cidr) error` ? it will still return no error if cidr does not match an existing subnet13:56
dimiternwould that be easier to follow?13:59
natefinchlol14:02
babbageclunkdimitern: a bit, although it's still got too many clauses in the name14:02
natefinchif you have to make a function into a sentence, you probably need more than one function14:02
dimiternwhat's wrong with descriptive names?14:02
dimiternor that's just not how real go devs roll :D14:03
babbageclunkdimitern: hang on, I'm typing up what I mean14:03
babbageclunkdimitern: nothing wrong with descriptive names, it's that the thing shouldn't be one function if its name has to be too descriptive.14:03
frobwaredimitern, natefinch: fwiw, that was my original concern in the PR14:04
natefinchgenerally if you need a name that specific, it means you're tying the implementation of that function too tightly into what your consumer needs.  Just split it into two functions that do two simple things14:04
dimiternok, a better option will be I think to return a concrete error in the case the subnet does not exist, so it can be verified where needed14:05
natefinchgranted, I don't know what that function does per se, but it seems something like if subnetExists(cidr) { return verifyAlive(cidr) } is probably clearer and the individual functions are more reusable14:05
voidspacefwereade_: ok, I will ignore you14:07
voidspacebabbageclunk: you there?14:07
babbageclunkvoidspace: yup, just typing up something14:09
babbageclunkdimitern: https://pastebin.canonical.com/154572/14:11
babbageclunkdimitern: Maybe?14:11
babbageclunkvoidspace: yup?14:14
voidspacebabbageclunk: do you still have questions?14:14
babbageclunkvoidspace: yes!14:14
babbageclunkvoidspace: hangout?14:14
voidspacebabbageclunk: why do you want to ask about new device name?14:14
natefinchanyone up for a review of a 2.0 bug?  http://reviews.vapour.ws/r/4616/diff/#14:14
voidspacebabbageclunk: sure14:14
dimiternbabbageclunk: I'm trying out a similar approach, will update the PR soon with it14:15
frobwarejam: I think the bits we need to expose to apply NICs to the container is: SetContainerConfig(container, key, value string)14:18
babbageclunkdimitern: cool14:25
babbageclunkdimitern: can I pick your brains about /list14:25
babbageclunkdimitern: oops, that is not what I meant to type14:26
dimiternbabbageclunk: yeah? :)14:26
babbageclunkdimitern: what I meant to type was: provider/maas/volumes.go14:26
dimiternbabbageclunk: I'm not *that* familiar with it, but I'll help with what I can14:27
dimiternbabbageclunk: HO?14:27
babbageclunkdimitern: ok thanks - voidspace was not much help!14:27
babbageclunkdimitern: yup yu[14:28
dimiternfrobware, babbageclunk: updated http://reviews.vapour.ws/r/4626/diff/ can you have another look please?14:41
voidspacedimitern: looking14:44
babbageclunkGah, X keeps crashing on me. :(14:45
voidspacedimitern: I'm landing my branch - the only issue you opened was invalid and your other two comments I addresses14:45
voidspacedimitern: (you suggested changing map[string]bool to set.Strings but the bool has significance, it isn't just a set)14:46
dimiternvoidspace: sure, sounds good14:46
voidspacedimitern: the map tracks which subnets we actually found (true/false)14:46
voidspacedimitern: cool14:46
dimiternvoidspace: we should bump deps.tsv for gomaasapi at some point as well14:47
voidspacedimitern: it's been bumped whenever needed14:47
voidspacedimitern: last time was on Friday14:47
dimiternvoidspace: ok14:48
voidspacedimitern: I don't think anything has been done since then that needs updating14:48
dimiternvoidspace: my PR that fixes fetching VLANs with a null name14:48
dimitern(landed earlier)14:48
voidspacedimitern: ah, cool14:49
voidspacedimitern: want me to do just that and propose it?14:49
voidspacedimitern: I just knocked one more thing off the maas2 list and was about to tackle the next14:49
frobwaredimitern: looking14:49
dimiternvoidspace: well, as it's not a blocker for your maas I can do it later tonight or tomorrow14:49
voidspacedimitern: ok14:50
dimiternfrobware: thanks!14:50
dimiternbabbageclunk: updated/simplified  http://reviews.vapour.ws/r/4626/diff/ (you dropped and missed this I think)14:51
voidspacedimitern: LGTM on your branch14:51
dimiternvoidspace: ta!14:51
mupBug #1571687 opened: Azure-arm leaves machine-0 from the admin model behind <azure-provider> <ci> <destroy-controller> <jujuqa> <repeatability> <juju-core:Triaged> <https://launchpad.net/bugs/1571687>14:52
voidspacemgz: ping15:02
katco`ericsnow: standup time15:02
mgzvoidspace: yo15:03
babbageclunkdimitern: looking now15:03
dimiternthanks babbageclunk15:03
voidspacemgz: just emailed you15:05
voidspacemgz: I thought it was better to do as an email anyway15:05
voidspacemgz: we'd like all the MAAS CI tests duplicating for MAAS 2.0 please :-)15:05
mgzvoidspace: we have a card for it15:06
voidspacemgz: ah, awesome15:06
voidspacemgz: we're very near to needing it15:06
voidspacemgz: anytime tomorrow will be fine ;-)15:06
voidspace:-P15:06
mgzwhat's not working on master at present?15:07
voidspacemgz: we don't add machine tags in instance characterstics (in progress)15:08
voidspacemgz: instance.volumes unimplemented (in progress)15:08
voidspacemgz: all container support not done yet (a couple of days work probably)15:08
voidspacemgz: a network interface function that is implemented but not wired in15:08
voidspacemgz: (that's trivial)15:08
mgzhm, so the basic deploy test should work, but the bundle ones probably won't quite yet15:09
voidspacemgz: yep15:09
voidspacemgz: but it will only be a handful of days which is why I'm pinging now15:09
mgzthanks :)15:09
voidspacemgz: and thanks to you sir15:09
natefinchcherylj: I commented on https://bugs.launchpad.net/juju-core/+bug/1531444 ... Maybe I'm missing some context, but it seems like it's probably not super critical15:11
mupBug #1531444: azure: add public mapping of series->Publisher:Offering:SKU <juju-core:Triaged> <https://launchpad.net/bugs/1531444>15:11
cheryljnatefinch: it was marked as critical as it impacted our ability to publish centos / windows in streams for azure15:12
babbageclunkIs there a protocol for asking for help in canonical #maas?15:12
babbageclunkSomeone particular I should ask?15:13
cheryljbabbageclunk: I usually ask roaksoax, or mpontillo15:13
natefinchcherylj: yes, but if it's only when a new version of windows comes out... we need to update core for that anyway (which, admittedly is horrible and bad, but it is the state of the code AFAIK)15:13
voidspacebabbageclunk: roaksoax has promised to help us15:14
dimiternbabbageclunk: allenap, mpontillo, roaksoax, blake_r15:14
mgzit's not a very lively channel15:14
mgzbut gavin is our timezone, and sometimes in hitting range of me (allenap)15:14
cheryljnatefinch: thanks for checking it out, I'll bring it up again today to better understand the blockage15:14
babbageclunkvoidspace: or maybe he *vowed* to help us?15:14
babbageclunkOk, thanks15:14
voidspacebabbageclunk: uhm, maybe I guess...15:15
babbageclunkvoidspace: It would be more dramatic.15:16
voidspacebabbageclunk: it certainly would be15:16
babbageclunkvoidspace: Never promise when you could vow15:16
voidspacebabbageclunk: heh, sound life advice there15:17
voidspacebabbageclunk: frobware: dimitern: a really difficult one http://reviews.vapour.ws/r/4630/15:18
dimiternvoidspace: looking15:18
frobwaredimitern: does it need a test where there are no tags?15:19
dimiternvoidspace: :) LGTM15:19
voidspacedimitern: thanks15:19
dimiternfrobware: that's up to gomaasapi I think - it should handle the lack of tags as an empty slice (or nil)15:20
dimiternvoidspace: ^^15:20
voidspacedimitern: frobware: yep, it will just be an empty slice15:20
frobwareok15:20
voidspacedimitern: frobware: calling gomaasapi give us a struct with a Tags member - so either there's something there or there isn't. It doesn't matter.15:21
voidspaceor rather, an interface with a Tags method15:21
dimiternvoidspace: cool15:21
voidspacefrobware: thanks15:21
dimiternvoidspace: also I doubt you have any tags on your vmaas vms - otherwise that would've been noticed earlier :)15:22
dimitern(I mean if it's a panic or something nasty like that)15:22
voidspaceindeed15:22
voidspacebabbageclunk: don't forget to update the status doc - ta!15:23
dimiternvoidspace, babbageclunk, frobware: http://reports.vapour.ws/releases/3899/job/run-unit-tests-race/attempt/1338#highlight it might be worth running provider/maas tests with '-race' a few times to find and fix that15:24
voidspacedimitern: I've added it as a TODO on the status doc15:26
dimiternvoidspace: +115:27
frobwarevoidspace, babbageclunk, dimitern: reminder - no rick call today15:36
dimiternfrobware: ok15:37
* dimitern bbl15:38
babbageclunkdimitern, voidspace: whoa, that data race is weird - can someone explain it to me a bit?15:41
mupBug #1519877 changed: 'juju help' Provider information is out of date <juju-core:Invalid> <juju-core 1.25:Triaged> <https://launchpad.net/bugs/1519877>16:01
=== tasdomas` is now known as tasdomas
voidspacebabbageclunk: I looked at it, went "whoa" and stopped looking at it16:14
voidspacebabbageclunk: as you might guess, the race detector detects possible race conditions between goroutines16:14
voidspacebabbageclunk: so it shouldn't be *too* hard to work out16:14
babbageclunkvoidspace: Ah, I think I get it - it's the fact we store the filename in GetFile.16:14
babbageclunkvoidspace: In fakeController.16:15
voidspacebabbageclunk: if you think you can fix it then awesome16:15
voidspacebabbageclunk: ah, right16:15
voidspacesounds likely16:15
babbageclunkvoidspace: do you think I should put locking on all of the fakeController methods that store state on the controller for later?16:17
babbageclunkvoidspace: may as well, right?16:17
voidspacebabbageclunk: if it's not too much work16:18
voidspacebabbageclunk: I don't really like "just in case" code16:19
voidspacebabbageclunk: but locking is perhaps an exception16:19
babbageclunkIt's only a few methods16:23
mupBug #1571737 opened: Race is mass provider storage <ci> <maas-provider> <race-condition> <regression> <juju-core:Triaged> <https://launchpad.net/bugs/1571737>16:31
cheryljbabbageclunk, voidspace, so who gets bug 1571737?  :)16:39
mupBug #1571737: Race is mass provider storage <ci> <maas-provider> <race-condition> <regression> <juju-core:Triaged> <https://launchpad.net/bugs/1571737>16:39
babbageclunkcherylj: me, me!16:39
cheryljwe have a winner!16:39
babbageclunkcherylj: fixing it now16:39
cheryljyay!16:39
cheryljthank you, babbageclunk :)16:39
babbageclunkcherylj: :)16:39
cheryljbabbageclunk: what's your lp ID?16:41
babbageclunkcherylj: hmm, good question - checking now16:41
babbageclunkcherylj: 2-xtian16:41
cheryljyeah, I never would've guessed that16:41
cheryljthanks, babbageclunk :)16:41
frobwareme neither16:42
frobwareand I'm sure you told me this a few weeks ago16:42
babbageclunkvoidspace, dimitern, frobware: review my data race fix please? http://reviews.vapour.ws/r/4631/16:49
voidspacebabbageclunk: LGTM17:00
babbageclunkvoidspace: sweet. What's the protocol for closing bugs? Will anything update it automatically on merge if I put a tag on the PR, or do I just close it manually?17:01
voidspacebabbageclunk: assign it to yourself, mark it in progress17:02
voidspacebabbageclunk: then once the fix lands mark it fix committed17:02
voidspacebabbageclunk: QA are responsible for marking it fix released (effectively closing it)17:02
voidspacebabbageclunk: I don't *think* there's anything auto here17:03
mgzour release process does auto-fix-released bugs targetted at the milestone17:03
voidspacemgz: cool17:03
voidspacebabbageclunk: you should probably target the bug at the latest 2.0 beta/rc or whatever the latest is then17:03
mgzyeah, rc117:04
mupBug #1570035 changed: Race in api/watcher/watcher.go <ci> <race-condition> <regression> <test-failure> <juju-core:Fix Released by natefinch> <https://launchpad.net/bugs/1570035>17:04
mupBug #1570994 changed: deploy fails to download updated local charm <juju-core:New> <https://launchpad.net/bugs/1570994>17:04
babbageclunkWhen you say target it at 2.0-rc1 - is that the milestone? (It's already set to that.)17:06
voidspacebabbageclunk: yes17:07
babbageclunkOk, I've marked it as in-progress, and when the merge passes (as I'm sure it will with no flaky tests!) I'll change it to fix-committed.17:08
voidspacebabbageclunk: don't forget status doc17:09
babbageclunkvoidspace: haven't!17:10
voidspacebabbageclunk: :-p17:10
babbageclunkvoidspace: no, I mean I haven't updated it ;)17:10
voidspacehah17:11
voidspaceI know you haven't17:11
babbageclunkvoidspace: but I will.17:12
voidspaceok17:12
voidspaceyou do that17:12
babbageclunkvoidspace: ding!17:30
mupBug # changed: 1556113, 1556146, 1556180, 155890117:31
natefinchericsnow, katco`: if you're looking to break up your day, you could review my bugfix from last week: http://reviews.vapour.ws/r/4616/17:47
=== katco` is now known as katco
ericsnownatefinch: will take a look in a bit17:47
katconatefinch: same17:47
mupBug #1571783 opened: Windows unit tests cannot setup under go 1.6 <ci> <go1.6> <jujuqa> <regression> <test-failure> <unit-tests> <windows> <juju-core:Triaged> <https://launchpad.net/bugs/1571783>17:52
mupBug #1571783 changed: Windows unit tests cannot setup under go 1.6 <ci> <go1.6> <jujuqa> <regression> <test-failure> <unit-tests> <windows> <juju-core:Triaged> <https://launchpad.net/bugs/1571783>17:55
mupBug #1571783 opened: Windows unit tests cannot setup under go 1.6 <ci> <go1.6> <jujuqa> <regression> <test-failure> <unit-tests> <windows> <juju-core:Triaged> <https://launchpad.net/bugs/1571783>18:01
natefinchI really wish juju status would print out the controller name and model name I'm looking at18:12
perrito666natefinch: open a bug18:12
=== cherylj_ is now known as cherylj
=== redir is now known as redir_lunch
mupBug #1571792 opened: Juju status should show controller and model names <juju-core:New> <https://launchpad.net/bugs/1571792>18:32
=== redir_lunch is now known as redir
natefinchcmars: I'm looking at https://bugs.launchpad.net/juju-core/+bug/1566130  but I can't reproduce it with a trivial install hook that just does an exit 1... do you still have a good repro?19:25
mupBug #1566130: awaiting error resolution for "install" hook <juju-core:Triaged by natefinch> <https://launchpad.net/bugs/1566130>19:25
cmarsnatefinch, try pulling cs:~cmars/gogs and introducing an install hook error in reactive/gogs.py19:27
rediranyone have a minute to rubber duck something with me?19:27
cmarsnatefinch, maybe raise Exception("foo") in there19:27
natefinchcmars: ok, I'll give it a try, thanks19:28
cmarsnatefinch, then, "fix" it, do `juju upgrade-charm gogs --force-units`19:28
cmarsnatefinch, then possibly juju resolved --retry gogs/019:28
redirkatco: who would I ping about zseries information?19:32
mupBug #1556155 changed: worker/periodicworker data race <race-condition> <juju-core:Fix Released> <https://launchpad.net/bugs/1556155>19:32
mupBug #1570219 changed: juju2 openstack provider setting default network <canonical-bootstack> <network> <openstack-provider> <juju-core:Fix Released> <https://launchpad.net/bugs/1570219>19:32
katcoredir: sec19:32
redirnp19:32
katcoredir: i answered on internal network in case you missed it19:37
redirI did19:42
natefinchoh weird, we automatically retry failed hooks now?20:19
natefinchwallyworld: you around?20:20
mgznatefinch: yeah, see dev thread in jan, from message from bogdan in nov20:20
mgzdid his followup changes all get reviewed?20:20
mgzI saw at least one hanging around for a while20:20
natefinchOh yeah, I remember that thread now20:21
natefinchmgz: no idea about reviews20:21
natefinchmgz: was wondering if maybe the retry code had something to do with the bug I'm looking at: https://bugs.launchpad.net/juju-core/+bug/156613020:24
mupBug #1566130: awaiting error resolution for "install" hook <juju-core:Triaged by natefinch> <https://launchpad.net/bugs/1566130>20:24
mgznatefinch: seems possible at least - don't have a tighter revision window to check for you I'm afraid, as we don't have tests for actually borked charms.20:26
natefinch*nod*20:26
mgzshould at least have something exercising resolved --retry and the like, wouldn't be that hard to add.20:27
wallyworldnatefinch: sorta20:34
natefinchwallyworld: np, got an answer elsewhere20:34
=== jillr_ is now known as jillr
=== redir is now known as redir_afk
redir_afkI'll be back later this eve, but not sure what time yet.20:47
katcoredir_afk: gl20:48
mupBug #1571831 opened: TxnPrunerSuite.TestPrunes intermittent test failure <juju-core:New> <https://launchpad.net/bugs/1571831>20:50
mupBug #1571832 opened: Respect the full tools list on InstanceConfig when building userdata config script. <tech-debt> <juju-core:Triaged> <https://launchpad.net/bugs/1571832>20:50
natefinchcmars: that install bug... have you been able to reproduce it with latest master?  I tried a few different ways of having install fail, to no avail.20:57
cmarsnatefinch, a very recent 2.0rc1 master. i'll try in a few min & demonstrate20:58
natefinchcmars: thanks20:58
=== alexlist` is now known as alexlist
cmarsnatefinch, updated the bug with really precise instructions. confirmed it's still there with latest master. the trick is to upgrade-charm --force-units after you get the hook error21:49
mupBug #1571855 opened: User lacking model write access confronted with unhelpful message <docteam> <juju-core:New> <https://launchpad.net/bugs/1571855>21:53
mupBug #1571861 opened: juju upgrade-charm requires --switch for local charms <juju-core:New> <https://launchpad.net/bugs/1571861>22:05
axwwallyworld: I'm thinking of removing the --generate flag from change-user-password. it currently doesn't tell you what it generated, so not very helpful; and really, you should just use a password manager if you want that23:50
wallyworldaxw: sgtm i think23:51

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