/srv/irclogs.ubuntu.com/2017/12/05/#juju-dev.txt

redirO/00:47
thumperhi redir00:52
thumperdnegreira: hi there00:53
thumperdnegreira: juju already has a lxd provider00:53
axwwallyworld: back01:04
wallyworldaxw: i'm just testing abother iteration - i may have found the issue, i'll ping in a bit if needed01:06
axwokey dokey01:07
axwI'll finish up my PR then01:07
wallyworldsgtm01:07
axwwallyworld: is your PR ready for review again? did you sort out the test failure?02:32
thumperwallyworld: well... watchers based on a single tailer is working in my controller02:33
thumperneeds more testing02:33
thumperand some real tests added02:33
thumperbut good start02:33
thumperI need to make sure it is robust in failure cases02:33
axwthumper: tailable iterator?02:34
thumperaxw: not at this stage02:34
thumperkept the basic implementation02:34
axwcool cool, just curious what you meant02:34
thumperbut now with how it is separated02:34
thumperit would be easier to change to use that02:34
axwgreat02:34
thumperaxw: I've added a worker to the state pool that does the tailing02:34
thumperit publishes to a pubsub.SimpleHub owned by the state pool02:35
thumperand the other state objects the pool creates just use a watcher that listens to the hub02:35
thumperso a slow state won't slow down a fast state02:35
axwthumper: sounds good02:35
thumperaxw: how would you feel if we put a pool attribute on the state instance?02:36
thumperthere are places where we are creating pools just to iterate models02:36
thumperwhich seems ungood02:36
thumpereven if they are rare code paths02:36
axwthumper: I would rather we didn't. do you have an example on hand02:38
axw?02:38
thumperthat's ok, they are pretty rare02:38
axwthumper: IMO we should just pass a pool into the callers instead02:38
thumperhmm...02:38
thumperone is in state/cleanups.go02:38
thumperanother when destroying a controller02:38
thumperalso in state02:38
axwthumper: hmmmm actually, lemme think on it02:40
thumperit isn't urgent02:40
thumperbut areas where we should clean up I bit02:41
axwthumper: I think I mentioned this before, but what I want to have is a state.Manager which essentially does what StatePool does now, but it will be the one and only place where you can obtain a State object02:41
axwthumper: i.e. no more state.Open02:42
thumperright02:42
thumperperhaps the pool becomes that thing02:42
axwthumper: if we do that, then a State could  reasonably internally have a Manager reference02:42
* thumper nods02:42
axwatm the controller State doesn't come from a StatePool, so feels a bit awkward02:42
axwand I really don't want the controller model's State to create or own the StatePool, that feels backwards to me02:43
axwthumper: also, I want to remove the State's Close method. they should just be accessible from the manager/pool, and that should take care of closing its mongo session and workers internally02:43
wallyworldaxw: yeah, ready for another look02:44
axwwallyworld: I take it the worker wasn't running hooks and such because of the missing ":latest" ?02:45
wallyworldaxw: not that reason - it was because cmd/jujud/main was specially looking for a rpc service listening for "Jujuc.Main" and i had renamed the struct for the hook commands from Jujuc to HookCmmnd02:49
axwwallyworld: ahhh02:50
wallyworldi wanted to get rid of jujuc02:50
axwyay reflection magic02:50
wallyworldas it doesn't make sense anymore02:50
* axw nods02:50
axwwallyworld: can you please add a NOTE comment on the Jujuc struct02:50
wallyworldaxw: i just finished deploying my gitlab charm - app status is set to active as it should be so it all works end-end02:50
axwwallyworld: sweet :)02:50
wallyworldwill add comment02:51
thumperaxw: understood03:00
wallyworldaxw: i added juju-log hook command, just a simple port. not urgent https://github.com/juju/juju/pull/817203:42
axwwallyworld: LGTM03:44
wallyworldta03:44
babbageclunkwallyworld: might be a silly question: but can the API server send requests to the agents?04:09
wallyworldbabbageclunk: it's all one way from agent -> api server04:10
wallyworldagents do start watchers which are long running connections04:10
babbageclunkwallyworld: ah - I was confused by the code in rpc/conn.loop that handled the header being a request or a response. But I think that's shared between the client and server, isn't it/04:12
babbageclunk?04:12
babbageclunkin rpc/server.go04:12
wallyworldmaybe, not sure. i'm not 100% across that code04:12
wallyworldi could guess but that would be bad04:13
babbageclunkok, I think I get it.04:14
wallyworldok04:15
wallyworldaxw: this adds some more needed apis, no rush https://github.com/juju/juju/pull/817305:09
wallyworldaxw: thanks for review, i replied to comment06:50
wallyworldaxw: i'll need to debug a bit - it seems when we invoke the config-get hook tool, we always get empty config - the tool runs without error so it may be that the config is not being recorded in state. have you seen that behaviour at all?07:19
axwwallyworld: nope, but I had logging in there which I tested07:21
axwwallyworld: i.e. the "application config changed" log message07:21
wallyworldaxw: yeah, in a hook, i call hookenv.config() and it's empty sadly07:21
wallyworlddebug time07:24
=== frankban|afk is now known as frankban
axwwallyworld: hookenv.config() is showing the config for me07:36
wallyworldaxw: a reactive charm?07:36
axwwallyworld: I dpeloyed gitlab, then ran "juju config gitlab gitlab_image=foo"07:36
axwwallyworld: yup, not that it should matter07:37
wallyworldhmmm07:37
wallyworldfor me hookenv.config() is empty07:37
wallyworldi'm not setting ny config explicitly07:37
wallyworldi'm relying on defaults07:38
wallyworldwhich i thought were sent as config values07:38
axwwallyworld: ah. it does appear to be empty by default, which seems like a bug07:38
wallyworldmaybe not07:38
wallyworldaxw: yeah, i'm thinking a bug in caas models07:38
axwwallyworld: I suspect we're not populating the application's settings properly07:38
wallyworldaxw: there's also an issue with container-spec-set that i'm seeing07:39
wallyworldfixing that one first07:39
axwwallyworld: fixed in my PR07:39
axwwallyworld: assuming you mean the order being reversed07:39
axwwallyworld: https://github.com/juju/juju/pull/817407:39
wallyworldlet me look07:39
wallyworldaxw: yeah, ooops, that's the bug07:42
wallyworldaxw: lgtm. i've got a charm which should hopefully work (once we get the config stuff fixed)07:49
axwwallyworld: cool08:12
axwwallyworld: can't add units yet, that's the next step08:12
axwwallyworld: starting to look into that08:12
=== frankban is now known as frankban|afk
wallyworldaxw: we can debug tomorrow - when i deploy my charm, it is setting the spec now, but the container spec watcher is not notifying, so the unit worker is not creating the pod09:21
axwwallyworld: probably because you have no units?09:54
axwwallyworld: I have it working here09:54
axwwallyworld: I had to make changes in state so that units can be added to a CAAS app09:54
wallyworldaxw: ah right, i forgot about that; i thought we created one but forgot we don't09:54
wallyworldso it's just the config issue09:55
wallyworldaxw: also, i'm mulling over whether we should provide the reactive key value store via a hook tool (similar semantics to model-config where a single CLI cmd is used to set or reset values). that way we get caching via the context and also the connection boilerplate back to the controller all taken care of easily10:01
axwwallyworld: yeah, that does sound like a good reason to use a hook tool. or at least going through the operator agent as an intermediary; it could still be an API10:10
axwCLI is probably fine tho10:11
wallyworldCLI is easiest to hook up at the moment i think10:12
wallyworldless messing about with  python etc10:12
=== frankban|afk is now known as frankban
mupBug #1727507 changed: [2.3] rationalize offer commands <docteam> <juju:New> <https://launchpad.net/bugs/1727507>11:36
mupBug #1721555 changed: juju run tries to reach manually added machines through private IPs instead of public <juju-core:Won't Fix> <https://launchpad.net/bugs/1721555>12:00
mupBug #1733968 changed: virtual IP addresses should not be registered <sts> <juju:New> <juju-core:Won't Fix> <https://launchpad.net/bugs/1733968>13:30
=== frankban is now known as frankban|afk
hmlwallyworld: i have a pr up - just ignore for now, it’s going to change :-)21:28
wallyworldhml: is your PR ready for review?23:12
hmlwallyworld: pushing the updates now23:13
wallyworldok23:13

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