/srv/irclogs.ubuntu.com/2017/02/23/#juju-dev.txt

wallyworldaxw: when you get back online, if you have a chance pretty please https://github.com/juju/juju/pull/702101:44
axwwallyworld: swap you? :) https://github.com/juju/juju/pull/701501:47
wallyworldsure01:47
axwwallyworld: not a very fair trade, except that you've reviewed most of that PR before01:50
axwmight be long enough ago that you've forgotten it though01:51
axwwallyworld: it can wait a bit if you're busy01:51
wallyworldaxw: tis ok, yours is +500/-200, mine is +700/-70, about the same really :-)01:51
axwwallyworld: yeah, yours is a lot of boilerplate though :)01:52
wallyworldit is, i wish we didn't need so much of that01:52
redirat least it is sturdy if not reusable:)01:54
wallyworldaxw: yeah, i started to remember the code once i read the PR. LGTM, I'm just ducking out to get lunch02:07
axwwallyworld: thanks02:07
thumperanyone https://github.com/juju/juju/pull/702202:19
babbageclunkwallyworld - did offer-name just go away on remote applications?03:05
babbageclunkwallyworld: (Where "just" = in the last day or so.) I have it on my description and now can't see why I added it.03:08
wallyworldbabbageclunk: nothing has changed in the last day or so03:24
wallyworldbabbageclunk: the state object still has it - but it may not always get set03:26
wallyworldyet03:26
babbageclunkwallyworld: but there's no offer-name field in the remoteApplicationDoc?03:29
wallyworldbabbageclunk: line 34 of remoteapplication.go03:30
wallyworldin state03:30
babbageclunkwallyworld: should I be working against 2.1 or develop?03:31
wallyworlddevelop!03:31
wallyworld2.1 is for hosted juju beta and container networking only03:31
babbageclunkwallyworld: gah, that'll be it. Sorry, was losing it there.03:32
wallyworldno wuckers03:32
babbageclunkhey veebers raised bug 1667172 for adoptresources on GCE - I'll jump on that once I finish this, ok?03:35
mupBug #1667172: Migrated model fails to be removed from list-models in GCE <ci> <gce-provider> <model-migration> <juju:Confirmed for 2-xtian> <https://launchpad.net/bugs/1667172>03:35
wallyworldsure ty03:36
wallyworldaxw: i'm hopeless at names, but i sort of did have the same hesitation. Perhaps "networkmanager" or "networks"03:36
axwwallyworld: remotenetworks? it's meant for access by a remote model only right?03:38
wallyworldyeah03:38
wallyworldbut it could point to a local model also03:38
axwwallyworld: local as in local to the controller?03:38
wallyworldyeah, it could (nothing stops it). but the intended usage is to go to a remote model03:39
axwwallyworld: I don't think we need to make a distinction there, as long as they can auth03:39
wallyworldright, hence just "networks" rather than remotenetworeks03:39
wallyworld"remoterelations" is so called because the objects are remote relations03:40
axwwallyworld: I meant remote as in cross-model, rather than cross-controller03:40
wallyworldi think we're in violent agreement?03:40
wallyworld"networks" reflects the semantics of the facade, not where it might point to03:41
axwwallyworld: I just want the name to convey the limited scope03:41
axwwallyworld: I guess networs is OK. maybe get jam's opinion later03:41
axwnetworks*03:41
wallyworldok. you can give the a facade any model api connection and it will operate against that model (in any given controller) regardless of the model against which the worker is running03:42
axwwallyworld: yes, I know. but the name we give might suggest that you could do more than you should be able to. people have a tendency to chuck unrelated functionality together, and an uninformative name makes that more likely to happen03:44
wallyworldin the remoterelations worker, we define an RemoteRelationChangePublisher interface - the semantics is that it publishes changes to a remote relation entity, and just so happens to do so to the model connection which it is given, which will be a different model to the worker03:44
wallyworldi agree we can tend to lump stuff together03:45
wallyworldi'll get confirmation on the name03:46
wallyworldassume "networks" for now03:46
anastasiamacaxw: wallyworld: 1 line trivial :D https://github.com/juju/juju/pull/702304:35
axwanastasiamac: LGTM04:36
anastasiamacaxw: \o/04:38
wallyworldaxw: i'm relocating before next meeting, have pushed changes to that PR whenever you have a chance04:43
axwwallyworld: thanks, looking04:44
wallyworldta04:44
wallyworldbbiab04:44
wallyworldjam: with a new facade to provide WatchSubnets(), and also IngressSubnetsForRelation() which I will be moving off the RemoteRelationFacade, do you like the name "Networks" for the facade?05:58
jamwallyworld: hi. offhand "Networks" seems way to generic. I like having it have "Remote" in the name, to mean "these are the type of queries something that is not 'native' to this model can access"06:35
wallyworldjam: but that's not the semantics offered by the facade06:35
jamit wouldn't have to be Remote, but we certainly do consider CMR to have workers that think about their "own" model and a "different" model06:35
wallyworldWatchSubnets() just watches subnets on a model06:36
wallyworldany model06:36
wallyworldthe model it watches is defined by the connection it is given06:36
wallyworldjust like any other facadde06:36
wallyworldwe dure do have many other generic facade names too :-)06:38
wallyworld"charms", "machine", "spaces"06:39
jamwallyworld: but the *intent* is to offer a restricted subset06:39
jamelse we end up with lots of things piled into the facade06:39
jambecause the local stuff wants it06:39
jambut we shouldn't let remote stuff see it06:39
wallyworldthat's what an authorizer is for06:39
jamwallyworld: generally we try to group things on a Facade that act similarly06:39
wallyworldsure06:39
jamwallyworld: we have followed the pattern to date that a worker matches a facade06:40
wallyworldmany workers use > 1 facade06:40
jamwallyworld: I'd worry about "these 2 methods are useful for this kind of thing, but these 4 are for other things"06:40
wallyworldif we expect worker to facade to be 1:1 that is plain wrong IMO06:40
wallyworlddifferent layers06:40
jamwallyworld: what workers concretely use >1 facade, we generally have merged 'common' functionality to provide facade groupings06:41
jamthat's why lots of facades embed some sort of "common.Lifer" etc06:41
wallyworldremote relations worker is one06:41
wallyworldenforcing worker to facade to be 1:1 romotes big ball of mud06:42
jamwallyworld: so "remote" concretely *has* to use 2 facades because you're talking about 2 models06:42
wallyworldfacades should be cohesive. not kitchen sink06:42
jamwallyworld: "this is the collection of APIs that are useful for X" is not a ball of mud06:42
wallyworldno, it uses 2 facades because of semantics06:42
jamit actually concretely splits things up for each worker06:42
wallyworldnot due to which models are connected to06:42
wallyworldit is a ball of mud when the apis have no semantic grouping06:42
jamwallyworld: the semantic grouping is the functionality of the worker they are providing06:43
wallyworldi guess we differ on what the layering strategy is06:43
wallyworldthat's where i diagree06:43
jamwallyworld: so, by all means we can discuss it at Tech Board level, but I *do* think its how we've done the code to date06:44
wallyworldnot me :-)06:44
wallyworldi guess we've all gone down different roads06:44
wallyworldwith no common direction06:44
jamso other than RemoteRelations, what other workers?06:45
wallyworldi'd have to check, maybe i'm over estiating06:45
wallyworldbut I don't want to add these network apis to the firewaller facade06:45
wallyworldthey are for network related semantics06:45
jamwallyworld: they don't belong there if they are talking about the remote side06:46
wallyworldnot opening api ports etc06:46
jambecause you *shouldn't* have access to all the other things firewaller needs from the remote side06:46
wallyworldthey don;t belong there if the semantics differnot due to the model they talk to06:46
wallyworldthose re orthogonsl concerns06:46
jamwallyworld: IMO, there should be the group of things that you talk about to your local model, and a group of things that you talk about to the remote model06:46
jamclustered by the worker that needs them06:46
jamand shared via a "common" directory that can be embedded06:46
wallyworldthe remote relations facade is named after the domain object it operates on, not the type of model06:47
wallyworldjust a btw06:47
jamwallyworld: we *definitely* moved away from having a Machine facade and a Unit facade and everything exposed by domain object06:48
wallyworldnot necessarily by domain object - IMo groupings are by semantics06:49
wallyworldwhich sometimes but not always correlate somewhat with domain object06:49
wallyworlddeployer worker uses 2 facades06:51
wallyworldas does machiner06:53
wallyworldand upgradesteps06:54
wallyworldjam: so i don't get blocked with arguing about names, if I used the name "remotenetworks" for now, I could land and also fix later if needed?06:56
wallyworldi have work queued up behind this PR06:57
=== frankban|afk is now known as frankban
anastasiamacaxw: wallyworld: nice and easy one plz :D https://github.com/juju/juju/pull/702508:22
axwanastasiamac: looking08:23
axwwallyworld: I'm getting a lot of noise in my logs from the firewaller saying that RemoteRelations is not implemented08:51
axwwallyworld: the worker is bouncing because I don't have the feature flag set08:51
perrito666morning all10:01
wallyworldaxw: damn, ok will fix in current pr as a driveby before landing11:39
jammorning perrito66612:19
jam(bit delayed :)12:20
=== mup_ is now known as mup
=== mup_ is now known as mup
=== mup_ is now known as mup
=== mup_ is now known as mup
=== mup_ is now known as mup
=== mup_ is now known as mup
redirmorning juju-dev16:25
redirmorning perrito66616:25
perrito666redir: morning16:26
=== mup_ is now known as mup
joedborghello all.  does anyone know if there's a juju command to monitor which set_states are being called in real time?16:39
=== mup_ is now known as mup
jamanyone feel comfortable reviewing a patch against gomaasapi?16:46
jamhttps://github.com/juju/gomaasapi/pull/6316:46
=== mup_ is now known as mup
=== mup_ is now known as mup
=== mup_ is now known as mup
=== mup_ is now known as mup
=== mup_ is now known as mup
redirjam looking17:36
=== frankban is now known as frankban|afk
mupBug #1667419 opened: Juju 1.25.10 non-HA cpu/ram usage spike (can't apply changes to env) <canonical-bootstack> <juju-core:New> <https://launchpad.net/bugs/1667419>18:17
redirjam done18:39
redirperrito666: does this https://pastebin.canonical.com/169528/ look falmilar? Did you do something with that?18:39
perrito666looking18:40
perrito666I did not do anything about it, it is not a bug except for the bad error message18:41
perrito666the error message shouhld say that the user used to be there but is no more18:41
redirperrito666: the error on line 7?18:42
redirand 43?18:42
rediror one of the other error messages?18:42
perrito666both18:42
redirpermission denied?18:43
perrito666also that should perhaps not be permission denied but user deleted18:43
redirOK18:43
redirperrito666: or diabled if that is the case, yes?18:43
redirs/disabled18:43
perrito666no, its not disabled18:49
perrito666because you cant re-enable it18:49
redirhmm18:50
perrito666redir: note that there is a disable command too18:52
jamperrito666: btw, redir has been active working with KVM and might be another person who could investigate https://bugs.launchpad.net/juju/+bug/166619819:20
mupBug #1666198: Juju doesn't disable dhclient in KVMs <juju:Triaged> <https://launchpad.net/bugs/1666198>19:20
jamor at least give some advice19:20
jamredir: for context, when we deploy a KVM container, we allocate a static address from maas, and get it configured for the interface in the container19:21
jambut it appears that we still have dhclient running19:21
jammeaning it only keeps its static address until the lease times out19:21
rick_hjam: we had that issue with lxd in the path as well I thought19:22
jamrick_h: we inject /e/n/i before lxd containers are up via the "push file" api19:22
jam(assuming you mean past rather than path)19:23
rick_hjam: ah, I might be thinking of https://bugs.launchpad.net/juju-core/+bug/157914819:24
jamrick_h: so they come up first time with the right settings (AFAIK), certainly ante concretely didn't have problems with lxd containers, and did with kvm19:24
mupBug #1579148: dhclient needs reconfiguring after bridge set up <network> <juju:Fix Released by dooferlad> <juju-core:Fix Released by dooferlad> <juju-core 1.25:Fix Released by dooferlad> <https://launchpad.net/bugs/1579148>19:24
redirjam: tx for the details.20:32
redirperrito666: yeah I'm aware of disable-user20:34
redirperrito666 jam I never had to go too deep into the network bits, but I think that happens at container/kvm/kvm.go:CreateContainer where we call containerinit.WriteUserData20:48
redirwhich eventually calls cloudconfig/containerinit/container_userdata.go containerinit.newCloudInitConfigWithNetworks20:49
thumpermorning20:51
redirmorning thumper20:51
redirjam perrito666 http://paste.ubuntu.com/24055218/21:03
perrito666redir: I am sure that makes sense to you21:07
* perrito666 reads backlog21:07
redirperrito666: sorry that is the generated cloud-init for a kvm container21:08
redirwhich is created in the above noted locations21:08
redirhopefully that is helpful21:08
redir:)21:08
perrito666redir: tx man21:08
redirnp21:08
rick_hperrito666: or wallyworld up for a hand?21:50
perrito666rick_h: trapped in a call vortex21:52
rick_hperrito666: understand21:52
redirwhatsup rick_h ?22:06
rick_hredir: I'm trying to figure out some api-isms22:11
rick_hredir: I've gotten part way but not happy with what I've got22:11
redirrick_h: which api?22:12
rick_hredir: things around the ModelManager apis22:12
rick_hredir: especially around uuids vs model names and such22:12
* redir puts on his rubber duck hat22:13
rick_hhah22:13
redirand22:13
rick_hI want to deal with model names but can't figure out how to get a uuid from that w/o making an api call that needs a model tag which is a uuid-based tag22:13
redirso you have a model name and you want to get a uuid for it22:15
redir?22:15
rick_hredir: yes22:15
rediris this from the gui or in core?22:15
rick_hredir: this is in python against the core ai22:16
rick_hapi22:16
rick_hredir: e.g. atm I'm calling ModelList, looping through the results, and loading the uuid when the name matches something I found22:16
wallyworldrick_h: hey, sorry, was making coffee22:17
rick_hwallyworld: all good, very important coffee22:17
rick_hwallyworld: want to have our chat today?22:17
wallyworldsure22:17
wallyworldnow?22:17
rick_hsure22:18
* redir wanders off22:20
babbageclunkthumper, wallyworld: could you guys look at https://github.com/juju/description/pull/1 ?22:48
wallyworldbabbageclunk: in release call, will look soon22:48
babbageclunkwallyworld: Oh, I guess you're both in there. Ok, thanks22:48
wallyworldbabbageclunk: thumper isn't here :-)22:49
babbageclunkwallyworld: yay thanks, I'll chase thumper more assiduously22:50
babbageclunkhmm, not quite the right word but fun to say22:51
* thumper ran to physio23:40
perrito666ok, I completely forgot where upgrade steps live, someone?23:44
axwperrito666: "upgrades"23:56
axwgithub.com/juju/juju/upgrades23:56
perrito666found it23:56
perrito666its nice and clean, only 3 versions23:56
perrito666meh, we are still calling the state functions, how sad23:57

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