<div dir="ltr"><div dir="ltr">On Thu, Dec 20, 2018 at 9:01 AM Jay Pipes <<a href="mailto:jaypipes@gmail.com">jaypipes@gmail.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 12/20/2018 08:47 AM, Curtis wrote:<br>
> On Thu, Dec 20, 2018 at 8:09 AM Jay Pipes <<a href="mailto:jaypipes@gmail.com" target="_blank">jaypipes@gmail.com</a> <br>
> <mailto:<a href="mailto:jaypipes@gmail.com" target="_blank">jaypipes@gmail.com</a>>> wrote:<br>
> <br>
>     On 12/20/2018 07:12 AM, Curtis wrote:<br>
>      > Hi,<br>
>      ><br>
>      > I've been looking through the docs I can find related to the edge<br>
>      > working group, and I'm wondering if there has been any<br>
>      > discussion/documentation of a Zero Touch Provisioning use case. I<br>
>     can't<br>
>      > seem to find anything, but I may not be looking in the right<br>
>     place. Just<br>
>      > wanted to double check and see what the current state is, if any.<br>
> <br>
>     I take it that by "zero touch *provisioning*" (emphasis added to<br>
>     differentiate from zero *configuration* networking, you are<br>
>     referring to<br>
>     the ability for a new server to be rack-and-stacked in a site, powered<br>
>     on, and immediately register itself with either a local inventory<br>
>     management system or a remote one?<br>
> <br>
> In this case, yes that is what I'm talking about, just the provisioning <br>
> aspect, and mostly related to the "edge" which in my case I usually <br>
> consider to be one or two physical servers (but that's just one use case).<br>
> <br>
> I'm a relatively new member of the StarlingX TSC and there is some <br>
> discussion about deployment models, of which ZTP would presumably be a <br>
> part, so I wanted to check in with the edge working group to see what's <br>
> been going on in that area if anything.<br>
<br>
I'm not involved in StarlingX so can't speak to that area.<br>
<br>
>     In either case, the issue I foresee is that the firmware (or initial<br>
>     boot/ramdisk that comes from the factory or supply chain team) will<br>
>     need<br>
>     to have some program installed in it that sends out a request looking<br>
>     for some known/assumed inventory management service [1]. The thing that<br>
>     *responds* to such a request would, of course, need to be already<br>
>     installed and available either on a switch or a pre-installed machine<br>
>     pingable on the out-of-band network and already configured by the team<br>
>     that handles hardware inventory.<br>
> <br>
>     I can see some vendors working on their own custom low-touch<br>
>     provisioning software -- and this software would likely end up<br>
>     depending<br>
>     on their own proprietary (or subscription-based) server software ala<br>
>     Red<br>
>     Hat's Satellite software [2]). But getting all the vendors to come<br>
>     together on a unified low-touch provisioning system? Chances are pretty<br>
>     slim, IMHO.<br>
> <br>
> Well, perhaps ONIE [1] is the best example. Switches that can run <br>
> multiple network OSes have pretty much standardized on it. But I don't <br>
> know if ONIE is the right example here, though it very well might be.<br>
<br>
ONIE looks interesting, thanks for the link. It does seem to be specific <br>
to network switches, though, not general compute hardware (or servers <br>
that need large root disks and partitioning). It seems to be kind of a <br>
custom TFTP server for network devices?<br>
<br>
Is ONIE something you're saying would be a solution for inventory <br>
management? Because I don't really see anything in there (or the scope <br>
of ONIE) about that...<br></blockquote><div><br></div><div>No, it doesn't do inventory management. It's like a small base OS for network switches, they come with it, boot up into it, and you can use it to install other OSes. At least that's how it's used with the whitebox switches I have. With ONIE it'd install the OS, then the initial OS could register with some kind of inventory system.</div><div><br></div><div>Thanks,</div><div>Curtis<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Best,<br>
-jay<br>
<br>
>     Still, it's an interesting problem domain and I'd be interested in<br>
>     sharing thoughts and discussing it with others. Here at<br>
>     "Yahoo!/Oath/Verizon Media Group/Whatever we'll be called next<br>
>     month" we<br>
>     have custom software (and a bit of custom hardware!) that handles base<br>
>     hardware provisioning and I'm definitely interested in seeing if other<br>
>     shops that handle hundreds of thousands of baremetal machines are<br>
>     looking to collaborate in this area ("edge" or otherwise!).<br>
> <br>
>     Best,<br>
>     -jay<br>
> <br>
>     [1] this could be done via some custom DHCPDISCOVER/DHCPREQUEST bits I<br>
>     suppose -- which would require a DHCP client in the<br>
>     firmware/bootdisk --<br>
>     but more likely would depend on the IPMI/BMC system in use for the<br>
>     hardware. As soon as IPMI/BMC comes into play, the extreme differences<br>
>     in OEM vendor support will rule out a generic workable solution here as<br>
>     many in the Ironic community will likely attest to [3]. If you can rely<br>
>     on a homogeneous set of hardware at edge sites, you might be able to<br>
>     put<br>
>     something together that just suits your company's need, however.<br>
> <br>
>     [2] <a href="https://www.redhat.com/en/technologies/management/satellite" rel="noreferrer" target="_blank">https://www.redhat.com/en/technologies/management/satellite</a><br>
> <br>
>     [3] <a href="https://github.com/openstack/ironic/tree/master/ironic/drivers" rel="noreferrer" target="_blank">https://github.com/openstack/ironic/tree/master/ironic/drivers</a><br>
> <br>
> <br>
> [1]: <a href="https://opencomputeproject.github.io/onie/" rel="noreferrer" target="_blank">https://opencomputeproject.github.io/onie/</a><br>
> <br>
> -- <br>
> Blog: <a href="http://serverascode.com" rel="noreferrer" target="_blank">serverascode.com</a> <<a href="http://serverascode.com" rel="noreferrer" target="_blank">http://serverascode.com</a>><br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature">Blog: <a href="http://serverascode.com" target="_blank">serverascode.com</a></div></div>