/srv/irclogs.ubuntu.com/2016/11/22/#juju-dev.txt

* babbageclunk goes for a run00:24
=== thumper is now known as thumper-dogwalk
perrito666wallyworld: see priv msg01:15
axwanastasiamac menn0: on the topic of not being entirely confused: https://en.wiktionary.org/wiki/mersi01:22
menn0axw: cool :)01:24
anastasiamacaxw: we should start a club \o/01:24
babbageclunkmenn0: ping01:35
menn0babbageclunk: pong01:35
babbageclunkmenn0: So the other thing that I forgot to ask about because you threw that bijou spannerette into the works was about the version numbers on the log messsages.01:36
babbageclunkmenn0: on https://github.com/juju/juju/pull/6588 thumper-dogwalk was wondering whether we should maintain them from the source system.01:38
babbageclunkmenn0: link to relevant comments https://github.com/juju/juju/pull/6588#discussion_r8882595601:39
menn0babbageclunk: sorry, got distracted01:44
menn0babbageclunk: I didn't know that the version number was being sent01:44
* menn0 looks at the code01:44
babbageclunkmenn0: Well, it's sent as a url parameter when the logsender connects to the logsink api handler.01:49
menn0babbageclunk: yep I see that01:49
menn0babbageclunk: given that the current code requires it, I guess continue passing the version from the source controller01:51
menn0babbageclunk: it's terrible that each log record in the DB stores the version01:51
menn0babbageclunk: but I don't think you should try to fix that now01:51
menn0babbageclunk: all the logs in the DB should be in the same format01:51
babbageclunkmenn0: ok, but not changing debug-log to get the version from the source DB and emit it?01:52
babbageclunkmenn0: I'm good with not doing that, just want to check.01:55
menn0babbageclunk: sorry... can we HO, I'm not understanding01:59
babbageclunkmenn0: sure https://hangouts.google.com/hangouts/_/canonical.com/menno02:00
=== thumper-dogwalk is now known as thumper
thumpermenn0, babbageclunk: I'd like to know the rationale behind the sending of the juju version02:03
thumperI just don't see the point02:03
thumperand especially storing extra data we don't need in the lgos02:03
thumperlogs02:03
menn0thumper: I just chatted to babbageclunk. we all agree that storing version on each log record is dumb.02:08
menn0thumper: babbageclunk is filing a bug about that02:09
* thumper agrees02:09
menn0thumper: that's what I meant by *all* :p02:09
thumper:)02:09
menn0thumper: the version isn't going to be sent per record when the logs are transferred during migration02:10
menn0thumper: but to avoid having to change too much now it's still going to be sent at connection time (it might end up being useful too)02:10
thumpersure02:10
* thumper needs coffee badly02:55
natefinchI cant believe someone would write a REST API "wrapper" and just give it methods for Get, Delete, Post, etc.03:02
natefinchthumper: totally unrelated... any idea the easiest way to ping a maas to make sure the endpoint is correct?03:03
thumpernatefinch: yeah03:06
thumpernatefinch: there is an unauthenticated endpoint I think you can hit03:06
thumperwhich will tell you version info03:06
* thumper looks03:06
natefinchthat's what I was thinking of... the gomaasapi package documentation is somewhat less than helpful03:07
thumpergiven an endpoint03:08
thumperdo a GET endpoint/version03:08
thumpersee if that works03:08
* thumper thinks...03:09
thumpernope03:10
thumperendpoint/api/2.0/version03:10
natefinchthumper: I was going to use gomaasapi's NewUnauthenticatedClient.... a little search in our codebase shows client.GetSubObject("version/").CallGet("", nil) might work?03:13
thumperif you have go03:13
thumperthen it is very easy03:13
natefinchyeah.... this is an addition to the maas provider03:13
natefincha way to precheck a url when doing interactive add-cloud to make sure you don't typo the endpoint03:14
thumpergomaasapi.NewController(gomaasapi.ControllerArgs{03:14
thumperBaseURL: maasServer,03:14
thumperAPIKey:  apiKey,03:14
thumper})03:14
thumperif it errors, it isn't there03:14
natefinchthis is pre-controller03:14
natefinchbefore bootstrap03:14
thumperthis isn't a juju controller03:15
thumperbut a gomaasapi controller03:15
natefinchoh, I see03:15
thumperit is just a nice endpoint to hit03:15
thumperit wraps all the maas objects03:15
thumperpart of the controller creation03:15
thumperis to check that the endpoint supports the 2.0 api03:16
thumperif it isn't up, or doesn't support it03:16
natefinchwhat's apikey?03:16
thumperit will error out03:16
thumperthe oauth key03:16
thumperthat they need to provide for authentication / authorization03:16
natefinchthe problem with that is that add-credential is separate from add-cloud, so I won't have the apikey yet.03:19
natefinchthe version check should work though, assuming it can be done unauthenticated03:20
thumperyeah, not 100% sure, but worth checking03:23
thumperthe new controller might barf if not given a valid key03:23
thumpernatefinch: this is icky03:24
thumpernatefinch: but specify an empty apikey with "::"03:24
thumperthe code does a split on ":" and checks for 3 elements03:24
natefinchha03:26
babbageclunkthumper: ping?03:50
thumperbabbageclunk: hey03:55
babbageclunkthumper: So I was gearing up to use ConnectStream to talk to the migration target when I realised that it sticks a model uuid on the front of the path03:56
babbageclunkthumper: plus there's no way to add the model uuid header to the request.03:57
thumperyeah... there is03:57
* thumper thinks03:57
babbageclunkIt looks like the machine nonce has some specific handling.03:58
thumperbabbageclunk: it may need a little refactoring with a hammer03:58
babbageclunkYeah, that's what I figured.03:58
babbageclunkthumper: I was thinking a ConnectControllerStream, which would also take some headers to add to the request.03:59
thumperbabbageclunk: sounds reasonable03:59
babbageclunkthumper: And then an adapter that takes some headers and exposes a ConnectStream method that calls ConnectControllerStream internally...04:00
* thumper nods04:00
babbageclunkSo I can pass it to something that takes a StreamConnector.04:00
babbageclunkMake sense?04:00
thumperbabbageclunk: you probably want to do something similar to what I did for the binary transfer04:00
thumperbut yes04:00
thumperit matches what you are saying04:01
babbageclunkok great!04:01
babbageclunkthanks04:01
babbageclunkoh, actually, I don't think I need the adapter - I thought I needed to call something that expected a StreamConnector, but that's on the reading side.04:02
thumpermenn0: https://github.com/juju/juju/pull/659204:03
natefinchtfw you haven't run your vmaas in forever and now can't remember what the login info is04:17
wallyworldaxw: there's no rush because farking bot is broken, if you get a chance at somepoint, here's a boilerplate PR to set up the remote relations worker https://github.com/juju/juju/pull/659304:18
axwwallyworld: okey dokey, will look after lunch. just about ready to send my PRs so will have a break04:23
wallyworldsure, np, ty04:23
wallyworldcan't land till bot is fixed anyway04:24
wallyworldi need to go get food as well04:24
anastasiamacbabbageclunk: updated PR as discussed, so far has been running without failures for 45+mins (over 1700 runs)06:43
anastasiamacbabbageclunk: https://github.com/juju/juju/pull/657406:43
anastasiamacbabbageclunk: before it used to fail within then first 400 depending on my mood :)06:43
anastasiamacbabbageclunk: is it what u had in mind? :D06:44
voidspacekatco: https://www.facebook.com/mfoord/posts/1015391682253588015:23
katcovoidspace: tal15:23
katcovoidspace: are the diamonds ethically mined?15:23
voidspacekatco: that is a good question to which I do not know the answer.15:24
voidspacekatco: I will ask15:24
voidspacekatco: rick_h: https://www.etsy.com/uk/shop/MirielDesign?ref=l2-shopheader-name15:24
mgzvoidspace: I'm reading several slightly confusing sets of instructions on stackoverflow involving git rev-list15:25
voidspacemgz:  a manual bisect is probably less hassle...15:25
voidspacekatco: I have emailed Josephine and asked her - I will be astonished if they are not, but worth asking.15:26
natefinchmgz: thoughts on implementing a Ping(endpoint) method for the openstack provider?15:31
mgznatefinch: my first thought is the method just needs to call authClient()15:38
natefinchmgz: ideally it needs to be without auth.  This is during add-cloud, so we don't have creds yet15:39
mgzwell, until Authenticate is called I don't think it actually talks, lets just see if there's a keystone command we can do without auth15:40
mgzwell, listing certainly can be, lets see if goose exposes rather15:41
mgzthere's FetchAuthOptions15:42
mgzis that sensibly exposed...15:43
mgznatefinch: looks like you can create an authenticcatingClient, then rather than calling Authenticate, call IdentityAuthOptions15:48
mgzwhich will return not-nil, nil if the endpoint is valid keystone15:48
natefinchmgz: interesting, ok15:49
mgzthat doesn't give you region info15:49
balloonswhat's the best way to confirm which agent was used to bootstrap with? I can look at the logs -- anything more programmatic than that? I want to confirm I used a specific location that isn't streams.c.c15:49
natefinchmgz: I just need to check if there's actually an openstack at that endpoint15:50
mgzballoons: bootstrap output is the best way15:50
natefinchmgz: can I check region endpoints the same way?15:50
balloonsmgz, redirect and grep the debug log?15:50
mgznatefinch: I think you might need valid creds to get service/region pairs15:51
natefinchmgz: I mean, can I call IdentityAuthOptions with the url of the region endpoint?15:51
mgzballoons: yes, I don't think I can come up with a better options15:51
mgznatefinch: no, IdentityAuthOptions only looks at what the keystone service itself is advertising as endpoints15:52
mgzto get a list of services, you need a url under that, which I think will generally require creds15:52
natefinchahh, three line error message from goose, fantastic15:57
natefinchmgz: seems to work :)16:00
natefinchmgz: interestingly enough, that should let us just avoid asking what kind of auth the cloud uses16:01
mgznatefinch: ah yes, that is also upside16:07
natefinchmgz: somewhat tricky to add, though, given that this is in the middle of some very generic code.16:09
natefinchI'll skip it for now and make a todo for later.16:12
voidspacekatco: Josephine of Miriel is confident that her diamonds are ethically sourced and has pointed me to the two places she sources them from16:18
katcovoidspace: awesome!16:19
voidspacekatco: I'm glad you asked actually, it should have occurred to me16:19
katcovoidspace: i don't know much, but i do know that is a bloody business :(16:19
voidspacekatco: yup :-(16:19
voidspacetime to collect daughter16:20
natefinchI think most places these days use ethically sourced diamonds, but it's definitely always good to ask.16:20
natefinch(at least in first world nations)16:20
katconatefinch: do you know how my card is different from https://github.com/juju/juju/blob/develop/cmd/juju/cloud/add.go#L162 ?17:17
katcorick_h: ping17:20
rick_hkatco: otp pong17:20
katcorick_h: it can wait17:20
alexisbmgz, ping17:33
* voidspace is currently deploying about 60 machines with juju 2.3.018:14
rick_hvoidspace: wooo! you'll soon reach deployment master levels18:17
voidspace:-)18:17
* alexisb changes locations 18:18
mupBug #1592188 changed: No 'enable-ha' for manual provider <ensure-availability> <juju-core:Triaged> <https://launchpad.net/bugs/1592188>19:28
mupBug #1357760 opened: ensure-availability (aka HA) should work with manual provider <cloud-installer> <ha> <landscape> <manual-provider> <manual-story> <juju:Triaged> <juju-core:Triaged> <https://launchpad.net/bugs/1357760>19:28
mupBug #1493058 opened: ensure-availability fails on GCE <docteam> <enable-ha> <gce-provider> <ha> <jujuqa> <juju:Invalid by thumper> <juju-core:Triaged> <juju-core 1.24:Won't Fix> <juju-core 1.25:Won't Fix> <https://launchpad.net/bugs/1493058>19:28
mupBug #1357760 changed: ensure-availability (aka HA) should work with manual provider <cloud-installer> <ha> <landscape> <manual-provider> <manual-story> <juju:Triaged> <juju-core:Triaged> <https://launchpad.net/bugs/1357760>19:31
mupBug #1493058 changed: ensure-availability fails on GCE <docteam> <enable-ha> <gce-provider> <ha> <jujuqa> <juju:Invalid by thumper> <juju-core:Triaged> <juju-core 1.24:Won't Fix> <juju-core 1.25:Won't Fix> <https://launchpad.net/bugs/1493058>19:31
mupBug #1592188 opened: No 'enable-ha' for manual provider <ensure-availability> <juju-core:Triaged> <https://launchpad.net/bugs/1592188>19:31
mupBug #1592188 changed: No 'enable-ha' for manual provider <ensure-availability> <juju-core:Triaged> <https://launchpad.net/bugs/1592188>19:34
mupBug #1357760 opened: ensure-availability (aka HA) should work with manual provider <cloud-installer> <ha> <landscape> <manual-provider> <manual-story> <juju:Triaged> <juju-core:Triaged> <https://launchpad.net/bugs/1357760>19:34
mupBug #1493058 opened: ensure-availability fails on GCE <docteam> <enable-ha> <gce-provider> <ha> <jujuqa> <juju:Invalid by thumper> <juju-core:Triaged> <juju-core 1.24:Won't Fix> <juju-core 1.25:Won't Fix> <https://launchpad.net/bugs/1493058>19:34
perrito666gah, this way of testing things breaks GoImpl19:45
babbageclunkoh my goodness everyone! I cleaned my keyboard yesterday evening and it is soooooo good!20:15
perrito666babbageclunk: I am not sure if that is cool or gross :p20:16
perrito666I am confused20:16
babbageclunkperrito666: it was very gross. But now it is supercool.20:16
perrito666babbageclunk: laptop kb?20:16
babbageclunkperrito666: no, proper keyboard20:16
babbageclunkperrito666: tempted to bring it to the sprint to show you, but obviously that's madness.20:17
babbageclunkperrito666: just imagine a really gross dirty keyboard, and juxtapose that in your mind with a really hyper clean one.20:17
perrito666babbageclunk: lol, well my kb is not the image of cleanness20:19
perrito666i am too lazy to remove all keys though20:19
babbageclunkperrito666: one touches them all day with one's gross hands.20:19
babbageclunkperrito666: I thought I was too lazy too, but it turned out to be a) easier than I expected and 2) way more satisfying.20:20
babbageclunkperrito666: so now I'm a swivel-eyed kb-cleaning loon20:21
babbageclunkperrito666: on a more work-related note - is there any easy way to get go to build all the tests under juju/juju?20:23
babbageclunkperrito666: I keep moving stuff as part of refactoring and then find I haven't updated the tests that refer to it.20:24
perrito666go test -run=XXX20:25
perrito666iirc20:25
perrito666that will build all but not run any20:25
babbageclunkAh, ok - I'll try that the next time I move something. Thanks!20:27
babbageclunkperrito666: ^20:27
alexisbbabbageclunk, perrito666 my keyboard is covered in peanut butter and jelly from this morning20:27
perrito666babbageclunk: I am not 100% sure of the syntax but its near that20:27
perrito666alexisb: why? lost apetite after spreading it and are saving it for later?20:27
alexisbjay's discovery of reading letters has made my keyboard a constant victim20:28
perrito666lol20:28
babbageclunkalexisb: ha ha20:28
perrito666mine is covered by the continuous reminder that I am going bald20:28
alexisblol20:30
perrito666I am thiking on buying the vi cheatsheet variant of the keys for my kb20:30
perrito666so that might be a chance for a cleanup20:31
alexisbperrito666, I can meet early for our 1x1 if you would like21:41
perrito666alexisb: sure, going21:42
katconatefinch: ping21:55
katcomgz: ping21:55
mgzkatco: heya21:55
katcomgz: hey was natefinch talking with you about methods on providers?21:55
mgzyeah21:55
katcomgz: hop in ?core for a sec?21:56
mgzsurething21:56
alexisbwallyworld, ping22:07
wallyworldyo22:07
alexisbwallyworld, can you jump into our 1x1 HO really fast22:08
wallyworldi can22:08
axwthank mgz and menn0 for the reviews23:21
mgzaxw: no worries, I'm still around for a bit if you need to bug me23:24
axwmgz: nah all pretty clear. the switching thingy is ugly I know. we need to defer auth until the methods are called, because Open is not meant to make any API calls23:26
axwmgz: might be able to tidy it up a bit by making additional calls at the callsites though23:26
blahdeblahaxw: I have an lp:1587644-affected environment in Canonistack right now and am about to try the "block traffic to 17070" trick to see if the controller recovers.  Anything you want me to gather from the controller first?23:42
axwblahdeblah: just the current CPU/mem, but I guess you have that from monitoring already?23:43
blahdeblahShould do; let me double-check23:43
menn0axw: that auth thing wasn't a show stopper... just wondering if it could have been tidier23:44
axwmenn0: yup23:46
axwalexisb: pool guy chose a great time to arrive, gonna be late sorry23:47
blahdeblahaxw: Load doesn't seem outrageous: https://libertysys.com.au/imagebin/rdIGeIze.png - smoking gun is really memory & network traffic: https://libertysys.com.au/imagebin/IZFYoL51.png https://libertysys.com.au/imagebin/2rJpeCDe.png23:49

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