/srv/irclogs.ubuntu.com/2015/07/24/#juju-dev.txt

natefinch-afkericsnow: you around?02:47
=== natefinch-afk is now known as natefinch
mupBug #1477355 changed: MachineSuite.TestDyingMachine fails on windows <blocker> <ci> <regression> <unit-tests> <windows> <juju-core:Fix Released by axwalk> <https://launchpad.net/bugs/1477355>03:37
sinzuiaxw: We need to let ci mark the fix released so that the master is unblcked with an bless04:05
axwsinzui: sorry, I just saw that the bug was resolved, so thought it shouldn't be blocking anymore. will leave it next time.04:07
sinzuiaxw: i am pretty sure the bug  is resolved since the remaining tests passed in our previous efforts. CI though wants a bless rather that some tests passing. The bless can happen before all tests have run if non-voting tests are the only ones left runnung04:08
axwsinzui: okey dokey04:09
sinzuiI think the last two viting jobs are running, but they are long. master will be opened in about 45 minutes...get ready to merge04:10
mupBug #1477355 opened: MachineSuite.TestDyingMachine fails on windows <blocker> <ci> <regression> <unit-tests> <windows> <juju-core:Fix Committed by axwalk> <https://launchpad.net/bugs/1477355>04:13
mupBug #1477355 changed: MachineSuite.TestDyingMachine fails on windows <blocker> <ci> <regression> <unit-tests> <windows> <juju-core:Fix Released by axwalk> <https://launchpad.net/bugs/1477355>04:52
axwwallyworld: FYI: https://github.com/juju/juju/pull/2879. probably won't get it backported today, so no rush for a review. in case you're queried though, the fix is there05:55
wallyworldaxw: reviewed, i meant to make the comment not an issue but a question, gotta go do school pickup, will catch you next week, have a good weekend06:00
axwwallyworld: cheers, have a good week06:01
wallyworldwill try to :-)06:01
mattywfwereade_, ping?07:52
fwereade_waigani, couple of comments on http://reviews.vapour.ws/r/2250/ -- happy to discuss if you're around08:30
TheMuefwereade_: hangout?09:01
mupBug #1477920 opened: juju bootstrap failed with "discarding API open error" <juju-core:New> <https://launchpad.net/bugs/1477920>10:08
fwereade_perrito666: early-morning complaining10:32
fwereade_perrito666, Service.Status()10:32
fwereade_perrito666, returns a service status document if it exists, and otherwise aggregates unit status10:33
fwereade_perrito666, how is that meant to work?10:33
fwereade_perrito666, (what if nobody's set a service status for 6 hours?)10:35
fwereade_perrito666, actually, when you come on -- please look in detail at http://reviews.vapour.ws/r/2255/10:38
fwereade_perrito666, then we can talk in that context10:39
perrito666Morning10:55
perrito666Fwereade i am in my cell phone as soon as I get to a pc I'll answer and look at your patch10:55
* mgz imagines horacio strunk down to teeny size to fit inside his phone10:56
perrito666Very short answer service shows its status, they can only be set by the leader, or an aggregated status from its units10:57
perrito666Wow autocorrect on this phone really sucks in English10:58
perrito666And my English too10:58
mgzhey, I accidentally made up a word when making fun of your english10:58
mgzso should really not talk10:58
* perrito666 is in a bar getting breakfast after having his blood sampled11:00
perrito666I really wish the could find a less cumbersome way to get metrics from me11:00
mgzmaybe you should provide an api11:01
* perrito666 is back in a computer11:24
fwereade_perrito666, cool11:26
fwereade_perrito666, so I contend that we're doing it in the wrong place11:26
fwereade_perrito666, http://reviews.vapour.ws/r/2255/diff/1/?file=81513#file81513line121711:27
* perrito666 reas11:28
perrito666fwereade_: ok, throw some justification to that?11:30
fwereade_perrito666, um, in the comment?11:30
fwereade_perrito666, the given approach gives bad values on a wide range of not-very-unhappy paths11:30
perrito666duh, I ignored the comment11:30
perrito666if you broke something its certainly not there11:31
fwereade_perrito666, well, yes, there is also the clear fact that service status code does not exist because it's not tested, so we are merely discussing the features of a shared hallucination11:32
fwereade_perrito666, so, the set-service-status code used to insert if the doc wasn't there11:33
fwereade_perrito666, wallyworld told me that was to work around one of the not-understanding-mgo/txn things, and could be safely removed11:34
fwereade_perrito666, it turns out that, no, there is logic to do things when the service status doc is not there11:34
fwereade_perrito666, so it is significant11:34
perrito666yes, iirc when we talked its because there is no upsert?11:35
fwereade_perrito666, please reread the comment11:35
fwereade_perrito666, you should not want to upssert11:35
fwereade_perrito666, upserting is wrong11:35
fwereade_perrito666, and causes us to lie to the user all the time11:35
fwereade_perrito666, it's the leader's job to set the service status11:36
fwereade_perrito666, not the state server's job to backstop for it11:36
perrito666fwereade_: you are mixing layers, the leader job is to set status, it doesnt really care if service has a statusDoc already in place or not11:37
fwereade_perrito666, you said it yourself11:38
fwereade_perrito666, it is the leader's job to set the service status11:38
fwereade_perrito666, just as it is a unit's job to set its own status11:38
fwereade_perrito666, if the unit doesn't bother, the *uniter* supplies a default implementation11:39
fwereade_perrito666, otherwise you have two distributed components each reponsible for setting the same value, and no sane synchronisation between them11:39
fwereade_perrito666, which does not generally lead to happy outcomes11:40
fwereade_perrito666, and in this particular case will *obviously* deliver stale values in several scenarios11:41
fwereade_perrito666, and *probably* doesn't have any worse behaviour11:41
fwereade_perrito666, but *only* because the second thing with an opinion never writes it to the db, and only sometimes tells the user what its opinion is11:42
fwereade_perrito666, am I making sense?11:43
perrito666you are being a bit socratic, but yes, basically yes, you are not making a point from which to extract action though11:44
fwereade_perrito666, what I am primarily seeking is acknowledgement that trying to jam all our logic into state is a disaster11:44
fwereade_perrito666, in the hope that you and others will more carefully consider the impact of their layering decisions11:45
fwereade_perrito666, and I guess that's what I'm also hoping for from that review -- I made an effort to only fix the very worst problems in state, and do so only to the minimum standard I felt professionally comfortable with11:48
fwereade_and that's still, what, a 2800-line diff11:48
fwereade_perrito666, and if there is any doubt whatsoever as to why any of the changes were made, or disagreement over whether they should be, we should talk it out11:49
fwereade_perrito666, in particular I am now pissed off because it looks like there's no way to introduce sane behaviour without an upgrade step11:50
fwereade_perrito666, because service status is *sometimes* calculated differently from other types of status11:51
fwereade_perrito666, and therefore apparently we should write new apis and new model types and new serialization rules and new document-existence conventions and ARRRRGH11:51
fwereade_and NO FRICKING TESTS11:53
* fwereade_ is done for now11:53
fwereade_perrito666, I am sorry to rant at you, it is not productive :(12:21
perrito666well you did attach a patch to your rant, it makes up a bit for it ;)12:22
bogdanteleagais any gwacl expert around?12:26
fwereade_perrito666, and now I start thinking about it it's not just an upgrade step it's ofc the uniter change too...12:26
perrito666fwereade_: it is not  a light decission, I think that, if service status is going to grow, such grouth must be first reconciled with the existing health spec12:28
fwereade_perrito666, I do not think it is a hard decision -- it is clearly wrong, because it performs unhelpfully in poor conditions, and we have to write code that assumes and tolerates poor conditions12:32
perrito666not hard, I dont think I can express that particular problem in english, whatever we do with this status is going to stick with us, needs to accomodate the spec already decided (introduce changes that get accepted) and needs to take in account all our immediate future wishes for the health work12:34
sinzuiwow 3 blesses for master in row.12:56
anastasiamacsinzui: we must b mid-cycle ;D12:58
sinzuiindeed :)12:58
mupBug #1472749 changed: github.com/juju/utils has contradictory licences <juju-core:Fix Released by sinzui> <juju-core 1.24:Fix Released by sinzui> <https://launchpad.net/bugs/1472749>13:12
natefinchericsnow: you around?13:16
natefinchor wwitzel3 ?13:16
wwitzel3natefinch: yeah13:16
natefinchwwitzel3: are we supposed to be showing processes in yaml status by default or with a --processes flag?  I had thought I'd seen a --processes flag somewhere, but I don't see it in the spec now13:17
wwitzel3natefinch: by default now13:18
natefinchwwitzel3: ok, good, that's what I have done :)13:18
perrito666rick_h_: you beat me to the joke to mattyw13:22
rick_h_perrito666: lightning paws!13:22
mattywperrito666, rick_h_ since when is twitter a medium that requires people not to duplicate messages?13:24
mattywlol natefinch wins13:24
rick_h_mattyw: twitters approved form of dupes is the RT :P13:24
perrito666so mattyw wanna tell us about your new job?13:30
mattywperrito666, can't think of anything funny to reply with :(13:32
natefinchdammit, another package with friggin' table driven tests... man those things make it so hard to figure out what is failing AND you can't then rerun just a single test.13:37
perrito666natefinch: yep, at least there should be a way to make the runner pick an element of the table and just try that13:38
perrito666it shouldnt beall that hard to implement, sicne you are there :p13:38
natefinchwow.... Sublime's open file dialog (maybe it's the linux one, I don't know if there is such a thing?)  sorts files by name very weirdly.  It seems to ignore underscores when sorting by name.  so status.go  status_formatters.go then statushistory.go13:48
natefinchboggle13:48
natefinchoh 3500 line file, fantastic13:51
dooferladnatefinch: you don't just hit ctrl+p and start typing bits of path and file name?13:51
TheMuehehe, pretty small and very good maintainable13:51
natefinchdooferlad: No, I'm not really a super user of sublime.   I should probably learn more of this stuff.   Didn't realize ctrl+p could do that13:53
dooferladnatefinch: I am not a super user of sublime either, but I try. With gosublime installed ctt13:55
dooferladctrl + . then ctrl + g is very useful13:55
dooferladthat or F1213:55
perrito666I hate being a over the average user of an editor, it makes me an idiot in any other editor13:55
dooferladboth try and get you to a definition.13:55
TheMuetake vim13:56
TheMueor katco would say you should take emacs13:56
TheMue;)13:56
dooferladthe JetBrains go to definition logic is the best I have found, but the go plugin is still in heavy development and it can cause the editor to lag.13:56
perrito666TheMue: well I tried to go from vi to emacs, I completely failed, and I dont think emacs had anything to do with it, I just became too vi dependent13:57
katcoTheMue: i am but a messenger for the divine creator which is emacs13:57
TheMueperrito666: once being trained on a product it always is hard to switch seamlessly13:57
* TheMue remembers good old times with SPF/213:57
perrito666TheMue: the problem is I was unable to do fairly reasonable stuff13:58
natefinchdooferlad: yeah, I remapped ctrl+shift+g to go to definition.  I don't do two key shortcuts.13:58
perrito666natefinch: so hardcore13:58
TheMueperrito666: I'm no emacser too. using vim when hopping from server to server and bbedit today as my development environment13:58
natefinchperrito666: there should be no "then" in a shortcut, otherwisei t's not a shortcut13:58
perrito666you will all laugh at me, but I really miss turboC editor13:58
TheMueperrito666: which inherited from turbo pascal, yeah, which inherited from wordstar14:00
natefinchwtf? https://github.com/juju/juju/blob/master/cmd/juju/commands/status_test.go#L371214:00
katconatefinch: standup14:02
mupBug #1478024 opened: Looping config-changed hooks in fresh juju-core 1.24.3 Openstack deployment <canonical-bootstack> <juju-core:New> <https://launchpad.net/bugs/1478024>14:18
natefinchericsnow: not going to get that review up this second... unfortunately there was a merge in there that is confusing git, so my PR looks like it has 100 of your commits in it14:25
ericsnownatefinch: np14:25
katcoperrito666: the only thing i am adamant about with editors is this: if it's your job to edit text, find an editor and learn everything about it14:29
katcoperrito666: and it would behoove you to find an editor you can use for the rest of your life14:29
katcoperrito666: this is why i like emacs; it has grown with me and followed me across windows, linux, os x, and bsd14:30
katconatefinch: lmk when your changes are pushed to a branch i can merge14:34
bogdanteleagaperrito666: you should try spacemacs14:35
natefinchkatco: everything is on my fix-status branch, but I think cherry-picking one of your changes may have confused git or something14:36
=== natefinch is now known as natefinch-afk
natefinch-afkgotta run14:36
mupBug #1478027 opened: supportedSeriesWindowsSuite.TestSupportedSeries mismatch with "arch" <blocker> <ci> <regression> <unit-tests> <windows> <juju-core:Triaged> <https://launchpad.net/bugs/1478027>14:48
bogdanteleagahttp://reviews.vapour.ws/r/2259/ for the supportedseries bug15:08
bogdanteleagaanybody knows why ubuntu only returns ubuntu series when SupportedSeries is called?15:08
mattywevilnickveitch, ping?15:44
evilnickveitchmattyw, hey15:44
mupBug #1478051 opened: KVM provider should expose host CPU to guest <kvm> <local-provider> <juju-core:New> <https://launchpad.net/bugs/1478051>15:54
katcoericsnow: looks like i have what i need from the feature branch. merge away!17:16
ericsnowkatco: thanks17:16
katcoericsnow: ty for waiting17:16
=== natefinch-afk is now known as natefinch
natefinchgah, sometimes I really hate git17:39
natefinchericsnow: somehow I think when I merged some of katco's stuff into my branch, it brought in a bunch of featuretest stuff as well.  Are those going to get into the feature branch anytime soon?17:47
ericsnownatefinch: probably not today but Monday17:48
perrito666Bbl18:03
natefinchthink i finally got the correct revisions cherry-picked into a new branch that I'll be able to propose18:16
=== admcleod- is now known as admcleodafk
natefinchericsnow: is the launch command proc-launch now or something?18:19
ericsnownatefinch: process-launch18:19
natefinchericsnow: ok, cool.  gotta update my charms18:20
ericsnownatefinch: k18:20
mupBug #1477920 changed: juju bootstrap failed with "discarding API open error" <bootstrap> <cloud-installer> <maas-provider> <juju-core:New> <https://launchpad.net/bugs/1477920>18:21
natefinchericsnow: http://reviews.vapour.ws/r/2261/18:47
ericsnownatefinch: yeah, I'll take a look soon18:47
natefinchericsnow: thanks18:48
natefinchgah, I cannot for the life of me get goyaml to omit an empty map20:05
natefinchit works in a simple testcase, but in the status output... it's not.20:05
natefinchalso - goyaml seems to always lowercase the field names, which means like half our struct tags are unnecessary20:06
natefinchwow, man.... don't ever typo a struct tag20:26
perrito666natefinch: there was a policy about where to put tags20:26
natefinchperrito666: can you find the typo?20:27
natefinchComponents         map[string]interface{} `json:"components,omitempty", yaml:"components,omitempty"`20:27
natefinchthe yaml wasn't doing the omit empty20:27
perrito666I give up20:27
natefinchperrito666: the comma between the json definition and yaml definition is incorrect20:28
natefinchshould not exist20:28
natefinchcorrect version:20:28
natefinchComponents         map[string]interface{} `json:"components,omitempty" yaml:"components,omitempty"`20:28
natefinchthat one frigging comma was making a ton of tests fail.  Stupid comma.20:34
perrito666yeah, the comma20:34
natefinchI wish omitempty on a map would omit it if the len of the map was zero, not just if the map was nil20:38
natefinchI bet go vet catches the struct tag problem20:40
natefinchyep, it does20:41
marcoceppikatco: ping22:38
marcoceppikatco: for when you get back https://bugs.launchpad.net/juju-core/+bug/147815622:44
mupBug #1478156: summary format does not give enough details about machine provisioning errors <charmers> <juju-core:New> <https://launchpad.net/bugs/1478156>22:44
mupBug #1478156 opened: summary format does not give enough details about machine provisioning errors <charmers> <juju-core:New> <https://launchpad.net/bugs/1478156>22:58
=== mup_ is now known as mup
=== ev_ is now known as ev

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