/srv/irclogs.ubuntu.com/2014/07/01/#maas.txt

=== vladk|offline is now known as vladk
=== CyberJacob|Away is now known as CyberJacob
=== vladk is now known as vladk|offline
=== vladk|offline is now known as vladk
=== gmb is now known as breakum-binns
rvbabigjools: I think the logic inside reserve() (w.r.t. your branch api-reserve-user-ip) should be done inside a form.  Better encapsulation = easier testing, easier reuse (in the UI someday).09:33
dimiternhey guys09:52
dimiterni've just filed a wishlist bug for an api/networking changes juju needs from maas09:52
dimiternhttps://bugs.launchpad.net/maas/+bug/133621709:52
ubot5Ubuntu bug 1336217 in MAAS "MAAS should always create a default private network all nodes are on" [Undecided,New]09:52
breakum-binnsjtv, allenap, rvba: In the case of guess_server_address(), what do we want to do when an interface has multiple addresses?10:05
=== breakum-binns is now known as gmb
gmbGrr10:05
* gmb looks at the usage…10:06
bigjoolsrvba: I knew you were going to say that10:06
gmbEmphatically not, actually…10:06
jtvgmb: it might be best to prefer IPv4 if there is an IPv4 address, and use an IPv6 address otherwise.10:19
gmbjtv: Right, that’s what I think too.10:20
jtvThere's not all that much we can, or need to, do about policy on top of that.10:20
gmbAgreed. Thanks.10:20
dimiterngmb, jtv, bigjools, what do you think about that bug? ^^10:23
gmbdimitern: “As the Juju networking model gets closer to completion, we realized for it to work with MAAS, some changes are needed:” Doesn’t look very wishlist :)10:24
dimiterngmb, it's not :) but usually such bugs get triaged as wishlist10:25
jtv"Should"10:25
gmbdimitern: Ah, cynicism :) You’re learning…10:26
bigjoolsdimitern: "Juju model assumes..."  There's your bug.10:26
gmbjtv: I noticed that too.10:26
dimiternbigjools, we have a fallback for uncooperative providers or those yet to implement a way to discover the default private network - using 0.0.0.0/0 as CIDR10:27
jtvdimitern: the bug isn't very clear to me... it's all things you want us to do, which may or may not fit with maas design.  Better to start with what the actual problem is.10:27
dimiternbut that kinda sucks and it's best to avoid it10:27
bigjoolsdimitern: this is bare metal, it cannot conjure a network like you can in openstack10:27
dimiternbigjools, jtv, so let me try to explain10:28
bigjoolsand what jtv said - please state the problem, not the solution :)10:28
dimiternbigjools, jtv, you always *have* at least one network all nodes are on and get their IPs for br0, right?10:28
bigjoolsit depends on how the network admin configured it10:29
jtvI don't know about br0, but all allocated nodes will be on a network.10:29
bigjoolsnot necessarily the same network10:29
dimiternjtv, right - the request is to make this explicitly accessible over the API10:29
bigjoolsthis is why networks are a placement constraint10:29
jtvMake what exactly accessible over the API?10:29
jtvWhat aspect of the networks?10:29
dimiterni can simulate this now but creating a network with the same CIDR  MAAS uses for the instances' IPs10:30
dimiternand connect each node's primary interface's mac to it10:31
dimiternthen, i can use the api to get that network's info from maas10:31
AskUbuntu_Adding Nodes to MAAS without internet connection | http://askubuntu.com/q/49029710:31
jtvCan we take a step back and go into what the assumption is that juju needs to be able to make?10:32
dimiternbigjools, jtv, so all i'm asking is for better ux, maas to create this network automatically10:32
jtvWow, I didn't get that from the bug report.10:32
bigjoolsdimitern: maas is unable to make physical networks automatically10:32
jtvI think this means "discover networks automatically."  Right?10:32
dimiterni'm not talking about *creating* networks, just *describing* what's already there10:33
bigjoolsthere is an api for that then :)10:33
bigjoolsanyway I am EOD10:33
dimiternbigjools, have a good evening then :)10:34
jtvdimitern: so is what you want simply "automatically discover networks"?10:34
dimiternjtv, ideally, yes10:34
bigjoolsdimitern: thanks :10:34
bigjools)10:34
dimiternjtv, but we don't need all of them to be created automatically, just the default one10:34
jtv"The default" is hard to tell... there may be several.10:35
dimiternjtv, so that juju can know what IP range instances get their addresses from and what network id to use when starting instances10:35
jtvYou can use the API to see what networks are available.10:36
jtvIncluding IP ranges.10:36
jtvRight?10:36
dimiternwe're moving towards being explicit about networks, without breaking the UX (now we just assume there is a private and perhaps public network, we just don't know for sure)10:36
dimiternjtv, right, but if the admin did not create any networks, while in fact there is at least one10:37
dimiternjtv, juju won't know about it and must resort to some ugly hacks10:37
jtvWell what you need for this is the NodeGroupInterface class.10:37
jtvIts naming suffers from Legacy, but the information is already available.10:38
dimiternjtv, let me check that quickly10:38
jtvUnder nodegroups/<uuid>/interfaces/10:38
dimiternjtv, great! it seems that's what juju needs - we can list what interfaces are there in a nodegroup, and assume there is always at least one node group, possibly named default?11:29
dimiternerm.. named with some random uuid11:35
rvbadimitern: right, there is always at least one nodegroup;  so you can always fetch the list of get the first one.11:42
dimiternrvba, does maas distribute instances by default across node groups? (i.e. when starting an instance without placement specified)11:43
rvbadimitern: no, when there are multiple matches, one at random is selected.11:44
dimiternrvba, and more importantly, are all node groups' primary network interface (eth0) guaranteed to be on the same subnet?11:44
dimiternrvba, right, ok11:45
rvbadimitern: there is no guarantee, remember this is a view of existing physical networks.11:45
rvbaBut of course, if you want your nodes to be able to talk to each other, you need proper routing setup.11:45
dimiternrvba, that's what I thought yeah11:46
jtvdimitern: the admin gets to choose what networks there are, and on which clusters.  Each cluster can manage multiple networks.  A network can only be managed by one cluster.11:46
dimiternrvba, so for all sane deployments we can assume nodegroups are on the same (or mutually accessible) subnets11:47
dimiternaah11:47
dimitern"a network can only be managed by  one cluster", means for Juju different clusters can be like different  regions/AZs11:48
dimiternthis might have some interesting implications..11:51
jtvCould be.  Though we also have "physical zones" which are not tied to the topology in any way.11:51
jtvBut you can think of a maas of "containing" a set of clusters (a.k.a. nodegroups), and each of those "containing" some networks.11:51
jtvThis doesn't tell you which networks actually have nodes, of course.  To do that, I think you'd have to match node IP addresses to networks.11:52
jtvUnfortunately we have two kinds of network that still live completely separate lives: "nodegroupinterfaces" are basically network definitions, with optionally the settings to control a DHCP server on that network.  And "networks" are user-defined entries that are only used for constraints.11:53
jtvYes, we would like to unify those — but that'd take time to do, so has to be scheduled in.11:53
dimiternthanks for the detailed explanation jtv12:05
dimiternit definitely helps me to understand the internals and map them better to juju's model12:06
=== Solution-X is now known as Solution-X|AFK
=== vladk is now known as vladk|offline
=== karltk_ is now known as karltk
=== jfarschman is now known as MilesDenver
jtvI wonder how I tell South to add a required field whose value defaults to another field's value (with perhaps a backstop for blanks).14:18
jtvThe only way I can think of so far is:14:18
jtv1. Schema migration to add field, but optional.14:18
jtv2. Data migration to populate field.14:18
jtv3. Schema migration to make field required.14:18
jtvrvba, any ideas?  ^14:23
jtvAh, this blog post has advice: http://www.brankovukelic.com/2013/02/south-migration-with-dynamically.html14:30
jtvBasically "lie to South."14:30
rvbajtv: the solution with the data migration seems good to me.  (I think we've done that in the past.)14:48
jtvLooks like I can combine migrations.14:49
=== vladk|offline is now known as vladk
jtvArgh.  WHY does the NodeGroup constructor still create a NodeGroupInterface?  Now there are two parameters called "name"!15:25
lufloresHi all, is there is a way I have a managed interface with DHCP that I can nailed the IPs that particular MAC ?15:34
lufloresI want to have a deterministic way to assign IP address via DHCP15:34
=== luflores is now known as Caguax
schegi_someone here who cloud help with an cloud-inint problem during machine boot??15:58
jtvschegi_: smoser is the one who knows about cloud-init.  Doesn't seem to be here just now though.16:02
schegi_actually maybe some already encounter this issue. i got a maas master installend and then a juju node bootstrapped. when i now change the network settings on the juju knode. especially changing the main interface (putting it into a bond) manually and then reboot the system it always stucks for a couple of minutes in cloud-init-nonet[16.98]16:05
schegi_Finally it aborts with cloud-init-nonet[136.98]: gave up waiting for a network device. But afterwards all networks are up and the machine is reachable16:05
=== vladk is now known as vladk|offline
=== matsubara is now known as matsubara-lunch
schegi_jtv, any idea where else i can ask for a solution. to me it seems like cloudinit still tries to do something with the old interface and that just does no work.16:23
lutostagdoes trusty maas support installing utopic as a deployment distro yet?16:49
jtvschegi_: it does sound like it...  people in #juju would know more about how juju drives cloud-init.16:56
jtvlutostag: I don't think we've tried that yet, but you'd have to import images with the "daily" label.16:57
lutostagjtv: thanks, I thought all I would need is the correct streams16:58
jtvYou need the right stream, but then AFAIK we only import releases by default.17:01
=== vladk|offline is now known as vladk
=== gmb is now known as breakum-binns
=== jfarschman is now known as MilesDenver
=== jfarschman is now known as MilesDenver
=== breakum-binns is now known as gmb
=== vladk is now known as vladk|offline
=== CyberJacob is now known as CyberJacob|Away
=== jfarschman is now known as MilesDenver

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