[01:29] Bug #1536425 opened: Juju metadata cannot make streams with 1.x and 2.x agents [01:29] Bug #1536426 opened: Juju metadata cannot make streams with 1.x and 2.x agents [01:40] davecheney: what is the simplest way to create a copy of []string? [01:40] is it: target := source[:] [01:40] ? [01:40] or do you go: [01:40] target := make([]string, len(source)) [01:40] copy(target, source) [01:42] seems that the first is good enough === rharper` is now known as rharper [02:11] thumper: do you want to copy the string header value, or the contents of the string [02:11] the former is easy, just assign [02:11] the latter requires a copy if you want the backing array of the source and copy to be different [02:11] I want a change in source to not change target [02:21] then you need to copy the contents of the slice [02:43] davecheney: the [:] makes a copy right? [02:43] davecheney: on another take... guess what? [02:43] fslock is fubared [02:43] menn0 is annotating a bug [02:44] thumper: [x:y] is the slicing operator, which never copies the backing array === natefinch-afk is now known as natefinch [02:44] natefinch: http://play.golang.org/p/TJlPFkr9wD [02:44] natefinch: hmm... [02:44] * thumper pokes [02:45] ok, figured it out [02:45] append makes you a new backing array there [02:47] yeah, figured that bit out [02:47] ta [02:48] [:] copies the struct value, which still points to the same backing array [02:48] var s []string [02:48] x := s[:] [02:48] isthe same as [02:48] x := x [02:48] oh wallyworld [02:48] x := s [02:49] yo [02:49] wallyworld: I have a master blocker to give you [02:49] oh joy [02:49] because I'm busy with model migrations :) [02:49] sigh, i'm busy too :-( [02:49] thumper, wallyworld: https://bugs.launchpad.net/juju-core/+bug/1536378 [02:50] Bug #1536378: resolver loop error in maas-1_8-OS-deployer test [02:50] updating the bug with new info now [02:50] wallyworld: I know, everyone is busy [02:50] but I've been given the "go away" sign for my door [02:51] davecheney: surprise surprise the alive stuff in fslock doesn't work [02:51] remind me to "thank" alexis [02:51] wallyworld: she did give you the choice remember [02:51] choice of wot? [02:51] me or axw_ [02:52] ? [02:52] to do the model migrations work i think he means [02:52] axw_: it was who was going to work on model migrations [02:52] ah, I had no idea :) [02:53] we were going to do CMR [02:53] yeah, wallyworld sheltered you [02:53] * axw_ retreats back into cave [02:53] that was before CMR go pulled [02:53] like a good manager === axw_ is now known as axw [02:53] * rick_h_ hands out umbrellas to everyone [02:53] thumper: i think I just won some kind of bet [02:53] thumper: will you let me rip it out now ? [02:54] I was happy to have it ripped out before [02:54] who wanted it kept? [02:54] I forget [02:54] thumper: you did [02:54] there was some concern about shared filesystems I think? [02:54] well, we put it to juju-dev and htere was the usual round of non committal 'well, maybe we need it' [02:55] we don't even need to worry about that when we do XDG properly [02:55] combined with the usual bike shedding on how one _could_ implement that feature [02:56] davecheney: I seem to recall a twitter poll... ;) [02:56] indeed [02:56] ugh [02:56] fark [02:57] I'd like to see it replaced with something else that works on windows / linux / maxos [02:57] that unlocks if the process dies [02:57] I don't care about the underlying implementation [02:57] I can do that 100% reliably on linux [02:57] I can do that 100% reliably on windows [02:57] create some interface that we can hide behind [02:58] osx would have to be a tcp socket listneing on localhost [02:58] that has both lock, and lockWithTimeout [02:58] lock is just lockWithTimeout(MAXINT) [02:59] np [03:00] davecheney: JFDI [03:05] Bug # opened: 1536445, 1536446, 1536447, 1536448 [03:06] kk [03:08] thumper: https://bugs.launchpad.net/juju-core/+bug/1465317/comments/12 [03:08] Bug #1465317: Wily osx win: panic: osVersion reported an error: Could not determine series [03:10] davecheney: I was looking into that code in Oakland, since I was factoring out the version stuff to live outside of juju/juju for use by the charm repo (for MinJujuVersion). IIRC, the places where we actually care that a series is "known" or not are very limited... and usually it would be fine to fail later (e.g. when we can't find a matching tools stream). [03:11] natefinch: yeah, i think so too [03:11] i think it's reasonably safe to add an "unknown" series [03:11] I agree [03:12] as long as it's really unknown... if it's Zany Zebra and it's just not in our list, if it still comes across as "zany", then I think that's ok. if zany gets turned into unknown, then we're basically back where we started. [03:14] I'd rather we keep it zany [03:14] and just not find tools etc [03:15] exactly [03:15] ...until tools appear, and then it just magically works [03:17] and we stop getting these bugs every time a new ubuntu or windows or osx version comes out [03:18] thumper: we can do that for linux [03:18] but for windows and OSX there is no tool to map their internel release name to a name [03:19] what is the series of OSX 10.20.0 ? [03:19] maybe we just say "10.20.0" [03:19] it won't match any tools [03:19] but you cannot bootstrap to OSX, so that's not a big deal [03:19] wallyworld, thumper, davecheney: bug 1536378 updated [03:19] Bug #1536378: fslock staleness checks are broken [03:20] now creating another bug with all the other stuff that's broken in fslock [03:21] menn0: so is that a second blocker? [03:22] wallyworld: the others are less likely to be hit, probably not worth blocking for [03:22] menn0: oh, reading the comment in the maas blocker implicates fslock? [03:23] davecheney: we actually get a string name for windows... I guess we just thought it was too long, so we made a map to shorter names... nothing says we couldn't change that and just use the real name for the tools.. it's not like they're something a user should ever see. [03:23] wallyworld: yep I believe the fslock bug is the reason for the MAAS CI test failure [03:23] wallyworld: I'm amazed that not more is broken [03:24] so thumper introduces a bug and flocks it off to me \0/ i owe him a beer [03:33] actually i take it back, someone else introduced the bug, not thumper. damn, can't blame him now [03:51] oh dear [03:51] juju still has two different types of file lock [03:51] juju/utils/fslock, and juju/juju/utils/filelock [03:53] fsutils.Lock calls lock.clean before starting to lock the lock [03:53] fsutils.LockWithTimeout does not call lock.clean [03:53] one of those is wrong [03:53] i cannot tell which [03:56] and this is why man invented the coin toss [03:56] ....also unit tests [04:00] logger.Warningf("breaking configstore lock, lock dir: %s", filepath.Join(dir, lockName)) [04:00] logger.Warningf(" lock holder message: %s", lock.Message()) [04:00] multi line logging ? srsly [04:00] rofl [04:01] menn0_: with logging to mongo, do we still need logsink.log? [04:02] davecheney: are you fixing the blocker? i was going to start looking but don't want to double up [04:03] yup, i'm looking at the lock type [04:03] * davecheney scrubs for surgeery [04:03] awesome, ty [04:05] wallyworld: yes [04:06] wallyworld: logsink.log is the file that we use if mongo goes awol [04:06] thumper: makes sense, ty. i have a branch with rsyslog all removed [04:06] wallyworld: logsink.log was created as part of the logging to mongo [04:06] \o/ [04:06] * thumper is done for the day [04:06] later [04:08] davecheney: i'm not sure what you're thinking but I wonder if now is the time to change fslock to use OS primitives for locking (as already discussed on juju-dev) instead of the current mess [04:08] davecheney: all the current complexity and bugs are because it's doing it wrong [04:09] davecheney, wallyworld: bug 1536378 describes the other fslock issues discovered today [04:09] Bug #1536378: fslock staleness checks are broken [04:09] davecheney, wallyworld: sorry bug 1536461 [04:09] Bug #1536461: fslock bugs [04:09] awesome, more bugs \o/ [04:10] menn0_: i see a bunch of work was done to fslock since it was originally written - obviously not well reviewed [04:12] Bug #1536461 opened: fslock bugs === menn0_ is now known as menn0 === menn0 is now known as menn0_ [04:25] menn0_: wallyworld thumper, minimal fix https://github.com/juju/utils/pull/190 [04:25] awesome [04:26] davecheney: I think the retry loop might have been a way to paper over the race created by the RemoveAll in NewLock (see bug 1536461) [04:26] Bug #1536461: fslock bugs [04:27] davecheney: as long as that race is there, the loop might be necessary [04:27] menn0_: there are lots and lots of problems in that type [04:27] davecheney: agreed [04:27] for example, Lock calls clean which does the isAlive/BreakLock dance [04:27] LockWithTimeout does not call clean [04:28] which looks like an oversight [04:28] the "if your pid matche the pid of the lock" is also a bug [04:28] davecheney: yes, that's one of the problems I mention in bug 1536461 (you should look there) [04:28] Bug #1536461: fslock bugs [04:29] davecheney: i made a comment, not sure if you agree [04:29] davecheney: I'm not sure that the "if PID == lock.PID" is necessarily wrong [04:29] davecheney: this function is about deciding if the PID which owns the lock is alive [04:29] if two workers inside the same process are relying on this lcok to stop them walking over each other [04:30] it is [04:30] we probably don't have that code path today [04:30] but it's just a matter of time [04:30] davecheney: not about whether the the lock is held [04:30] the logic of "make lock, then lock it" is insane [04:30] you sholdn't be able to create a lock unless you hold it [04:30] davecheney: isAlive is about whether a process is alive and keeping the current lock "held" [04:31] davecheney: yep I agree with that [04:51] menn0_: I added a long rebuttle why I think retring is pretty pointless === menn0_ is now known as menn0-afk [05:06] wallyworld: http://reviews.vapour.ws/r/3585/ [05:06] any more comments [05:06] looking [05:06] ta [05:12] davecheney: reviewed, but if we close the current blocker there should be a bug opened for the proper fix [05:17] wallyworld: menn0 has created a placholder bug listing all the probles [05:17] wallyworld: 1536461 [05:17] ok, ty [05:17] i was just concerned this specific bug would be closed for the quick fix and not followed up [05:17] as part of a longer term fix [05:19] wallyworld: yup, a long term fix is to stop using pid files on disk [05:19] which is my plan [05:19] indeed [05:46] wallyworld: can you please re review [05:46] i got scared and rolled back most of my change [05:46] ok [05:46] now the patch just loops like the logic originally did [05:46] but actually loops [05:46] i think this is the safer change [05:48] yep, +1 [05:48] that was my main issue with the first changes [05:56] wallyworld: https://github.com/juju/juju/pull/4162 -- refactored credentials types, added list-credentials [05:56] yay [05:56] axw: will look in about 15 [05:56] wallyworld: next will be extending providers to return schemas, need to tidy that up. probably will be a big one [05:56] wallyworld: thanks, no great rush [05:56] wallyworld: CI bot is fucked up, it cannot tell time anymore [05:56] http://paste.ubuntu.com/14588528/ [05:57] sigh [05:57] tried twice in a row [05:58] we'll have to try again i guess and let curtis know [06:09] Bug #1536477 opened: utils/debugstatus: test failure [06:13] wallyworld: so we're definitely removing the old azure from 2.0? [06:13] axw: yep [06:13] wallyworld: if so, I'm going to do that now, because it'll make my job easier in the cloud credentials branch [06:13] k [06:14] axw: we're supporting 1.25 for 2 years [06:14] wallyworld: *nods* [06:15] wallyworld: hmm, CI probably isn't ready for it though [06:15] Bug #1536477 changed: utils/debugstatus: test failure [06:15] I'll just put it up for review anyway, then land when CI is ready [06:18] Bug #1536477 opened: utils/debugstatus: test failure [06:28] axw: yes, i am having conversations about CI for the api rename branch. i've added that to the list of topics. [06:28] wallyworld: ta [06:35] wallyworld: https://github.com/juju/juju/pull/4163 [06:35] fix to juju/juju [06:35] ok [06:35] the whole of juju/juju? [06:36] if only [06:36] lgtm [06:39] Bug #1536480 opened: Disallow deploying multiple units to the same container by default [07:07] axw: reviewed, have to head to soccer in about 45 minutes, will look again when i get back if not before [07:07] wallyworld: ok ta [07:37] wallyworld: addressed some but not all comments, PTAL when you can [07:37] sure [07:43] axw: responded [07:53] wallyworld: PTAL [07:54] ok [08:01] axw: done, ty. now off to soccer [08:01] wallyworld: later, enjoy [09:14] hello to everyone...I have a problem with a bootstrap, is this the right channel? [09:28] I'm trying to bootstrap juju with two maas machines, that actually are two VM into VMWare... I installed the Maas controller on another machine, and the bootstrap seems to go well, it installs the OS cloud into the first of the two machines but when it comes to MongoDB replica stuff, it fails. I have under my hands the logs that I see in this situation [09:39] Muntaner: maybe you better ask on #juju. here it's more development of juju [09:48] ok TheMue, sorry : ) [09:49] Muntaner: yw, no need to excuse. is only a hint. [10:03] jam: stdup? [10:03] dooferlad: frobware: small PR http://reviews.vapour.ws/r/3590/ === Odd_Blok1 is now known as Odd_Bloke [11:33] Bug #1536587 opened: juju's MAAS bridge script is echoed to the console by cloud-init during bootstrap [11:39] Bug #1536587 changed: juju's MAAS bridge script is echoed to the console by cloud-init during bootstrap [11:42] Bug #1536587 opened: juju's MAAS bridge script is echoed to the console by cloud-init during bootstrap [11:45] Bug #1536587 changed: juju's MAAS bridge script is echoed to the console by cloud-init during bootstrap [11:48] Bug #1536587 opened: juju's MAAS bridge script is echoed to the console by cloud-init during bootstrap [11:52] any fancy a review of a new (to juju/utils) URL utility function? https://github.com/juju/utils/pull/191 [11:54] I'll bite. [11:55] mgz: ta! [11:56] mgz: if you can think of any unusual corner cases that aren't covered in the test table, i'd like to know [11:56] hm, there's nothing actually urly about this [11:56] mgz: urls are an obtuse thing! [11:56] doesn't do anything with schemes [11:57] mgz: URL paths [11:57] mgz: still part of URLs [11:58] mgz: the RFC is definitely pertinent here [11:59] rogpeppe: this is basically os.path.relpath though [11:59] mgz: yeah, except for it's URL-specific [11:59] mgz: os.path.relpath wouldn't work here [12:00] I'm not seeing any case where it actually differs [12:00] mgz: os.path.relpath doesn't treat trailing slashes as significant [12:00] I mean, that's not a reason we don't need this, if go doesn't have it [12:00] aha, yeah, that is true [12:01] which if these tests cover that... [12:04] rogpeppe: does it ever make sense for base to not start with a / ? [12:05] mgz: not in the use case that we've been using it for, but it's possible [12:05] also both have to be normalised already (as in, not contain .././) [12:06] mgz: yeah, that's true. perhaps i should normalise them with path.Clean [12:06] asserting both are abs paths seems good for the moment [12:09] rogpeppe: lgtm [12:09] mgz: thanks [12:10] mgz: tbh i don't know of any http muxers that allow .. or . in the middle of paths. [12:10] mgz: although... actually i think http.ServeMux returns a redirect if the path isn't clean, which kinda avoids the issue [12:13] I think just stating the obvious in the function doc comment should be fine [12:14] there are few cases in code where you'll actually deal with non-normalised paths and they tend to be obvious [12:15] mgz: yeah [12:24] voidspace, dooferlad: can we take another pass through this - http://reviews.vapour.ws/r/3570/. I've only just got back to it... [12:24] frobware: looking [12:31] frobware: your unique option filtering, is that tested? [12:32] voidspace, since I posted I'm going to revert that change. [12:32] frobware: unique_options should really be a set not a list [12:32] frobware: hah [12:32] voidspace, set doesn't guarantee original order. [12:32] frobware: true enough [12:32] voidspace, I could switch to ordered set. [12:33] voidspace, but I know recall why I started making it unique and that should be a separate change. [12:34] frobware: ok [12:34] voidspace, in my experiments yesterday with dns-nameserver we need to collapse duplicate entries to a single line, so this is not appropriate. [12:34] frobware: for small "sets" a list is fine [12:34] for long lists testing membership is slow [12:34] voidspace, I want fewer changes to the original /e/n/i as possible. [12:34] voidspace, makes it clear what buthering "we" did [12:34] frobware: good call [12:35] voidspace, understood the perf. call, but we're dealing with < 10 entries in general. [12:35] voidspace, of all the things... I don't think we have a performance problem. :) [12:37] :-) [12:38] frobware: is the new diff ready for review? [12:38] voidspace, yep. pushed. [12:41] frobware: LGTM [12:41] voidspace, thx [12:58] axw: wait, are we droping $JUJU_HOME? [13:35] mgz, ping [13:36] wow testing is too different from the version we are using, anyone knows why? [13:36] frobware: hey [13:37] mgz, so we monster merged master into maas-spaces and I was looking when maas-spaces was last blessed which turns out to be ~39 days ago. Is and will maas-spaces be tested in CI? Do we have to do anything to trigger this, et al? Would really like to ensure our merge into maas-spaces will eventually get back into a blessed stated so we can merge into master. [13:38] frobware: I can get it queued today [13:38] mgz, great. thanks. [13:39] we're still suffering from shortage of maas capacity [13:51] mgz: mass 1.9 is ill. Nodes are not coming up. Releasing the held nodes and restarting did not fix the issue. I need more coffee before I can fix this [13:53] sinzui: will have a look [14:16] sinzui, mgz, maas trusty daily image woes. #maas @ c [14:16] :/ [14:16] thank you beisner [14:17] sinzui, yw i think ;-) [14:19] jam: ? [14:19] perrito666: ? [14:19] it's a punctuation fight! Go!! [14:20] I have a doubt (2 actually) regarding juju2 supporting xdg [14:20] natefinch: please, I have stuff like ¿ [14:20] jam: are we dropping JUJU_HOME ? [14:21] I would think that JUJU_HOME supersedes any other setting [14:21] mgz: Can you review https://code.launchpad.net/~sinzui/juju-ci-tools/unit-test-install-deps/+merge/283450 [14:21] jam: I thought so too, but axw made a few comments in my PR which made me doubt [14:21] link? [14:22] the second is regarding XDG_DATA_HOME are we honoring that? [14:22] jam: the second is regarding XDG_DATA_HOME are we honoring that [14:23] perrito666: I don't think we have the concept of a set of DATA files. Isn't that usually things for local installs of resources that you consume? [14:23] given .local/share [14:23] which matches /usr/share, right? [14:24] jam: well it is a bit of a blurry concept I think, I have seen people not be consistent on that one [14:24] that is why I did a straight replace [14:24] so, *today* I don't believe we consume anything from /usr/share [14:24] but if we are going to deem certain things as "data" there is more thought to be put into this [14:24] the closest we have is /usr/lib/juju/ where we put things like mongo [14:24] but I don't think we have any plans to read that out of a users home dir [14:25] I'd think we'd just support XDG_CONFIG_HOME for this [14:26] works for me [14:30] jam: tx for your help [14:30] perrito666: happy to [14:38] anyone have ideas on how I can store (and more importantly) update a map[string]string in mongo? [14:38] natefinch: you just do it? [14:39] perrito666: update is the tricky one.. is there an operation to just update a single entry in a map in the DB? [14:39] natefinch: you seem to be confusing mongo with a serious db :p [14:39] perrito666: heh [14:39] perrito666: I'm trying to avoid having to read the map out and then write it back [14:40] nope, you are doomed to it [14:40] and in the middle the incertitude of race conditions :p [14:40] pleh [14:40] jokes apart, I dont think there is a db that allows you to do a partial update of a piece of data [14:41] your smalles unit is a doc's field and you want to make a change smaller than that [14:41] perrito666: I just didn't know if there was some mongo hackery, since a map is just like an object, if I could do foo["bar"] = "baz" [14:45] perrito666: looks like you can do it, so like {$set: {"foo.bar": "baz"} } [14:46] what? :\ [14:46] that surprises me [14:47] the map is really an "embedded document" in the field [14:47] can you do that with other types? [14:47] natefinch: ah, I would not expect maps to be treated as documents [14:48] perrito666: in mongo (and json) map == object/document [14:48] natefinch: I am curious on how we are serializing de-serializing that [14:49] perrito666: that's what I'm trying to figure out... probably map[string]interface{} [14:50] that whole process deppends a lot on us being nice people :p [14:58] ericsnow: it occurs to me, we have no unique id for a resource :/ [14:59] ericsnow: the unique id is service/resourceName/resourceRevision ... and revision is either the revision or the timestamp, depending on the type of resource :/ [15:07] remove all the things that say "remove in 2.0" is a feeling equivalent to peeling the film of a new screen [15:29] cherylj, ping [15:30] hey frobware, what's up [15:30] cherylj, I think I deleted the wrong meeting - or it's disappeared from my cal. Are we meeting now? [15:30] frobware: nope, in 30 minutes [15:31] frobware: but given your email, we can postpone / cancel if you're swamped [15:31] cherylj, ah. got it. sorry for the noise. coffee is wearing off. [15:31] perrito666: must be enjoyable [15:31] perrito666: glad you have the honor [15:32] cherylj, can we? I have stuff for 1.25 and maas-spaces pending, plus other stuff... [15:32] frobware: yeah, no prob. I can cancel and send some comments / ideas in an email [15:32] cherylj, also need to reflect on the nature and timing as I mentioned via email [15:41] cherylj, any thoughts on when a 1.25.4 would be? I was starting to look at #1532167 again. [15:41] Bug #1532167: maas bridge script handles VLAN NICs incorrectly [15:41] frobware: ha, that bug just came up in the cross team call. [15:42] cherylj, not terribly surprised... [15:42] frobware: I'm going to say 2 - 4 weeks, to be realistic [15:43] cherylj, ok. I'm asking because we have way better support for bond, vlans, vlans on bond in maas-spaces (in the bridge script). so trying to decide whether patching what's in 1.25 or taking wholesale changes from maas-spaces might be better. [15:44] cherylj, can they work without a fix for 2-4 weeks? [15:52] cherylj, tentatively sometime next week [15:56] o/ frobware, thanks again for all your work on the ifaces fun. much appreciated. [15:56] beisner, np. it's great we have a better understanding of how it all plumbs together now. === abentley_ is now known as abentley [16:20] cherylj how long until 2.0-alpha1 lands in the -dev ppa? [16:20] cherylj i ask as i just encountered a bug that says it was 1.25 fix-released, but it doesnt appear to be in practice: http://pad.lv/1512371 [16:20] lazypower: should be very soon. sinzui ^^ ? [16:21] so i just had the develooer upgrade to 1.26-alpha3, this will be jarring if they get a shiny 2.0-alpha1 later today :P [16:22] lazypower: which 1.25 were you using? [16:22] lazypower: that bug is fixed in the proposed juju. We are waiting for confirmation juju just works before completing the release. [16:22] lazypower: that bug isn't fixed in any stable 1.25. The versions which have that fix are still in proposed [16:22] ah ok [16:23] well, here's to have immediate external testing to 2.0 when it lands [16:23] * lazypower cheers [16:23] :) [16:23] i have a meeting with them in 30, i'll put a little bug in their ear they're going to be on 2.0 in the next day or so. [16:24] should we encounter critical punches, i can have them revert to the proposed ppa and that should get themb ack in stable w/ a maas 1.9 fix? [16:24] lazypower: yeah. 1.25.3 was just put into proposed, and that has a lot of maas networking fixes [16:24] ok, bueno. Thanks for the background info [16:25] lazypower: let me know if they run into issues with 2.0. I'd love to hear feedback [16:28] will do [16:48] ericsnow: is it too evil if I just reuse SetResource and pass it an ID that already has the unit tag embedded in it? [16:48] natefinch: borderline evil :) [16:49] ericsnow: ahh, better: I can add a possibly-empty unit field to set-resource [16:49] ericsnow: that way I don't have to encode the ID outside the DB code [16:49] natefinch: there's enough distinction that it may be better to at least have 2 separate methods that call the same underlying (unexported) method [16:50] ericsnow: yeah, ok... I was trying to be lazy... too lazy in this case, you're right :) [16:50] natefinch: :) [17:13] man I hate that Tags have a String() string and an Id() string .... which one am I supposed to use when? Why are there two string representations? [17:17] ericsnow: why do we pass the id and the resource itself separately to persist.SetResource? Wouldn't it be better to just pass the resource and let the function take the id from the name on the resource? [17:19] natefinch: not sure [17:19] ericsnow: removing it would prevent people from doing evil things like I was planning to do ;) [17:19] natefinch: re: tags, use Tag.Id() (and I'd recommend passing that ID around rather than the tag) [17:20] gah, I hate passing around raw strings. Then you never know what they're really supposed to be, and so you have to traverse back up the tree to figure out what string is actually being set... [17:20] frobware: that's sneaking assigning that card to me... [17:21] if it's always the results of a UnitTag.Id().. why not just pass the UnitTag? [17:21] otherwise, you're just encoding way high up in the stack what the DB id format is [17:21] voidspace, sorry, was on a mission to ensure the iteration was fully loaded... [17:21] voidspace, want to chat about it? [17:22] voidspace, it was really because post your monster merge I wanted to keep an eye out for any fallout [17:22] natefinch: tags are a wire format type (my understanding), not suitable for use outside the API [17:24] natefinch: regarding that "id" parameter, I expect it is an artifact of copying (or at least following the example of) the equivalent code from payloads [17:25] ericsnow: I'll think about submitting a separate patch to strip it out, but not that important right now [17:25] natefinch: in that case the payload ID wasn't derived from the payload name (or any other info) [17:25] Bug #1536728 opened: Juju's MAAS bridging script needs to de-duplicate dns-* iface options [17:26] natefinch: see payload/state/unit.go (Track) [17:26] natefinch: yeah, that should be fine since we are just using the resource name for the ID [17:27] ericsnow: I generally frown on anyone way outside the DB layer deciding what the ID for the item in the DB should be. [17:27] frobware: fallout, as in it might start passing? :-) [17:27] voidspace, ping me when it does. :-D [17:27] natefinch: the ID (in the case of payloads) is determined by state [17:27] frobware: I need to get the "api shut off" done on maas-spaces, then I can take a look at it [17:28] natefinch: that is not the same thing as the doc ID (which is contained strictly within the persistence layer) [17:28] voidspace, yep fine. again, I just didn't want the CI build to pass through the cracks. [17:28] frobware: sure :-) [17:29] frobware: just finished checking the differences between master and maas-spaces for potential missing stuff [17:29] voidspace, golden? ;) [17:29] frobware: a *lot* of files renamed on master, and a lot of new files on maas-spaces [17:29] frobware: nothing problematic though (I'm pretty sure) [17:30] voidspace, great. thanks for the due diligence. [17:30] frobware: looking at default gateway on the new NetworkInterfaces implementation too [17:30] as that doesn't exist on master and the fix there on applies to the legacy version [17:31] frobware: ah, however the new one does set a GatewayAddress [17:31] Bug #1536728 changed: Juju's MAAS bridging script needs to de-duplicate dns-* iface options [17:32] frobware: yep the new one takes it from the interface subnet [17:33] so that's cool [17:33] done and dusted [17:34] Bug #1536728 opened: Juju's MAAS bridging script needs to de-duplicate dns-* iface options [17:35] voidspace, great [17:36] frobware: as an experiment I just did another merge of master [17:36] frobware: there are conflicts in bridgescript_test.go [17:36] frobware: want me to resolve and push so we can track master [17:36] ? [17:37] voidspace, so how did that happen? In your branch? or mine which merged sometime earlier? [17:38] frobware: I did a fresh checkout of maas-spaces and merged upstream/master into it [17:38] voidspace, does it look the conflicts came from this https://bugs.launchpad.net/juju-core/+bug/1534795 [17:38] Bug #1534795: unit loses network connectivity during bootstrap: juju 1.25.2 + maas 1.9 [17:39] frobware: is there a linked github branch? [17:40] frobware: HEAD has a new "pre-up" in one of the tests [17:40] voidspace, https://bugs.launchpad.net/juju-core/+bug/1534795/comments/12 [17:40] Bug #1534795: unit loses network connectivity during bootstrap: juju 1.25.2 + maas 1.9 [17:40] frobware: cool, thanks - looking [17:41] frobware: yes [17:41] frobware: do you want to resolve it? Would only take a minute and there's already quite a bunch of changes on master we should pull in [17:42] voidspace, swamped. and need to leave in 19 mins... [17:42] frobware: ok [17:42] voidspace, can do this AM tomorrow if it helps. [17:43] frobware: on maas-spaces runScript takes a new isBond parameter - and I'm not sure what that should be on the new test from master [17:43] probably false though [17:44] frobware: I'll try and resolve, if I get bogged down I'll abandon [17:44] voidspace, at first blush I would say that's the wrong way round. [17:44] voidspace, the isBond should only be relevant on master and 1.25. [17:44] you might be right [17:46] frobware: multiple conflicts in the test scripts themselves, and my head is too tired to work them out [17:46] it can wait until tomorrow morning I think [17:46] natefinch: ping [17:46] voidspace: pong [17:47] natefinch: asking in case you know... [17:47] natefinch: the API is switched off during bootstrap until a certain point [17:47] natefinch: I need to ensure that the API remains off until a worker (that fires on bootstrap) has ccompleted [17:48] natefinch: do you know where I would find the API switching on/off code? [17:48] or the machinery/mechanism we use to do that [17:48] if not I will go spelunking in cmd/jujud [17:50] voidspace: I don't know specifically, but I would start looking at cmd/jujud/agent/machine.go, since that's where all the workers are, and some of them are specified as API workers, which require the API to be on... hopefully you could work backward to figure out where the API gets turned on [17:50] natefinch: that's a good clue, thanks [17:51] voidspace: there's an APIWorker method that is probably what you want to look at... i.e. what starts that worker [17:51] natefinch: cool [17:52] voidspace: so maybe I do know where to look, after all ;) [17:52] natefinch: you usually do :-) [17:52] natefinch: appreciated [18:29] hello, I recall a developer environments.yam key for GCE to use a specific image, but I don't remember the exact key [18:29] do that sound familiar to anyone? [18:34] arosales: I thought there used to be something like that for ec2, but hasn't been there for a while [18:37] hm, I thought I saw one for azure and ice . . . [18:38] s/ice/azure [19:03] pretty lonely in this juju core team meeting all by myself [19:05] natefinch: I believe that last night meeting was a replacement for this one [19:05] is "force-image-name" still recognized by azure? [19:05] perrito666: ahh [19:07] arosales: for the legacy azure provider, yes [19:07] arosales: I don't know how that might relate to the new azure provider [19:08] natefinch: thanks, do you know if a similar option is available for GCE? [19:08] or AWS? [19:12] arosales: definitely not for GCE [19:13] arosales: not for aws either [19:13] natefinch: ok, thanks [19:15] arosales: it's something we've wanted to implement for forever, it just never was a high enough priority (and none of the devs were annoyed enough to just do it themselves) [19:15] natefinch: understood, thanks for the info [19:34] ericsnow: you know something should be a function not a method when..... id := Persistence{}.resourceID("spam", serviceID, "") [19:35] natefinch: likely another artifact from payloads [19:50] natefinch: meeting running long, have to cancel [19:50] katco: ok [19:56] ericsnow: how's the get resource stuff going? [19:57] natefinch: slow (still not feeling great) [19:58] ericsnow: understandable [20:02] ericsnow: anything I can do to help? My code is like 10% dependent on your branch. [20:03] natefinch: not a ton (mostly a lot of mechanical cleanup) [20:04] ericsnow: fair enough [20:51] ericsnow: going to cancel our 1:1 as well; we're both not feeling great [20:51] katco: k [20:51] ericsnow: natefinch: sorry bout that [20:52] katco: ericsnow you can get together and drink chicken soup during the standup [20:52] *1:1 [20:52] perrito666: i need to find a vegetarian replacement for chicken soup [20:53] katco: I am pretty sure that those powder based chicken soups are far from any chicken :p [20:53] lol [20:54] sometime ago I bought soy hot dog sausage, surprisingly good [20:55] perrito666: i have discovered that the key to being vegetarian is not trying to find meat replacements, but to just cook delicious meals that just don't call for meat [20:55] which makes you think how much of the flavour on the original ones is influenced by the actual ingredients [20:56] sure thing, I cook a lot without meat in summer and that is good [20:56] yeah, you can get a long way with just salt, oil, onions, garlic, and peppers of various sorts. [20:56] and spices of course [21:11] cherylj: I just check a recent failure of the MASS OS deployer CI job for master and I also see the the hook execution lock being incorrectly broken there [21:11] cherylj: the following run (with the fix I think) passed [21:11] davecheney: ^ === menn0-afk is now known as menn0 === urulama is now known as urulama__ [21:13] menn0: morning, could you re-review the xdg branch? [21:13] perrito666: I will. I may not be able to do it for a couple of hours though. is that ok? [21:13] perrito666: FWIW I had a quick look yesterday and it looked good [21:14] perrito666: I'll look more closely today. [21:14] menn0: no hurry at all [21:14] menn0: I am eod [21:14] perrito666: ok cool. I'll review it before your next working day. [21:14] menn0: This test run of master doesn't have davecheney's fixes in it: http://reports.vapour.ws/releases/3529 [21:15] menn0: tx [21:15] menn0: is that the one you were looking at? [21:15] cherylj: yep that's one [21:15] cherylj: it got lucky then :) [21:15] menn0: yeah :) Are you rebasing machine-dep-engine? [21:16] yep... about to hit merge on it [21:18] * thumper puts his head down to work [21:19] cherylj: http://juju-ci.vapour.ws:8080/job/github-merge-juju/6057/ === menn0 is now known as menno-afk [21:30] ericsnow: ahh, hmm... seems like stub implementations should not be calling errors.Trace on the errors they return.. it obscures whether or not we're returning the correct error [21:30] natefinch: use errors.Cause() [21:31] ericsnow: but then I can't tell if my code is incorrectly wrapping the error, or if it's just the stub doing that [21:31] hey perrito666, I opened bug 1536792 to reference in the 2.0-alpha1 release notes as a "known issue". I know you committed fixes after the revision we're going to release. Was there other work needed to address that issue in the various providers? [21:31] Bug #1536792: Some providers release wrong resources when destroying hosted models [21:32] cherylj: I actually am tasked with opening bugs for the changes I committed so we track them [21:32] ericsnow: for example, my function should just pass through the error... but I can't test that it does that, because the stub is wrapping the error I give it. [21:32] perrito666: we can just use that one bug and describe which providers release what resources [21:32] perrito666: I opened it now for you since we're very very close to actually releasing alpha1 :) [21:33] ericsnow: if I call errors.Cause, I can't tell if I'm just unwrapping what the stub wrapped, or if I'm also unwrapping what my code (incorrectly) wrapped [21:33] perrito666: and I want to make sure it's included in the release notes. [21:33] natefinch: then perhaps use a stub that doesn't trace errors? [21:33] cherylj: great, is a comment the best way to note which are the providers ? [21:34] we should have provider tags [21:34] perrito666: you can do that, or modify the original description. [21:34] ericsnow: just seems like a general good practice - don't wrap errors in stubs. but yes, in this instance, I can make a different stub that doesn't wrap [21:34] oh, look at that, I have prmissions [21:36] there you go [21:36] EOD, cheers all [21:39] thanks, perrito666! [21:39] ericsnow: https://i.imgflip.com/xr6ig.jpg [21:40] natefinch: lol! [21:40] :D [21:42] cherylj: perrito666 suggested I turn it into a meme to soften the blow :) [21:42] I like it [21:43] from now on I'm giving all my bad news via memes [21:44] natefinch is GGG: https://imgflip.com/i/xr9f3 [21:44] Bug #1536792 opened: Some providers release wrong resources when destroying hosted models [21:45] cherylj: http://goo.gl/MMZ2eq [21:45] ha [21:46] so rcj doesn't follow memes much, so I often make a reference to one and he stares at me blankly. [21:46] or says something like "is that a meme" thing? [21:46] Sometimes it's like I'm married to a member of AARP [21:46] rofl [21:47] Bug #1536792 changed: Some providers release wrong resources when destroying hosted models [21:48] my wife said "on fleek" the other day, and I had no idea what she was talking about. [21:48] oh that's new to me [21:48] I'm so out of touch! [21:49] imgur you have failed me! [21:49] my wife loves Biden memes, so it came up from this: http://napturalnicole.com/wp-content/uploads/2015/01/IMG_6731.jpg [21:50] haha! [21:50] Bug #1536792 opened: Some providers release wrong resources when destroying hosted models [21:50] evidently it means "on point" as in "really well done" [21:51] can I get a review? http://reviews.vapour.ws/r/3599/ [21:51] natefinch: I googled it [21:51] cherylj: me too :) [21:57] cherylj: I'm wondering if an equally valid, perhaps more correct fix for the failing test is to simply delete that line [21:57] cherylj: or at least, don't check the content type [22:00] is anyone working on the fact that github.com/juju/juju/cmd/jujud/agent fails intermittently with go 1.5? === natefinch is now known as natefinch-afk [22:02] natefinch-afk: I'm not convinced that removing the check is correct. I think we *do* want to make sure that the correct content type is generated, but should accept that the correct type can be either javascript or x-javascript [22:04] core, dev: Are there plans for storage using openstack provider? [22:05] natefinch-afk: the content type is generated by the code being exercised, so I think it's a valid thing to check. It can just vary based on centos vs. ubuntu [22:08] bdx, we do support storage for openstack: https://jujucharms.com/docs/devel/storage [22:09] bdx: is that what you're looking for? [22:09] cherylj: yea [22:10] cherylj: I'm not sure you sent the correct link ... [22:10] bdx: maybe I misunderstood what you're looking for? [22:12] cherylj: can you point out where the openstack provider portion is in that link .... oooh ... I found it .. "The OpenStack/Cinder provider does not currently have any configuration." [22:13] bdx: yeah, there's no openstack specific storage configuration yet [22:14] cherylj: ok, should I feature request it? do you know if its on the roadmap? [22:15] bdx: do you know specifically what you'd like to be able to specify about storage on openstack? [22:19] cherylj: availability_zone, type, size [22:20] bdx: yeah, you can open a bug to request those config options and I'll add it to our list of requests we track [22:20] cherylj: thats awesome! thanks! [22:20] arosales:^^ [22:47] cherylj: https://bugs.launchpad.net/juju-core/+bug/1536819 [22:47] Bug #1536819: Feature Request: Storage support for openstack provider [22:49] thanks, bdx. I'll add it to our listing here: https://github.com/juju/juju/wiki/Feature-Requests [22:50] Bug #1536819 opened: Feature Request: Storage support for openstack provider [22:52] got another xenial question :-) [22:53] I feel like it should be possible to bootstrap a xenial model and services if I set default-series to xenial, image-stream to daily and agent-stream to devel [22:54] but I get unable to find matching tools :-/ [22:54] http://paste.ubuntu.com/14593295/ [22:54] against aws [22:54] is it because my desktop has to be Xenial as well? [22:55] bdx: ya the juju-core folks rocks. thanks cherylj [22:56] bdx: seem very reasonable as we tackle storage in openstack which gets a lot of usage :-) [22:59] menno-afk: sweet [23:01] --upload-tools also ends the same way: http://paste.ubuntu.com/14593344/ [23:02] its seems like it should work, but wanted to get folks thoughts here on it. [23:20] axw: perrito666: standup? === menno-afk is now known as menn0 [23:56] Bug #1536838 opened: state/lease: package in wrong location