[06:24] <bigjools> jtv: I still haven't worked out where to put my API endpoints for IP allocation.  Sending an email to the list to talk about it.
[06:25] <jtv> There is an added niggle: IPv6.  We can't really keep identifying an NGI by cluster plus network interface name.
[06:26] <bigjools> jtv: does ipv6 make a new interface?
[06:26] <jtv> It's going to have to — a single NIC may be attached to multiple networks.
[06:27] <bigjools> yes
[06:27] <bigjools> jtv: so this is just a NIC alias?
[06:27] <bigjools> for which I added support recently ;)
[06:27] <jtv> What is?
[06:27] <bigjools> doesn't help cluster interfaces though
[06:28] <jtv> A NIC can be directly on multiple networks now, without aliasing.
[06:28] <bigjools> how is that represented to the user?
[06:28] <bigjools> assuming ipv4 is eth0
[06:28] <jtv> Then you've also got eth0 on one IPv6 network, and eth0 on another IPv6 network, but they're all IPv6.
[06:29] <bigjools> does it create multiple interfaces for each?  like eth0:1, eth0:2 ?
[06:29] <jtv> No, they're all one network interface.
[06:29] <jtv> If you're talking about _cluster_ interfaces, then we'll have to create multiple, yes.
[06:30] <bigjools> jtv: no I mean, if I havea machine which has an ipv6 and an ipv4 interface on the same NIC, how do I see that?
[06:30] <bigjools> what interfaces are present?
[06:31] <jtv> Are you talking about network interfaces or cluster interfaces?
[06:32] <bigjools> jtv: ignore maas for now
[06:32] <bigjools> on an actual machine
[06:32] <jtv> So network interfaces.
[06:32] <bigjools> yes
[06:32] <jtv> Then like I said: you get one network interface, which has one IPv4 address, plus any number of IPv6 addresses.
[06:33] <jtv> Generally you'll have a few IPv6 addresses on network A,
[06:33] <jtv> and a few IPv6 addresses on network B,
[06:33] <jtv> and so on.
[06:34] <bigjools> jtv: so you still just get eth0?
[06:34] <jtv> Yes.
[06:34] <bigjools> (for example)
[06:34] <jtv> No aliasing.
[06:34] <bigjools> ok
[06:34] <jtv> Just lots of addresses.
[06:34] <bigjools> that's a little bizarre
[06:35] <jtv> It's a data modeler's nightmare.
[06:35] <bigjools> so presumably the output from ifconfig shows multiple addresses?
[06:35] <jtv> Yes.
[06:35] <bigjools> yegads
[06:35] <bigjools> this is *horrible*
[06:35] <jtv> A bit.
[06:36] <jtv> But I think we'll be able to deal with it.
[06:36] <jtv> The big known problem is cluster interfaces.
[06:37] <jtv> A cluster interface is tied too closely to a network interface.  It's really a "managed network."
[06:37] <jtv> So in my ideal dream world, I'd make it a relationship between a cluster and a network, with added attributes for managing DHCP.
[06:38] <jtv> However the API currently identifies the silly thing by its network interface name.
[06:38] <bigjools> jtv: some of my proposed modelling changes for static IPs did this
[06:39] <bigjools> not implemented yet but the door is open
[06:39] <bigjools> we should move the net info out of NGI and FK to Network
[06:39] <jtv> Yes.
[06:39] <cobradevil> hi
[06:39] <bigjools> it's in the google doc, if you read that
[06:39] <bigjools> hello
[06:40] <cobradevil> i have a problem using maas without internet connection
[06:41] <cobradevil> i have setup a maas instance with an internet connection and imported pxe and ephemeral images
[06:42] <cobradevil> now i copied /var/lib/maas/tftp and /var/lib/maas/ephemeral internally and i can add nodes and commision them
[06:42] <cobradevil> but i always get tests failed
[06:42] <bigjools> commissioning downloads packages from the archive
[06:43] <bigjools> so you need to set up an archive mirror, or a proxy to one
[06:43] <jtv> You should be able to work around it by commissioning one node while still online, to prime the caching proxy, I think.
[06:43] <cobradevil> i have an internal mirror available but there is an open bug using that
[06:43] <jtv> Ah yes, the commissioning script fails to use that.  Drat.
[06:43] <bigjools> ah yes
[06:43] <bigjools> patches welcome :)
[06:44] <jtv> Another thing we might not have to do with IPv6, where the ip neighbours list will show your routers...
[06:44] <jtv> The obstacle is in passing the proxy setting to the node.
[06:45] <jtv> Dustin mentioned this in Austin.
[06:45] <cobradevil> i have worked around it by openening the disk.img and edited the cloud.cfg
[06:46] <bigjools> you should be able to edit a preseed and inject the proxy
[06:46] <cobradevil> is there a way to block the poweroff so i can troubleshoot the image?
[06:47] <bigjools> there is but I can't recall how
[06:47] <cobradevil> the block-poweroff in /tmp does not work
[06:48] <bigjools> I think you can edit curtin_userdata
[06:48] <bigjools> oh wait you said commissioning
[06:49] <cobradevil> yes or should i use the fast installer
[06:49] <cobradevil> for the record i use precise maas with the cloud-archive ppa
[06:49] <cobradevil> so running maas 1.4 now
[06:49] <bigjools> ok
[06:50] <jtv> Yes, use the fast installer.
[06:50] <bigjools> not sure if 1.5 is available on the cloud archive yet
[06:50] <jtv> Some of this stuff gets easier in 1.5: the UI will show the output from commissioning steps.
[06:51] <bigjools> cobradevil: the block-poweroff is more of a wait-60-seconds-then-poweroff
[06:52] <cobradevil> bigjools: thanx for that. i can use the cloud-next with maas 1.5
[06:52] <bigjools> not sure if it works yet
[06:53] <bigjools> they had backport problems
[06:53] <bigjools> jtv: so, how are we going to identify a cluster interface now?
[06:53] <bigjools> it might mean we have to use network details
[06:53] <jtv> Exactly.  And using network addresses is going to be a pain.
[06:54] <bigjools> yep
[06:55] <bigjools> I am asking this precise question on the mailing list, feel free to follow up
[06:55] <bigjools> sending in a few minutes
[06:55] <jtv> We could invent our own syntax (yuck), accept that pain (ouch), or go with a surrogate key (eww)
[06:56] <bigjools> there is no good solution :)
[06:56] <bigjools> we could implement all of them and let the user decide
[06:56] <bigjools> api user, I mean
[07:03] <bigjools> jtv: ok email sent
[08:02] <bigjools> jtv: did you see it yet?
[08:03] <jtv> Nope.  Different traceback.
[08:03] <bigjools> jtv: the email!
[08:03] <jtv> Yes, saw it.  Got a follow-up in the works.
[08:03] <bigjools> cool
[08:05] <rvba> jtv: any comments about https://code.launchpad.net/~rvb/maas/rev-zone-generation-ipv6/+merge/224316 ?
[08:05] <jtv> Give me a minute!
[08:06] <jtv> Or several.  Can I have several?
[08:06] <bigjools> jtv: work faster!
[08:06] <bigjools> work harder!
[08:06] <jtv> It's not a competition, Julian.
[08:06] <jtv> :-P
[08:07] <jtv> rvba: it'd be nice to have a bit more explanation inside compose_zone_name about what you're computing and why.
[08:07] <bigjools> emprise moi
[08:11] <rvba> jtv: okay
[08:13] <jtv> Is the floating-point math not needed for the IPv6 version of that function?  No nibble splits?
[08:18] <rvba> jtv: good question, I'll look into it.
[08:19] <jtv> That's it from me, for that branch.
[08:20] <rvba> Okay, ta.
[08:27] <rvba> jtv: actually, the floating-point math is not needed for IPv6, because the reverse name of an IP is of the form: 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.4.0.1.f.1.0.8.a.b.0.1.0.0.2.ip6.arpa
[08:28] <jtv> Could you connect the dots for me?
[08:28] <jtv> Pretend that I've never worked out a reverse zone name.
[08:28] <jtv> Just for argument's sake.
[08:28] <jtv> You don't really have to believe it.
[08:28] <jtv> But it's true.
[08:29] <rvba> heh
[08:29] <rvba> So, we want to drop the part (in that reverse name) that corresponds to the IP addresses this reverse zone file will be populated with.
[08:30] <jtv> Right.
[08:31] <jtv> And the numbers between the dots in this case (unlike IPv4) are hex digits, right?
[08:31] <rvba> In IPv6 the reverse name is represented as hexadecimal digits separated by dot.
[08:31] <rvba> dots*
[08:31] <rvba> Exactly.
[08:32] <rvba> As a result, there is no need to split hairs/octets as in IPv4.
[08:32] <jtv> And the floating-point was to compute how many of those digits should be included in the reverse zone name?
[08:32] <rvba> Yep.
[08:32] <rvba> (I've added a comment about that.)
[08:32] <jtv> That might be worth mentioning in the comments.
[08:32] <jtv> Ah good.  :)
[08:33] <jtv> Are you implying that IPv6 only allows network sizes that are divisible by 4 bits?
[08:33] <jtv> Or is it that you're just not stripping off zero digits?
[09:13] <bigjools> rvba: did you try your experimental DNS branch with my new static ip code?
[09:13] <rvba> bigjools: I merged trunk into my branch yesterday and ran it in the lab.  With success.
[09:14] <bigjools> \o/
[09:14] <bigjools> try again today :)
[09:16] <rvba> okay :)
[09:17]  * bigjools EODs
[09:36] <rvba> jtv: you were right, the network size doesn't have to be divisible by 4 (although it seems this case would be a bit uncommon).  I've updated the code and added a test to cope with that.
[09:45]  * jtv chuckles
[09:46] <jtv> rvba: it would seem very weird to me, so I wouldn't particularly mind rejecting it in validation — but of course if it's easy to support, why not.
[12:17] <jtv> gmb: thanks for the dhcp notes...  I guess we'll also need separate configs & packaging?
[12:17] <jtv> Ah, configs is in there of course.
[12:41] <jtv> gmb: I fleshed out your notes some more.  Do you see anything wrong or missing?
[12:52] <gmb> jtv: Looking...
[12:53] <gmb> Or I would be if Google were letting me in.
[15:16] <blake_r> jtv: got another spurios failure
[15:16] <blake_r> jtv: https://code.launchpad.net/~blake-rouse/maas/opensuse-curtin-support/+merge/224344
[16:40] <AskUbuntu> MAAS JUJU cloud-init-nonet waiting for network device | http://askubuntu.com/q/488114
[20:30] <AskUbuntu> MAAS / Juju bootstrap - ubuntu installation stuck at partitioner step | http://askubuntu.com/q/488170