[00:12] <nurfet> hey guys, which branch I should create PR to for a new provider, develop?
[00:17] <thumper> anastasiamac: https://github.com/juju/juju/pull/6804
[00:17] <thumper> nurfet: yes
[00:20]  * anastasiamac looking
[00:22] <anastasiamac> thumper: +1...
[00:22] <thumper> ta
[01:14] <rick_h> thumper: ping
[01:14] <thumper> rick_h: hey
[01:14] <rick_h> thumper: hey, did you want to catch up today at all?
[01:14] <thumper> sure
[01:15] <rick_h> thumper: what's your schedule look like?
[01:15] <thumper> clear
[01:15] <rick_h> thumper: k, https://hangouts.google.com/hangouts/_/canonical.com/rick?authuser=1
[02:48] <thumper> oh ffs
[02:56] <thumper> fuckity fuck...
[02:56]  * thumper considers this race
[02:56] <thumper> babbageclunk: around?
[02:59] <thumper> got this will be horrible, but necessary...
[02:59] <thumper> geez
[03:02] <anastasiamac> thumper: sounds like fun \o/ what have u got?
[03:02] <thumper> a race condition
[03:02] <thumper> StartSync()
[03:02] <thumper> is used throughout the tests
[03:02] <thumper> to get watchers to get values
[03:03] <anastasiamac> i've seen these and added a few of my own
[03:03] <anastasiamac> some tests do not run well without them
[03:03] <thumper> but places assume that it is sufficient
[03:03] <anastasiamac> right
[03:03] <thumper> in the 390 tests, there are calls to change, startsync, more change, start sync
[03:03] <anastasiamac> i think the bigger isse (and probably better approach) is to address our watchers
[03:03] <thumper> now the assumption is that first change comes independently of the second
[03:04] <thumper> but you can't ensure that
[03:04] <thumper> because the start sync just says "hey, please start a sync", it doesn't wait for it, or even be sure it has started
[03:04] <thumper> I'm beginning to think that the test is just bollocks
[03:05] <thumper> this failure http://reports.vapour.ws/releases/4711/job/run-unit-tests-xenial-s390x/attempt/903#highlight
[03:05] <anastasiamac> i'd say we should seriously consider all intermittently failing tests and what values they bring
[03:05] <anastasiamac> ,ost of them need to b re-designed
[03:05] <thumper> func (s *watcherSuite) TestWatchUnitsKeepsEvents(c *gc.C) {
[03:05] <anastasiamac> or actually made into unit test
[03:06] <anastasiamac> yeah, that's one... but there are a lot of these sprinkled thru
[03:06] <anastasiamac> just look for StartSync in test files
[03:07] <thumper> oh I know exactly what is happening
[03:07] <thumper> but it's all fake
[03:07] <thumper> and meaningless
[03:07] <thumper> the test is asserting a false proposition
[03:08] <anastasiamac> nice
[03:16]  * thumper fixes test
[03:16] <thumper> it is bollocks
[03:17] <thumper> the assertion that the events are separate is needless
[03:17] <thumper> and impossible to ensure without hoop jumping
[03:18] <thumper> so why bother
[03:24] <thumper> anastasiamac: https://github.com/juju/juju/pull/6806
[03:24]  * anastasiamac looking
[03:31] <thumper> anastasiamac: the strings watcher test helper calls start sync before any assert
[03:31] <thumper> the extra ones aren't necessary
[03:32] <anastasiamac> thumper: there was at least another test where it was necessary... let me dig it up just for ur perusal :D
[03:33] <anastasiamac> thumper: https://github.com/juju/juju/pull/6608
[03:33] <anastasiamac> in that instance, adding additional sync eliminated the race :(
[03:33] <anastasiamac> syncs even
[03:34] <thumper> anastasiamac: yeah, using watchertest.StringsWatcherC would have saved you all that
[03:34] <thumper> rather that statetest
[03:35] <thumper> see watchertest/strings.go
[03:35] <thumper> watchertest.NewStringsWatcherC(c, w, s.BackingState.StartSync)
[03:36] <thumper> pass a "pre-assert" function in
[03:36] <thumper> in this case, the StartSync on the BackingState
[03:36] <thumper> that way you don't have to sprinkle the code with startSync calls before every assert
[03:36] <thumper> because it does it for you
[03:39] <anastasiamac> thumper: k. i'll circle back to it tomorrow... have a killer migraine atm :(
[09:34] <perrito666> Morning
[10:54] <gsamfira_> Hello folks. Anyone have time to review a 5 line PR? :) https://github.com/juju/utils/pull/260
[11:20] <perrito666> gsamfira: hi dude, long time no see
[11:20] <gsamfira> perrito666: yeah, it's been a while :D
[11:20] <perrito666> looking at the patch
[11:20] <gsamfira> thanks!
[11:21] <perrito666> gsamfira: I am keen to approve the patch even though you missed the QA steps :p but I would love an explanation of what are those two windowses?
[11:24] <gsamfira> It's been a while, I am not familiar with the new QA steps :D. I may need a crash course :P
[11:24] <gsamfira> One is Hyper-V server 2016. The free version of windows that just gives you the hypervisor and nothing more
[11:25] <gsamfira> the other is the Windows storage server. That one does not really add a new series. Just enables detection for that particular version
[11:25] <perrito666> gsamfira: sure, we sent the new rules over a mail or some other not really good communication form so I cant easily point you to them (I know, we need to fix that)
[11:25] <perrito666> gsamfira: so the first step is to re-propose to develop instead of master :D
[11:26] <gsamfira> I didn't see a develop branch in juju/utils
[11:26] <gsamfira> would be happy to do it
[11:26] <perrito666> ahhh utils
[11:26] <perrito666> I forgot we moved that
[11:26] <perrito666> :p
[11:27]  * perrito666 makes a note about having develop o utils
[11:27] <perrito666> gsamfira: ship it
[11:27] <gsamfira> thanks!
[13:06] <junaidali> Hi guys, I have a failed machine (a controller instance in HA), I have run 'juju enable-ha' to ensure HA again but now I can't remove the failed machine
[13:06] <junaidali> it is giving error 'ERROR no machines were destroyed: machine <machine number> is required by the model'
[13:06] <junaidali> Any idea, what I'm missing here? Juju HA is already ensured.
[13:12] <perrito666> junaidali: hey, I assume this is juj 2.x?
[13:14] <junaidali> perrito666: yes
[13:17] <perrito666> mm, could you post in a pastebin your "juju status -m controller --format=yaml" ?
[13:23] <junaidali> perrito666: my bad, I removed two instances from my HA (out of three, need to restore from backup now), can't access controller right now
[13:24] <perrito666> junaidali: ah I see
[13:24] <perrito666> well ping me if you need ay help
[13:24] <perrito666> ill be on this channel all day
[13:24] <junaidali> perrito666: Thanks, did you want to check the member-status for that machine?
[13:24] <junaidali> controller-member-status*
[13:25] <perrito666> junaidali: yes, also I was curious what was that juju thought the statuses for those machies where
[13:26] <junaidali> I remember, the value was 'no-vote'. I will let you know when I restore the controller and re-enable HA
[13:27] <perrito666> tx a  lot
[20:02] <perrito666> bbl
[21:19] <thumper> I hate intermittent failures
[21:20] <babbageclunk> thumper: yeah they suck
[21:22] <thumper> hmm actually I think this is another case of slow race run with complex cert sometimes takes too long
[21:35] <thumper> babbageclunk: https://github.com/juju/juju/pull/6809
[21:37] <babbageclunk> thumper: looking
[21:37] <thumper> babbageclunk: many of these timeout type failures are due to expectations that the server starts quickly
[21:37] <thumper> on the race build, on the CI machine, generating a CA cert can take 4s and I have seen the 2048bit server cert take 10s
[21:40] <babbageclunk> thumper: LGTM
[21:41] <thumper> ta
[21:50] <redir> I sometimes hate intermittent failures
[21:51] <redir> More often I hate intermittent success
[21:51] <anastasiamac> :D
[21:53] <thumper> ha
[21:54] <redir> I am a bit stuck running into a bug https://bugzilla.redhat.com/show_bug.cgi?id=1325085
[21:55] <redir> but dannf is off since it is a holiday here today.
[21:55] <redir> so I can't ask if he got past that via a workaround.
[21:56] <redir> So now might be a good time to have a run and a think on it.
[21:56] <redir> the issue is theoretically fixed in libvirt 1.3.3, but xenial ships with 1.3.1
[21:57] <redir> also it seems that we can't expect kvm to work on arm64 on trusty
[21:57] <redir> :/
[21:59] <redir> bbiab
[22:02] <thumper> redir: if that is the case, then we should blacklist it in the code
[22:07] <babbageclunk> thumper: https://github.com/juju/juju/pull/6810 - bit of a weird one.
[22:07]  * thumper looks
[22:10] <babbageclunk> thumper: Ok, I'll add the names. Do think it would be better as MoveInstancesToController(controllerUUID string, ids ...instance.Id)?
[22:11] <babbageclunk> thumper: Now that I've typed that out I don't think it's better.
[22:11] <thumper> babbageclunk: I'd keep consistency with the other methods
[22:13] <perrito666> morning babbageclunk thumper ... redir? arent you in US?
[22:13] <redir> perrito666: yes, but planning to swap the holiday for later
[22:14]  * redir really goes for a run now
[22:14] <babbageclunk> sure buddy
[23:00] <redir> heh
[23:02] <redir> thumper: you mean bl arm64 or trusty on arm64?
[23:02] <thumper> redir: trusty on arm64
[23:02] <redir> k
[23:03] <redir> let me run it by dannf tomorrow
[23:07] <anastasiamac> thumper: babbageclunk: veebers: wallyworld: redir: perrito666: axw: i've added an HO to standup meeting invite... could we plz try it today instead of ...?
[23:07] <redir> they both work for me
[23:09] <anastasiamac> redir: i'd take it as a 'yes' ;)
[23:09] <babbageclunk> anastasiamac: fine by me
[23:10] <anastasiamac> babbageclunk: \o/
[23:14] <babbageclunk> thumper: could you take a look at https://github.com/juju/juju/pull/6813?
[23:33] <thumper> babbageclunk: ack
[23:34] <thumper> babbageclunk: were we tagging instances with controller uuid in gce before?
[23:37]  * thumper needs to go kick everyone in the house off the internet for the team hangout
[23:40] <babbageclunk> thumper: yup - look in ControllerInstances for example.
[23:47] <Miguel_Ubuntu> Tring to install Juju on a MAAS server. The bootstrap fails. There is a similar report on Ubuntu Solutions Engineering o9n github, but I cannot use the sugestion. It is the top issue.
[23:47] <thumper> wallyworld, anastasiamac: standup hangout?
[23:48] <thumper> perrito666: hangout change?
[23:49] <wallyworld> what's the hangout name?
[23:49] <perrito666> thumper: sure, fire up a hangout
[23:49] <anastasiamac> HO is in standup invite incalendar