/srv/irclogs.ubuntu.com/2016/08/29/#juju-dev.txt

veeberswallyworld: I'm just about to head out for lunch, but I notice when running the grant/revoke test that the outpu of list-users seems to have changed again00:35
veebersI don't see display-name for users that are added in the output00:35
wallyworlddisplay name is only displayed if there is one00:35
wallyworldextrernal users don't have a display name00:36
wallyworldotherwise the output is filled with empty attributes00:36
wallyworldthe test should not be fragile though to break on such changes00:36
wallyworldit needs simply to parse the json or yaml00:36
wallyworldwhether display name attribute is in the output should be immaterial00:37
wallyworldthe parsed data will be the same00:37
veeberswallyworld: To be clear  it's expected to not show an empty display name?00:37
wallyworldin which type of output? json? yaml? tabular?00:38
wallyworldfor json or yaml, it is immaterial whther empty displyaname is there or not, and the test should not depend on it00:38
wallyworldthe parsed data is the same either way00:39
veeberswallyworld: json output, currently the test compares predefined datastructures against the resulting output.00:41
veebersI'm confident that this was working with the current assumptions (i.e. display-name: "") on Friday, is this a recent change?00:42
wallyworldyeah, can't recall exactly when it landed00:42
veeberswallyworld: Ok. I'll make the change to the test to not expect display-name when not set00:43
wallyworldthat will be good, thanks00:43
thumperveebers: ping me when you are back01:40
veebersthumper: hey o/01:50
thumperveebers: hey ehy01:50
veebersthumper: sorry I left for the gym later than originally intended01:50
thumperthat's fine01:50
thumperhangout?01:50
veeberssure thign01:51
veebersthumper: which one/01:51
thumperveebers: https://hangouts.google.com/hangouts/_/canonical.com/lxd?v=1471979335&clid=FD6B1EDF18B181C1&authuser=001:52
veebersomw01:52
veeberswallyworld: would it take you less then 2 minutes to find the commit id for when empty display name was removed from juju output? Would be nice to include in the MP for this test :-)02:21
wallyworldprobably, i'll look02:22
wallyworldveebers: it also omits last login time and date create if empty, but those will only be empty for external users. i assume the CI tests are not doing anything with eternal users yet (but they should at some point) edc0b5324b2a110eb838852f2c7bc5f26d627efd02:26
veeberswallyworld: awesome thanks. Yeah already ignores login/date stuff. We have a task for the external testing (that needs some fleshing out)02:28
wallyworldgreat02:28
thumpermenn0: with you in a minute02:31
menn0ok02:32
wallyworldmenn0: you going to add QA steps to your PR?02:33
menn0wallyworld: yes, working on that now02:33
wallyworldok, awesome02:33
menn0wallyworld: turns out it's harder to QA than I realised02:33
wallyworldi can imagine02:33
veebersthumper: just saw the email response. I should be able to get the db dump, but not sure about access, that's more of a sinzui,balloons,tbaumann thing02:45
thumperveebers: just replied, apt install tmate02:46
thumperreally cool02:46
veebersthumper: it's not really my machine to install or give access too :-\02:47
veebersthumper: although we can always ask for forgiveness02:47
menn0wallyworld: trying to do the QA steps for this PR has made me realise that I probably need to do the prechecks before waiting for agents to report that they're in readonly mode02:51
wallyworldhmmm, seems reasonable02:52
menn0wallyworld: otherwise when you have machines that are being provisioned or down, they'll never report that they're in readonly mode and it takes 15 mins before the migration is aborted02:52
wallyworldouch02:53
menn0wallyworld: so ignore my PR for now. I'm going to do another one which swaps the phases around02:53
wallyworldi haven't read the PR yet :-)02:53
menn0wallyworld: ok np. that PR won't actually change, but it'll be easier to QA once I swap the phases02:54
wallyworldsgtm02:54
thumpermenn0: big problem was out of date lxd container03:23
thumperhad an old lxd package03:23
thumperwhich blocked on things03:23
thumperupdating containers fixed the CI test03:23
menn0thumper: how did you update the containers?03:23
thumperapt update && apt upgrade03:24
wallyworldthumper: why the fark wouldn't CI ensure it pulled the latest packages to test with ie what our customers are actually going to use?03:25
thumperwallyworld: these are long standing lxd machines that are just stopped / started for the ci tests03:25
thumperthey just got out of date03:25
wallyworldhmpf. they should be kept up to date :-)03:26
thumperyes, they should03:26
natefinchwallyworld: I have some questions about the certupdater, got few minutes?03:42
wallyworldok03:42
natefinchwallyworld: so, the certupdater has a watcher that watches the addresses of the machine it's on.... which seem to be different than the addresses in APIHostPorts.... shouldn't it watch APIHostPorts?03:43
wallyworldnot sure tbh. it needs to update the cert SAN list with whatever wget on the instance nodes connects back to03:44
wallyworldi can't remember where wget gets it's info from03:44
wallyworldhow is APIHostPors different to the machine addresses?03:45
natefinchwallyworld: the issue seems to be that the machine's list of addresses for manual provider don't include the cloud-local address, but the APIHostPorts does include that address03:45
natefinchwallyworld: I guess the other question is.. where does the machine's address list get populated?03:45
wallyworldi know there's an instance poller on clouds03:46
wallyworldand i think there's somewhere else that queries any machine NICs03:46
wallyworldnatefinch: i looked at the code - it does use apihost ports initially03:48
natefinchwallyworld: yeah, the apihostports initially don't have the cloud-local, but they get updated03:48
wallyworldso why wouldn't the updated addresses get populated in the machine addresses03:49
natefinchnot sure if that's a race condition or what, but they get updated with cloud local later... but since the certupdater isn't watching apihostports, it doesn't get the new address03:49
natefinchgood question.  I don't know03:49
wallyworldi think the assumption is that they would. i'd have to go through the code to see what's happening03:49
wallyworldtrace what is updaing apihostports03:50
natefinchok, I'll try that and see why it's not also updating the machine addresses03:52
wallyworldthat's a good starting point03:54
natefinchit's turtles all the way down :/04:43
thumpermenn0: http://pastebin.ubuntu.com/23106006/04:50
* thumper sighs04:50
thumpermenn0:  http://reviews.vapour.ws/r/5552/04:50
thumpermenn0: as discussed, moved the introspection worker out of the engine04:51
menn0thumper: give me a sec04:53
thumperno worries04:53
menn0thumper: swap you: http://reviews.vapour.ws/r/5551/04:54
thumperok04:55
menn0thumper: I was initially going to swap PRECHECK and QUIESCE but then it occurred to me that we didn't actually need both phases04:55
thumperok...04:55
menn0thumper: the prechecks are now just done at the start of the QUIESCE phase, at the same time as the agents are going to readonly mode04:56
thumpermenn0: why all the phase changes from "PRECHECK" to "IMPORT"?04:56
thumperin the first file04:56
menn0thumper: because PRECHECK no longer exists. IMPORT is now next phase after QUIESCE04:57
thumperok04:57
menn0thumper: so you didn't mean to show me juju-engine-report ?04:57
menn0looks pretty useful04:57
thumpermenn0: well, that is in the review QA04:57
thumperbut pasted the wrong buffer04:57
menn0got it04:59
menn0thumper: review done. just little things.05:13
thumpermenn0: ta05:14
thumpermenn0: replied, would like your thoughts before I do much else05:24
menn0thumper: looking05:24
menn0thumper: where does the contents of introspectionWorkerBashFuncs get put by cloud-init?05:26
menn0thumper: never mind... I checked myself05:29
menn0thumper: replies done.05:34
thumperta05:35
* thumper is off now05:35
thumpersee y'all tomorrow05:35
menn0wallyworld, thumper: presence doesn't appear to be working at all... I shut down a machine agent 20 mins ago and it still has a status of "started"05:37
wallyworldawesome05:37
menn0wallyworld: it works for unit agents but doesn't appear to work for machines05:39
menn0I have a terrible theory...05:43
* menn0 checks05:44
=== frankban|afk is now known as frankban
wallyworldaxw: if you have a moment, not urgent, i have a PR which tweaks some bootatrap messages http://reviews.vapour.ws/r/5553/08:13
axwwallyworld: looking08:14
axwwallyworld: " - juju-b01da0-0 ted"   <- what is ted?08:14
wallyworldaxw: damn. there was some code to move the cursor to start of line line and it looks like a message has changed in length08:16
wallyworldi'll have to add padding or something08:16
wallyworldlooks like we just got lucky before08:17
wallyworldi didn't even notice :-)08:17
wallyworldaxw: added padding to width of 40, seems reasonable to me as other messages printed are a bit more than that08:29
wallyworldother messages during bootstrap i mean08:29
wallyworldnot other messages on that line that is overritten08:29
axwwallyworld: there are terminal escape codes for clearing lines, but I'm not sure about portability. seems reasonable.08:34
axw(what you've done; LGTM)08:34
wallyworldaxw: yeah, i was afraid to mess with such things and screw up on windows etc08:35
wallyworldor when we pipe etc08:35
perrito666morning12:02
wallyworldfwereade: you around?12:32
fwereadewallyworld, o/12:32
wallyworldhey12:33
wallyworldfwereade: question for you12:33
fwereadewallyworld, sure12:33
fwereadewallyworld, (it's quiet today... uk bank holiday... maybe more?)12:33
wallyworldi think you were starting to look at refactoring state a bit. perrito666 has an issue where there's the mdel manager facade which has a controller connection, hence it's state has the controller model uuid. but beng a model manager facade, it needs to operate on mulitple models. so the facade needs to use a state with a given model uuid assigned to it so that the correct model uuid is automatocally used with the doc ids. but state.12:35
wallyworldForModel() starts all the listeners etc. what's needed is just the newState() bit which constrcuts a state without all the other stuff just to allow collections to be correctly read and written12:35
wallyworlddoes that make sense?12:35
fwereadewallyworld, perrito666: I think the abstraction you are looking for is a state.Database12:36
perrito666actually we should actually refactor some endpoints, the split of facades into controller or models was a bit careless, some facades needed a bit of split12:36
wallyworldone option discussed with menno is to use the state pool12:36
wallyworldi've not come across the state database, will need to look12:37
fwereadewallyworld, perrito666: in particular if you sometimes want a collection to be global and sometimes not, I think the RTTD is to create databases with different schemas and use those12:37
wallyworldall that's needed is a state object without all the listener stuff, but which does the model uuid thing12:37
fwereadewallyworld, perrito666: yes12:37
fwereadewallyworld, perrito666: that is what Database does12:37
wallyworldah ok, that's what we want then :-)12:38
* perrito666 goes reading12:38
perrito666why didn't I know of this before?12:38
fwereadewallyworld, perrito666: it's still internal to state but I'm 99% sure it's the piece closest to what you need12:38
wallyworldif it does what i stat above, then awesome12:38
fwereadeperrito666, not sure, but if you've used allcollections.go the Database is the thing whose operation/structure is defined by it12:39
fwereadeperrito666, well, the database, which happens to implement Database12:39
wallyworldi'll leave you guys to it, need to go get my son from work12:39
fwereadewallyworld, o/12:39
* wallyworld the match maker :-)12:40
fwereade<312:40
rock__Hi. I have juju openstack depolyed setup on LXD. Unfortunately I did #juju logout --force. Now I am not able to see #juju status. i tried to do #juju login  but it was asking username and password. In  username and password.  username and password. It has default credentials?13:22
rock__.13:22
rock__In .local/share/juju/accounts.yaml is empty13:23
rock__How can I get my previous setup?13:24
rock__please help me in this.13:24
=== mhilton_ is now known as mhilton
mupBug #1617526 changed: cmd/juju: no help available for common flags <help> <ui> <juju:New> <https://launchpad.net/bugs/1617526>13:51
mupBug #1617602 changed: juju status <service-name> stuck <status> <juju:New> <juju-utils:New> <https://launchpad.net/bugs/1617602>13:51
mupBug #1617820 changed: JUJU fails in bootstrapping used with openstack <conjure-up:New> <juju:New> <https://launchpad.net/bugs/1617820>13:51
natefinchstandup for rick's juju core team standup thing  (do we have a standup?)14:03
natefinchI mean, we do have a standup.. but it's kinda barren14:04
natefinchoh, public holiday in the UK kinda decimates our standup14:06
beisnerhi juju devs - is there a way to recover the credentials if a user --forces logout before changing the initial account password?  (fyi rock__ ^)14:15
perrito666beisner: I honestly dont know14:19
beisnerit seems like 'no' given the warning http://pastebin.ubuntu.com/23107425/14:19
rock__beisner: I got the same as  http://pastebin.ubuntu.com/23107425/. then I ran #juju logout --force.  From that onwards I am not able to see #juju status. And I am not able do #juju login back due to loss of account password.14:53
mupBug #1617602 opened: juju status <service-name> stuck <status> <juju-core:Incomplete> <juju-utils:New> <https://launchpad.net/bugs/1617602>14:54
beisnerrock__, right, i think it is expected that you set the password to a known-value before logging out.15:03
=== jcastro_ is now known as jcastro
rock__beisner: Now we can't do anything right.15:04
beisnerrock__, as far as i know, the creds are required in order to interact with the existing model15:35
rock__beisner: OK. thank you.15:35
beisnerrock__, yw.  sorry i don't have a better answer on that.15:36
natefinchThere's probably a way to hack it if you can log into the controller machine and then twiddle with the database directly.  I don't have a concrete list of steps to do that, though15:37
rock__beisner: It is Ok. You provided me good info.15:38
rock__When I run #juju status. It was giving : ERROR No controller.  Please either create your own new controller using "juju bootstrap" or connect to another controller that you have been given access to using "juju register".15:42
redirmorning15:44
=== frankban is now known as frankban|afk
natefinchmental note: bootstrapping to a pre-existing machine with manual is faster than even lxd18:10
=== aisrael is now known as StoneTable
thumpermorning folks19:46
=== StoneTable is now known as aisrael
katcoheya thumper20:00
thumperkatco: morning20:01
alexisbmorning thumper20:13
sinzuises_: https://hangouts.google.com/hangouts/_/canonical.com/curtis20:38
=== BradCrittenden is now known as bac
natefinchthumper: is there a way to make loggo print out milliseconds in the timestamp?  it would help when using grep during busy periods in the log20:48
thumpernatefinch: with debug-log, yes20:49
thumper--ms20:49
thumpernot for the default file writers20:49
thumperbut the logs in the db have full time precision20:49
thumperand debug-log can now show that20:49
natefinchthumper: ahh, that's too bad20:50
thumperactually...20:50
thumperI added an environment variable for the default logger20:50
thumperwhich is to the terminal20:50
thumperbut not for the file writers20:50
natefinchthumper: this is 1.25... looks like no --ms on debug-log there20:51
thumpernatefinch: export LOGGO_TIME_FORMAT="15:04:05.000"20:52
thumpernatefinch: see if that helps :)20:52
* natefinch just hacks the loggo source...20:54
rediruse the source nate20:57
katcoanyone have an opinion of where this should live? https://github.com/juju/juju/blob/master/cmd/juju/application/store.go#L155-L16620:57
katcocandidates i have found are: github.com/juju/juju/charmstore gopkg.in/juju/charmrepo20:58
thumperkatco: I think it would be nice to have some package that encapsulates juju's interaction with the charmstore20:58
thumperbut no idea where20:58
thumperperhaps your first choice?20:58
katcothumper: i think that might be github.com/juju/juju/charmstore?20:58
thumperbut I don't know what is in there now20:58
thumperseems reasonable to me from a distance :)20:58
katcothumper: i will consider that an affirmation from a verified expert whose word is ironclad and whom i can blame when this blows up.20:59
=== natefinch is now known as natefinch-afk
thumperhaha21:01
alexisbthumper, do you ahve time to run through bugs with me?21:03
alexisbor are you on other tasks21:03
thumperalexisb: I'm trying to finish off a branch from yesterday21:03
thumperif you can live without me21:03
alexisbthumper, sure21:03
perrito666k running a long test, bbl21:49
alexisbredir, menn0 did the fix in mgo needed for this bug land yet? : https://bugs.launchpad.net/juju/+bug/160481721:57
mupBug #1604817: Race in mgo Stats implementation <ci> <intermittent-failure> <race-condition> <regression> <unit-tests> <juju:In Progress by reedobrien> <https://launchpad.net/bugs/1604817>21:57
rediralexisb: I haven't seen anything on the upstream PR21:57
* menn0 double checks21:57
menn0alexisb: nope, no response on that one21:58
alexisbk21:58
alexisbwallyworld, is this still a valid bug: https://bugs.launchpad.net/juju/+bug/161271721:59
mupBug #1612717: Pinger facade not implemented on controller websocket connection <juju:Triaged> <https://launchpad.net/bugs/1612717>21:59
wallyworldnot sure, hasn't seen it21:59
wallyworldprobably it could be21:59
wallyworldseems like fallout from rog's work22:00
alexisbthanks wallyworld; following up with that team22:02
wallyworldalexisb: thumper: are we having this meeting?22:32
alexisbredir, menn0 ping23:16
rediralexisb: ack23:17
redirpong23:17
redirwhatever23:17
alexisbredir, standup23:17
redirdoh!23:17
redirbrt23:17
wallyworldredir: looking at your branch now23:39
redirwallyworld: tx23:39
=== alexisb is now known as alexisb-afk
wallyworldredir: lgtm with a couple of small things23:46
redirwallyworld: tx23:47

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