<div dir="ltr">Dean,<div><br></div><div>Would this fit Landscape's need for the address reservation API? </div><div><br></div><div>Thanks</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jun 25, 2014 at 3:03 AM, Julian Edwards <span dir="ltr"><<a href="mailto:julian.edwards@canonical.com" target="_blank">julian.edwards@canonical.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">We need to add some API support for obtaining new IPs, in the following<br>
scenarios:<br>
<br>
* Unmanaged devices - To claim a static IP for a particular MAC<br>
address; writes a DHCP map.<br>
<br>
* Extra node IP - To claim an additional static IP for another MAC (or<br>
NIC alias) on a node; writes a DHCP map.<br>
<br>
* User reservation - To claim an IP on a network for use outside MAAS;<br>
no DHCP map required, it just stops MAAS from using it<br>
<br>
I am currently trying to work out where best to place API endpoints for<br>
these operations. I think the "extra node IP" is easy, that will sit as<br>
an operation on the node endpoint.<br>
<br>
But the others are not so straightforward. To help understand, here's<br>
what parameters and return values are needed for each:<br>
<br>
Operation Parameters Returns<br>
--------- ---------- -------<br>
<br>
New Unmanaged Device MAC, cluster interface IP Address<br>
(admin only)<br>
<br>
New Reserved IP MAC, cluster interface, user IP Address<br>
<br>
(We also need to have list, read and delete operations, not listed here<br>
for brevity)<br>
<br>
Each of the "cluster interface" parameters are required so we know on<br>
which network the IP must be allocated. We have a few different ways to<br>
identify a cluster interface, some of which may be more or less<br>
appropriate depending on what the caller already knows:<br>
<br>
- the network details, e.g. N.N.N.N/bits (or ipv6 equivalent)<br>
- the cluster ID plus one of its NIC names (won't work for IPv6 I am<br>
told by jtv, he can explain)<br>
- the cluster ID plus some new surrogate identifier<br>
- invent our own new syntax<br>
<br>
None of these are particularly palatable.<br>
<br>
Depending on how we solve this identification issue will dictate the API<br>
endpoint. All comments welcome here!<br>
<span class="HOEnZb"><font color="#888888"><br>
J<br>
<br>
--<br>
Mailing list: <a href="https://launchpad.net/~maas-devel" target="_blank">https://launchpad.net/~maas-devel</a><br>
Post to : <a href="mailto:maas-devel@lists.launchpad.net">maas-devel@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~maas-devel" target="_blank">https://launchpad.net/~maas-devel</a><br>
More help : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Andres Rodriguez<div>Engineering Manager, HWE Team</div><div>Canonical USA, Inc.</div></div>
</div>