/srv/irclogs.ubuntu.com/2014/06/16/#juju-dev.txt

davecheneymenn0: none00:06
davecheneymenn0: actually, none, but i'm sure someone else will have 100% opinion on it00:06
davecheneyask the juju plugin writers00:06
davecheneythey parse status00:06
menn0davecheney: k thanks00:07
waiganimenn0: can I give you a call?00:57
thumpermenn0: given that the error is going to be on unit wordpress/0 (say), the error text of "mysql-relation-changed with mysql:server" seems clear01:39
thumperI don't have a strong preference on the "for" vs. "with" bikeshed01:40
thumperbut I think the wordpress:mysql bit is superfluous when on the wordpress unit, and the relation will be 'mysql-relation-chagned;01:40
wallyworld_axw: hiya, in amongst the az work for openstack, are you also able to look at the e2 startup issues due to az? it seems to me we want this fixed for 1.20 also?01:43
axwwallyworld_: yeah I will look at both01:44
axwwallyworld_: OpenStack one is pretty trivial01:44
axwec2 not so much01:44
wallyworld_thank you. and thanks for the +1 on my mongo fuk up fix01:44
axwnps, sorry I missed it before01:44
axwI think I reviewed that..01:44
wallyworld_huh? you didn't miss anythng01:44
axwmaybe I just looked at it01:45
* axw shrugs01:45
wallyworld_yeah, but why would we think we wanted clusteradmin on a non admoin user?01:45
wallyworld_i think we've got stuff to fine tune with our user mgmt01:45
wallyworld_and no unit tests failed01:45
wallyworld_axw: if there's no bug already for the e2 az stuff, can you raise one when you have a moment and assign to the 1.19.4 milestone? i'd mark it as critical01:48
axwwallyworld_: I raised one for each last night01:49
axwwallyworld_: marked OS as critical, EC2 as high - will change01:49
wallyworld_ok. sorry, i didn't see it on the milestone, i'll chek my eyes :-)01:50
wallyworld_i think critical because bootstrap doesn't "just work" anymore01:50
wallyworld_it failed  for me this morning01:51
waiganithumper: that was it! ugh $#%#3 so frustrating02:00
menn0thumper: thanks. I think you're right. I also thinking including both endpoints can make the status output quite long especially if the charm and interface names are long.02:10
menn0waigani: sorry, I was out for a bit and only just saw your messages. Do you still want a call?02:11
waiganimenn0: no, all good, thanks anyway02:11
menn0waigani: great02:11
waiganithumper: is there a convenience method for errors.New(fmt.Sprintf(...))02:14
axwwallyworld_: what region are you using? us-east-1?02:14
thumperwaigani: errors.Errorf02:14
* thumper otp02:14
waiganithumper: sweet, cheers02:14
wallyworld_axw: us-west-102:16
axwta02:16
waiganimenn0: responded to your review, new code up02:57
menn0waigani: otp02:58
menn0waigani: will look soon03:01
menn0waigani: I'm done with the review03:16
=== 20WAAFCU3 is now known as wallyworld
waiganimenn0: otp03:24
davecheneythumper: https://github.com/juju/juju/pull/103 and https://github.com/juju/names/pull/503:27
davecheneyas discussed03:27
waiganimenn0: ping04:31
menn0waigani: just responded privately04:31
waiganioh did I miss the card sizing ?05:04
jammorning all05:18
menn0waigani: no. it's probably happening tomorrow05:30
menn0jam: morning05:30
jammorning menn005:31
wallyworld_jam1: what's the state of bug 1319694, marked as in progress against the 1.19.4 milestone?06:38
jam1wallyworld_: that one might actually be done, I'll investigate and get back to you06:39
jam1I miss mup06:39
jam1_mup_: poke06:39
wallyworld_yeah06:39
=== vladk|offline is now known as vladk
dimiternjam1, i'm getting sso errors trying to login07:01
dimiternjam1, let's use mumble instead?07:01
jam1dimitern: I have to install it again, give me a sec07:04
dimiternjam1, i can't login to mumble as well :(07:04
jam1dimitern: well, sso is probably used for both, fwiw07:04
dimiternjam1, yep07:04
jam1dimitern: do you have a personal gmail account?07:04
jam1well, google account07:04
dimiternjam1, yes, trying that now07:05
jam1wallyworld_: fix committed for bug #131969407:05
wallyworld_great :-)07:05
jam1at least the specific dataDir part of that bug is committed, and the rest is in the branches I've put up for review, but can easily be treated as something separate.07:06
jam1dimitern: I just invited your personal account07:06
=== Guest79566 is now known as wallyworld
wallyworldaxw: i have an errand tonight, did you have time for a quick standup now?07:33
axwwallyworld: sure, be there in a moment07:34
wallyworldkk07:34
axwwallyworld: https://plus.google.com/hangouts/_/gzksidi5kx4jxzf6qty6lf56iqa?authuser=1&hl=en07:35
wallyworldok, i was in the normal one07:36
axwah I can come07:36
axwheh I think we just switched.. I'm in tanzanite now07:36
voidspacemorning all07:51
menn0voidspace: morning!07:51
voidspacemenn0: o/07:53
axwwallyworld: thanks, I was able to repro with the shared credentials08:10
mattywaxw, dimitern fwereade can I get another review for https://github.com/juju/juju/pull/64 when one of you has a spare moment?08:25
=== vladk|offline is now known as vladk
axwmattyw: done08:30
jamfwereade or dimitern: I'd like to run a design thing past you about the Client side code for API versioning. It might be most appropriate to talk about it in a hangout, though hopefully it won't take super long.08:31
dimiternmattyw, sorry, axw was faster :)08:32
dimiternjam, sure08:32
fwereadejam, I am making a much-belated effort to be dark and just write some damn specs today -- dimitern, can I dump it on you please08:32
dimiternfwereade, jam, np, dump away :)08:33
jamdimitern: https://plus.google.com/hangouts/_/canonical.com/dimiter-john08:34
=== vladk is now known as vladk|offline
=== vladk|offline is now known as vladk
mattywaxw, I guess you just mean remove the commented line I guess?09:33
axwmattyw: yes please09:36
mattywaxw, thanks very much, and then you think it's ok to land?09:36
axwyes I think so09:36
perrito666rogpeppe1: hi by any chance you got time to take another look to restore?10:00
rogpeppe1perrito666: np. will do10:00
perrito666rogpeppe1: tx a lot, sorry I really need that landed :)10:01
rogpeppe1perrito666: can you remind of the PR please?10:01
rogpeppe1perrito666: https://github.com/juju/juju/pull/79 ?10:02
perrito666https://github.com/juju/juju/pull/7910:02
perrito666yup sorry10:02
perrito666had to look it up :)10:02
rogpeppe1perrito666: i'm still concerned that this code has never been tested for real10:07
perrito666rogpeppe1: after voidspace can merge it with his part I can run a test I "borrowed" from CI but as is is a bit hard10:08
rogpeppe1perrito666: yeah, i guess so. it can always be fixed when the logic becomes integrated10:08
perrito666rogpeppe1: previous backup was easier to try since it was a standalone script10:09
mgzaxw: know if wallyworld is back around yet?10:09
voidspaceperrito666: it won't be long before we can test it10:11
voidspaceperrito666: api is done, api client is basically done10:11
voidspaceit needs restore to test it *properly* of course10:11
perrito666voidspace: tecnically not :) I made it so it is compatible with current restore :)10:12
voidspaceah, cool10:12
voidspaceeven better10:12
voidspaceperrito666: it could be possible to have an "end-to-end" test today then10:12
axwmgz: sorry, was afk. I think he said he'd be back around 8:30 his time, which is in 15m10:14
mgzaxw: ta!10:15
axwjam1: are you CLA-savvy? https://github.com/juju/cmd/pull/2 can be merged without signing right? since it's just a teeny bug fix10:22
axwmgz: or you? ^^10:23
mgzaxw: we *have* merged similar contributions in the past10:25
mgzI'm not really sure you can argue it's trivial though10:25
mgzkind of mp I love though, adds a failing test, fixes bug10:26
voidspaceit's 8 lines of code10:26
voidspaceI would think that counts as "trivial" (even if technically astute)10:27
rogpeppe1axw: is there a reason we couldn't just do a normal type switch in FormatSmart?10:27
axwrogpeppe1: I didn't even look10:27
* axw looks10:27
axwrogpeppe1: well you can't do a type-switch on a string array if you don't know the length10:28
axwapart from that one case, it'd be fine10:28
rogpeppe1axw: ah, good point10:28
rogpeppe1axw: and we do actually pass in string arrays to FormatSmart?10:29
axwrogpeppe1: I'm wondering that myself - seems unlikely10:29
axwthough that is what the bug fix is for...10:29
mgznot panicing seems worthwhile even if current callers don't do that10:30
perrito666rogpeppe1: tal10:30
axwI'm gonna merge it, we can look at making it non crappy later10:30
rogpeppe1mgz: yeah, on reflection, i tend to agree10:30
rogpeppe1mgz, axw: although, thinking about it, that code can still panic10:31
axw? :(10:32
mgzquiff smilie!10:32
rogpeppe1axw: i think the test probably needs to be if v.Type().Elem().Type() == reflect.TypeOf("") {10:32
axwuh yeah, typed string10:32
axwnamed10:32
rogpeppe1yeah10:32
rogpeppe1axw: same with the others actually10:33
mgzmoar tests needed10:33
rogpeppe1axw, mgz: well, according to the docs, arrays are not supported10:34
mgzcan we just panic("no arrays") at the top then?10:35
mgzI don't like un-coded preconditions to functions10:36
* perrito666 has to chain a displayport adapter to a thuderbolt adapter to ensure noise filtering.... I am back in the 90s10:36
mgzperrito666: you bought the wrong kind of computer :)10:36
rogpeppe1mgz: na, we could just delegate to FormatYaml as documented10:36
rogpeppe1mgz: the docs specifically mention []string10:37
perrito666mgz: I think the problem, this time, lies in the $1 cable and the $2 adapter10:37
perrito666:;p10:37
wallyworldmgz: hi, just got back, having sinner, will ping you soon10:39
wallyworlddinner10:39
mgzehhe10:39
dimiternjam1, vladk, standup?10:46
jam1brt10:46
rogpeppe1mgz, axw: i suggest we keep things simple and change the implementation to this: http://paste.ubuntu.com/7652447/10:47
rogpeppe1mgz, axw: which corresponds more directly to the docs10:48
mgzrogpeppe1: that's deliberatly getting yaml to do the int/float case?10:52
rogpeppe1mgz: yeah - which the current code does too10:53
mgzseems fair then10:53
rogpeppe1mgz, axw: just checking that all the cmd/juju tests pass with that - i'm pretty sure they will10:54
rogpeppe1yeah, they do10:54
rogpeppe1i'll propose an alternate PR10:54
rogpeppe1hmm, it's already merged11:00
rogpeppe1axw, mgz: https://github.com/juju/cmd/pull/311:05
perrito666voidspace: I made the changes suggested and triggered the merge11:07
voidspaceperrito666: awesome11:11
wallyworldmgz: hiya, wanna join the standup hangout?11:22
perrito666voidspace: merged11:24
wwitzel3fwereade: https://github.com/juju/juju/pull/211:34
voidspacewwitzel3: hey, morning11:59
wwitzel3voidspace: morning11:59
voidspacegah, just wasted 20 minutes merging and resolving conflicts on the wrong branch12:11
voidspacedamn confusing names12:11
voidspacemy own fualt12:11
voidspace*fault12:11
voidspaceperrito666: integration *slightly* more than two lines of code as I need admin password and mongo port12:21
voidspaceperrito666: will finish after lunch12:21
* voidspace lunches12:21
=== SIGILL_ is now known as SIGILL
=== Ursinha is now known as Ursinha-afk
rogpeppe1perrito666: re: "Done, I went with ReadAll, although I was under the impression that Read would read len(b)", see http://golang.org/pkg/io/#Reader13:37
rogpeppe1perrito666: in particular: "Read reads up to len(p) bytes into p"13:37
rogpeppe1perrito666: it is even possible for it to return zero bytes, tho' that's discouraged13:37
perrito666rogpeppe1: the "up to" part is what worried you, right?13:39
rogpeppe1perrito666: yeah - there's no guarantee that Read returns any given number of bytes13:39
rogpeppe1perrito666: if, for example, you're reading from the network, it's quite common for reads to return too few bytes13:40
rogpeppe1perrito666: it's also not uncommon for it to happen when the underlying reader is using a buffer13:40
rogpeppe1perrito666: that's why io.ReadFull exists13:41
mgzwas about to ask about SIGINT then remembered we weren't in c13:41
perrito666mgz: lol13:41
rogpeppe1mgz: i'm not sure what go does about automatic syscall restarting actually13:41
rogpeppe1mgz: i *presume* it does restart syscalls automatically13:41
mattywfwereade, ping?13:50
bodie_morning all13:53
mgzhey bodie_13:58
natefinchperrito666, wwitzel3, ericsnow, voidspace:  Can we delay the standup a little?  I'm still waiting for my wife to come back from a school board meeting14:03
perrito666natefinch: np for me14:04
voidspacenatefinch: sure14:04
ericsnownatefinch: yep14:04
voidspaceno problem14:04
perrito666I am just working looking at wwitzel3 and ericsnow14:04
perrito666its like being in an office14:04
ericsnowperrito666: so sorry ;)14:04
perrito666we do have the weirdest layout for an office :p very one has a very different room behind them14:08
=== Ursinha-afk is now known as Ursinha
voidspaceperrito666: ping14:29
perrito666voidspace: pong14:29
wwitzel3is a "safe" way to turn off the apiworker so a state machine isn't running an apiserver? I've tried just not starting it in cmd/jujud/machine, but the problem there is the machine itself seems to not be available yet, so my call to st.Machine are panicing14:32
voidspacenatefinch: ping14:33
voidspacemgz: you around?14:36
voidspaceI need the mongo admin password for the backup api call14:37
voidspaceit is available in the AgentConfig14:37
voidspaceand I'm wondering how to get that from the apiserver14:37
voidspaceI have a State14:37
mgzhmm14:38
* voidspace goes and looks how the AgentConfig is created in the first place14:38
voidspaceagent.NewAgentConfig is called from cloudinit14:38
voidspacethat just creates the ConfigSetterWriter in memory14:39
voidspaceI guess it's associated with the machine tag14:40
voidspaceso I probably need to read it in from disk14:40
mgzif you have state that should be fine - though apiserver to mongo admin is a bit dodgy14:40
voidspacemgz: what do you mean specifically by "should be fine"?14:40
voidspacemgz: what should be fine - reading the AgentConfig from disk?14:40
voidspacethe admin password isn't in the db so it isn't on State (as far as I can tell)14:41
mgzgetting the password by some means or other then using it14:41
voidspaceah14:41
voidspacecool14:41
voidspacethat's good, because it's required for backup now14:41
cmarsfwereade, could you take another look at my remove-unit pr? https://github.com/juju/juju/pull/5214:43
=== Ursinha is now known as Ursinha-afk
voidspacemgz: state.EnvironConfig().StatePort() and AdminSecret() ?14:58
voidspacefor mongo port and admin password?14:58
voidspaceplausible14:58
voidspacestate.State. ...14:59
fwereadecmars, will try to get to it sometime today15:00
fwereadecmars, bit meetingy at the moment15:00
fwereadecmars, btw I copied you in on a mail earlier today that isn't actually to do with you15:01
cmarsfwereade, :)15:01
fwereadecmars, I thought it was but it wasn't but I forgot to remove you15:01
mgzvoidspace: it's something like that, but I don't recall the details and there were some fiddly bits with the change to config stuff15:03
mgzvoidspace: poke rogpeppe1 maybe15:04
voidspacemgz: right, those methods exist and the docstrings look positive about what they're for15:04
voidspacemgz: heh, ok :-)15:04
voidspacein a minute though15:04
voidspacetaking a "wee break" (said in a Scottish accent)15:04
voidspacerogpeppe1: ping15:08
ericsnowvoidspace: patch for the backup CLI at https://github.com/juju/juju/pull/9715:24
ericsnowvoidspace: when you have a sec see if that matches up with your stuff15:24
voidspaceericsnow: sure15:26
voidspaceericsnow: currently failing to set test values for the mongo port and admin password for a test :-/15:27
voidspaceI think the code is done, but I'm not sure :-)15:27
voidspaceericsnow: looking now15:27
ericsnowvoidspace: cool15:27
voidspaceericsnow: yep, looks good to me15:29
voidspaceericsnow: at least the few specific lines of integration look fine15:29
voidspace:-)15:29
TheMuesomebody interested in reviewing a little additional test in the rpc package? https://github.com/juju/juju/pull/10715:29
ericsnowvoidspace: okay, good :)15:29
natefinchperrito666, wwitzel3, ericsnow, voidspace:  Wow, sorry, that took like way way longer than I expected.15:38
wwitzel3natefinch: np, I just got off a call anyway15:39
=== Ursinha-afk is now known as Ursinha
perrito666brb, lunch15:47
perrito666or not15:47
perrito666natefinch: wwitzel3 we are set for the standup?15:47
natefinchperrito666, wwitzel3, ericsnow, voidspace:  yeah, hope in, wayne and I are there15:47
perrito666in there, sorry I missed the irc notification15:47
SIGILLFor my bachelor thesis I'd like to test 'virtual network embedding' algorithms in the wild, escpecially with latency in mind. Do you think there's room for improvement in juju regarding that?15:52
SIGILLNB: those algorithms try to figure out how to map a virtual network (the cloud) to actual machines in the most efficient way15:57
natefinchvoidspace: let me know when you're back so we can catch up16:02
voidspacenatefinch: back, sorry16:04
voidspacenatefinch: https://github.com/voidspace/juju/compare/download-backup16:08
voidspacehttps://github.com/voidspace/juju/compare/download-backup#diff-198897e828f0611e3185053d7354a523R9616:08
voidspacenatefinch: s.State.UpdateEnvironConfig16:11
voidspacejam1: ping16:25
voidspaceon the off-chance you're still around16:25
jam1voidspace: pong16:26
jam1what's up?16:26
voidspacejam1: I have a problem with a test :-)16:26
voidspaceit's (indirectly) a JujuConnSuite test with an apiserver and api client16:26
voidspaceI'm testing an api endpoint (so apiserver) that needs to use the mongo port and mongo administrator password16:27
voidspaceI'm pretty sure I can get these by calling state.State.EnvironConfig() and then calling AdminSecret and StatePort16:27
voidspaceso what I want is a test that checks those values are used16:27
voidspaceI can't find a way to set those values (from the test) in the environ config used by the test suite16:28
voidspacesetting them in DummyConfig doesn't work16:28
voidspacecalling BackingState.UpdateEnvironConfig doesn't work16:28
voidspacecalling BackingState.SetAdminMongoPassword and State.SetAdminMongoPassword doesn't work16:28
voidspaceany ideas?16:28
voidspacejam1: the test specifically is here: https://github.com/voidspace/juju/compare/download-backup#diff-198897e828f0611e3185053d7354a523R9616:29
voidspacesee the XXXX on that line16:29
voidspaceif you search for EnvironConfig() on that page you'll see the code that fetches them16:29
voidspaceby "doesn't work", I mean that the values I set aren't used16:30
voidspaceand I get 1234 for mongo port and "" for admin secret16:30
=== Ursinha is now known as Ursinha-afk
=== Ursinha-afk is now known as Ursinha
voidspaceI have to EOD17:17
voidspacekrav maga17:17
voidspaceI may be around later though17:17
voidspacesee you all tomorrow17:17
bodie_adios17:18
voidspaceo/17:18
perrito666fwereade: non urgent ping, does the note added to https://github.com/juju/juju/pull/30/files conveys your message to future workers developers?17:49
ericsnownatefinch, perrito666: I started working on the restore command and noticed that the plugin basically does it already (or am I missing something?)19:08
perrito666ericsnow: the plugins does it19:11
perrito666it just does it in a very ugly way19:11
perrito666if you follow the plugin:19:11
perrito6661) it checks that the machine we are trying to restore is no longer working19:12
perrito6662) it creates a state server19:12
perrito6663) it runs a bash script through ssh19:12
perrito666we intend to split that into 1&&2 properly coded/tested into the client side and 3 properly coded in go and tested on the server19:13
ericsnowperrito666: right, but the actual CLI part of that won't really change19:14
ericsnowit will just call the new client API19:14
perrito666ericsnow: there is room for improvement definitely19:14
ericsnowk19:15
perrito666ericsnow: if you want I can hangout about this (and we can even bring in natefinch)19:15
perrito666:p19:15
ericsnowperrito666: yeah, let's do that19:15
perrito666lets go to the moonstone channel19:16
natefinchperrito666: in minute - in a meeting19:21
thumperfwereade: hey, I need to take the dog for a walk before I start, but if you are around later, we can chat20:40
natefinchperrito666: you still around?20:51
perrito666natefinch: always20:51
* perrito666 has no life20:51
natefinchperrito666: so evidently there's a failure with backup and restore with HA20:53
perrito666natefinch: current or old?20:53
perrito666i mean, new or old?20:54
natefinchunknown... Ian said he ran the CI tests for it, and they failed for some reason20:54
natefinchhe said "functional tests" but I assume he means CI20:54
natefinch"the functional HA backup and restore tests fail. I e-ran that job after the Mongo fix and something is still not right."20:54
natefinchs/e-ran/re-ran/20:55
perrito666I guess yes, strange, those are currently running and not failing or I would have sinzui looking at me very angry20:55
perrito666did he send an email about that?20:55
natefinchian sent it to the team leads,  I unfortunately missed it until alexis pointed it out to me20:55
perrito666that is as much detail as there is?20:56
natefinchperrito666: http://juju-ci.vapour.ws:8080/job/functional-ha-backup-restore-devel/20:56
natefinchjust found that20:56
perrito666daf...20:57
natefinchperrito666: http://juju-ci.vapour.ws:8080/job/functional-ha-backup-restore-devel/136/console20:57
perrito666yup, I was reading20:57
natefinchkk20:58
natefinchlooks like... maybe aws is being slow?20:58
perrito666last succesful run is 10420:59
natefinchnot really sure20:59
natefinch there were intermittent failures before20:59
perrito666natefinch: it sees it was running well then began failing then it completely failed21:00
* perrito666 scratches his chin21:00
natefinchbrb...21:04
menn0morning all21:05
perrito666menn0: hi21:07
menn0perrito666: how's things?21:07
perrito666could be better21:07
perrito666:)21:07
perrito666natefinch: well, sadly, this is new21:10
perrito666:(21:10
perrito666this was not there before adding-vote: 2, 321:11
natefinchwell crap. We can look at it in the morning, but it's highest priority right now21:23
natefinchperrito666: gotta run21:25
waiganimorning all21:26
waiganimenn0: I'm unable to reproduce the fail locally. I see in the ci logs the LastConnection is in timezone Z, Zulu which is the same as UTC21:29
waiganimenn0: I'm guessing it's a time zone issue but that does not explain why i cannot reproduce it locally21:29
menn0waigani: from looking at the failure message I don't think the problem is TZ related (although I wouldn't discount it completely given that the CI server is in a different TZ)21:29
menn0waigani: shall I try on my machine?21:30
waiganimenn0: yes please21:30
* menn0 has to think about how to add tracking branches...21:30
waiganimenn0: in the last push I set the time stamps to UTC, which fails for me locally21:31
waiganimenn0: can't you just checkout my branch from my repo?21:35
menn0yeah, but I need it in the right place so adding a remote is perhaps easier. it also makes future collaboration easier. It's not hard - almost done.21:35
menn0waigani: right... that test fails for me as well21:44
waiganimenn0: the one you pulled down? DateCreated set to UTC ?21:45
waiganitry what I emailed you21:45
waiganimenn0: try user.DateCreated.Local() and user.LastConnection().In(obtained.Result.LastConnection.Location())21:46
menn0yep doing that now21:46
menn0waigani:  that works21:46
waiganimenn0: right, that is the same for me21:47
waiganii still think its the timezones21:47
menn0so the thing about DeepEquals and pointers is a red herring. It's just a misleading error message.21:47
menn0yes, now I think it's time zones too21:47
waiganiokay, so keep what I originally had and compare .Result ?21:48
waiganiBUT that still does not explain why it passes locally and not on CI21:49
menn0checking Result is not going to help21:49
menn0if timezones differences are the problem21:49
* menn0 thinks21:50
waiganiif the user factory just returned everything in UTC it could solve the problem21:50
waiganibut I'm still intrigued as to why CI fails and local does not - unless NZST got hardcoded? but surely not21:51
menn0it's not the user factory's problem. It's just returned in the user document21:51
menn0i'm just experimenting with a few things21:52
waiganimenn0: the factory creates a user and returns DateCreated and LastConnection for that user with different timezones and locations than what UserInfo returns21:53
waiganithat is the crux of the problem as I see it21:54
menn0waigani: yes but that's just a difference between how these values are stored in state and how the API returns them21:54
waiganimenn0: exactly, it's formatting - which my original test addressed21:55
waiganimenn0: and passed locally21:55
jcw4I've added Tag implementations for Action in juju/names; PTAL: https://github.com/juju/names/pull/621:59
waiganimenn0: so LastConnection has a location set when returned by the API, but not via the user factory22:01
waiganimenn0: I set the API to always return UTC - the missing location in LastConnection is the only difference between the two now22:01
menn0waigani: it could also be something to do with LastConnection being uninitialised because there's never been a connection22:03
menn0but when you print the user docs LastConnection and the one from the API they both look the same (and are both in UTC)22:04
menn0it could also be the Local conversion for DateCreated...22:06
menn0sending you an email now22:07
menn0waigani: just your inbox22:09
waiganimenn0: sweeet, thanks22:10
davecheneythumper: could I get another set of eyeballs on https://github.com/juju/names/pull/522:56
davecheneyso I can land this and move on to my next branch this morning22:56
thumperyup22:56
jcw4s/5/6/ ;)22:56
jcw4davecheney: are there specific characters that are (or are not) allowed as a Tag() name?23:22
jcw4davecheney: I see that / and : are replaced with - and . respectively23:22
jcw4davecheney: for our Actions entity, I am using # as a marker token in the mongo _id23:23
jcw4davecheney: and I want to expose the Action name/id through a Tag()23:24
davecheneyjcw4: not really sure23:27
davecheneyi think this is a side effect of forcing tags to be expressable as strings23:27
jcw4I have a discussion pending with fwereade, but since you did that work on the names package I wanted to see if there were any 'easy' answers  :)23:28
jcw4thanks davecheney23:29
davecheneyjcw4: sorry, i don't know the answer23:29
davecheneyi think there were some unfortunate interactions with the printed form of, say a relation23:30
davecheneywith the stringified version of the tag23:30
davecheneygiven we use hypehn to separate between the name of the tag and it's value23:30
jcw4davecheney: hence the translation for relations, i see23:31
waiganimenn0: I'll just go wash this curry off me then get back into debugging the timezone issue.23:34
waiganiI'll let you know if i find anything interesting23:35
menn0waigani: cool. I'm going to leave you to it for a bit so I can get this branch landed but can help out later on if it's still not working out.23:35
waiganimenn0: no problem, I've got a few ideas to try out23:35
jcw4davecheney: thanks for the ParseActionTag suggestion, I'll investigate; I think it's something we do want23:40
davecheneyjcw4: you may, you can always get the same result with23:50
davecheneytag, err := ParseTag(tag)23:50
davecheney // check err23:50
davecheneyif tag, ok := tag.(ActionTag); ok {23:50
davecheney // yup it's an action tag23:50
davecheney}23:50
jcw4davecheney: okay, I'll look into that closer.23:54

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