<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Hi Julian,</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="">
</div>The original design (as discussed on this list and design docs) was not to do<br>
this, but to give an IP when allocating the node to a user. This was so that<br>
(in the future) users can say things like "I want to use this VPN/bond IP" etc<br>
right from the start without wasting another IP. It's very hard for MAAS to<br>
be able to change the IP on demand for a machine that is already booted unless<br>
we go down the Azure road and run a MAAS agent on the nodes.<br></blockquote><div><br></div><div>I do agree with you that it is very hard to change the IP on demand, and this should not be considered as part of the DHCP work.</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
There is a separate mechanism to permanently assign an IP to a node if the<br>
admin wishes (the API for that is not coded yet but the underlying basics are<br>
in place). Is this what folks want now?<br></blockquote><div><br></div><div>I think that this is indeed something we want to be able to do. I think it is important for us to be able to assign an IP to a node's MAC address, so that when we configure things like bonding (in the future, or manually), we could choose what interface will be the default or the one answering ARP requests for the bond. We should be able to do this without even having the machine allocated to a user. (Only an admin should be able to do this).</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class=""><br>
> On Sat, Jul 12, 2014 at 9:55 AM, Mark Shuttleworth <<a href="mailto:mark@ubuntu.com">mark@ubuntu.com</a>> wrote:<br>
</div><div class="">> > I would suggest that once MAAS "owns" a machine, i.e. MAAS has PXE<br>
> > booted the machine itself (credentials work), it is given a name and<br>
> > static IP address which does not change unless edited by the user (it<br>
> > should be possible for the user to put it on a difference, unused IP<br>
> > address in the static range). Renaming the machine would update DNS,<br>
> > editing the IP would update DNS.<br>
> ><br>
> > This allows a user to "ping" a machine and see that it is off.<br></div></blockquote><div><br></div><div>I see benefits/advantages on doing this:</div><div><br></div><div>1. Having machines with pre-allocated addresses makes maintenance easier. Nodes will always have a DNS/IP address mapping, allowing the administrator to know IP addresses before hand, which eases maintenance.</div>
<div>2. Allows for network enumeration / mapping between machines, DNS names, MAC and IP addresses. (Allows administrators to select the interfaces to use for things like bonding, if the IP is assigned to an specific MAC)</div>
<div>3. MAAS will do less updating of DNS/DHCP mappings every time machines are powered on/off. At scale, we expect that many machines would be powered on/off, and having to update mappings when this happens might become costly (As an example, one of the drivers of DHCP changes was the fact that celery would consume 100% CPU when parsing DHCP leases, because they were read on real time. With this this wouldn't be the case as IP address would be previously defined and would not change unless done by the administrator).</div>
<div><br></div><div>Disadvantages</div><div><br></div><div>1. This is not a cloud-like approach.</div><div>2. We will be using IP address of a network range even if machines are powered off.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="">
<br>
</div>We can do this as things stand because if a user still "owns" a machine, it<br>
retains the static IP given at startup time.<br>
<br>
Or to put it another way, a machine that is supposed to be up will always have<br>
an IP. If you want to see whether it's really up or not we should probably do<br>
an API call to examine the power status (on the BMC); then if it's still not<br>
pingable you know there's a more serious problem.<br></blockquote><div><br></div><div>I think that we can keep the current approach on how MAAS is assigning IP addresses, however, as briefly discussed via IRC with Julian, we can have a Setting option that would change this approach to basically do the following:</div>
<div><br></div><div>1. Pre-allocate IP address to nodes that have successfully "commissioned".</div><div>2. Change the IP allocation to a different MAC address or a different IP address, allowing DNS mapping to be updated without having the allocate / turn on the machine.</div>
<div>3. We could potentially allocate multiple IP's to a node, each one to a different MAC addresses.</div><div><br></div><div>@James.</div><div>We would really like to hear your input.</div><div><br></div></div>-- <br>
<div dir="ltr">Andres Rodriguez<div>Engineering Manager, HWE Team</div><div>Canonical USA, Inc.</div></div>
</div></div>