<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Alex,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">host-add will add a host of the specified personality (e.g. controller, worker, experimental edgeworker …) to the system/cluster. 
<o:p></o:p></p>
<p class="MsoNormal">The host may also be detected automatically and added to inventory when it attempts to pxeboot.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The added host will attempt to pxeboot the active image, which may be served from the controller;
<o:p></o:p></p>
<p class="MsoNormal">or in the case of edgeworker, the image would need to be already installed.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">After a host has been added, it is possible to reinstall the host, however, this will lead to the host’s disk being wiped.<o:p></o:p></p>
<p class="MsoNormal">host-reinstall is required only for certain exceptional host configuration changes as specified here:
<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><a href="https://docs.starlingx.io/deploy_install_guides/r5_release/bare_metal/reinstalling-a-system-or-a-host.html">https://docs.starlingx.io/deploy_install_guides/r5_release/bare_metal/reinstalling-a-system-or-a-host.html</a><o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><a href="https://docs.starlingx.io/cli_ref/system.html#host-configuration">https://docs.starlingx.io/cli_ref/system.html#host-configuration</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thus, ‘system host-reinstall’ will trigger the reinstall of the host (sets the HAS_REINSTALLING state).<o:p></o:p></p>
<p class="MsoNormal">Otherwise, a regular host-lock/unlock/reboot will boot from disk the already installed load (from the host-add).<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Experimentally, there is also an ‘edgeworker’ personality where the host OS is not installed/reinstalled by the controller:
<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><a href="https://docs.starlingx.io/deploy/deploy-edgeworker-nodes.html">https://docs.starlingx.io/deploy/deploy-edgeworker-nodes.html</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">regards,<o:p></o:p></p>
<p class="MsoNormal">John<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">-----------------------------------------------------------------------------------------<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Message: 2<o:p></o:p></p>
<p class="MsoNormal">Date: Wed, 14 Jul 2021 20:52:52 +0000<o:p></o:p></p>
<p class="MsoNormal">From: "Williams, Alexander" <<a href="mailto:Alexander.Williams@commscope.com">Alexander.Williams@commscope.com</a>><o:p></o:p></p>
<p class="MsoNormal">To: "<a href="mailto:starlingx-discuss@lists.starlingx.io">starlingx-discuss@lists.starlingx.io</a>"<o:p></o:p></p>
<p class="MsoNormal">        <<a href="mailto:starlingx-discuss@lists.starlingx.io">starlingx-discuss@lists.starlingx.io</a>><o:p></o:p></p>
<p class="MsoNormal">Subject: [Starlingx-discuss] Modifying host-add for bare metal edge<o:p></o:p></p>
<p class="MsoNormal">        cloud<o:p></o:p></p>
<p class="MsoNormal">Message-ID:<o:p></o:p></p>
<p class="MsoNormal">        <<a href="mailto:BYAPR14MB247055786D33259D8E125DC599139@BYAPR14MB2470.namprd14.prod.outlook.com">BYAPR14MB247055786D33259D8E125DC599139@BYAPR14MB2470.namprd14.prod.outlook.com</a>><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Content-Type: text/plain; charset="utf-8"<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hi all,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I'm looking into modifying the host add endpoint for personal use, and wanted to ask a few clarifying questions:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">If I understand it correctly, the POST v1/ihosts endpoint is how hosts are added, and corresponds to the post/ _do_post commands in this file:<o:p></o:p></p>
<p class="MsoNormal"><a href="https://github.com/starlingx-staging/stx-config/blob/master/sysinv/sysinv/sysinv/sysinv/api/controllers/v1/host.py">https://github.com/starlingx-staging/stx-config/blob/master/sysinv/sysinv/sysinv/sysinv/api/controllers/v1/host.py</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Related to this particular file:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">  *   When the host is set to action state HAS_REINSTALLING, is this to reinstall the base .iso (unconfigured, but of the correct kind)? If not, what is this responsible for doing? If so, when does this trigger on the added host?<o:p></o:p></p>
<p class="MsoNormal">  *   Where can I find this file/other API related files in the filesystem?<o:p></o:p></p>
<p class="MsoNormal">JK> This ihost.py file is installed in the filesystem under /usr/lib64/python2.7/site-packages/sysinv/api/controllers/v1/ .<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">More generally:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">  *   If I'm adding controller-1 on an edge cloud, the pxeboot step handles both unconfigured .iso installation, followed immediately by the bootstrap (using the same overrides as controller-0(?)). Are these two separate in any way, or
 handled by a single config? Is this different from the central cloud, since the bootstrap override file isn't ever present on an edge cloud machine<o:p></o:p></p>
<p class="MsoNormal">JK> Additional configuration would be required for controller-1.  E.g.
<a href="https://docs.starlingx.io/deploy_install_guides/r5_release/virtual/aio_duplex_install_kubernetes.html#install-software-on-controller-1-node">
https://docs.starlingx.io/deploy_install_guides/r5_release/virtual/aio_duplex_install_kubernetes.html#install-software-on-controller-1-node</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">  *   Is there a mechanism to avoid pxe-booting while still having a host as part of the inventory (is this just host-add)?<o:p></o:p></p>
<p class="MsoNormal">JK> the host-add will typically enable the host for pxeboot based on the mgmt_mac address; unless it is an edgeworker personality.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">  *   Is there a way to run the bootstrap on the second host without pxebooting/ reinstalling the base .iso in the process?<o:p></o:p></p>
<p class="MsoNormal">JK> There is an experimental feature for ‘edgeworker’ personality, where the OS of the node is not installed by the StarlingX controller; currently supports only Ubuntu:  <a href="https://docs.starlingx.io/deploy/deploy-edgeworker-nodes.html">https://docs.starlingx.io/deploy/deploy-edgeworker-nodes.html</a> 
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I'm aware that this is not supported/ tested, but any help on any of the above questions would be greatly appreciated.<o:p></o:p></p>
<p class="MsoNormal">(I am also aware of the INSTALL_UUID potentially presenting an issue, but if any of the above are possible that would be great to know.) Thanks!<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Best,<o:p></o:p></p>
<p class="MsoNormal">Alex<o:p></o:p></p>
<p class="MsoNormal">-------------- next part --------------<o:p></o:p></p>
<p class="MsoNormal">An HTML attachment was scrubbed...<o:p></o:p></p>
<p class="MsoNormal">URL: <<a href="http://lists.starlingx.io/pipermail/starlingx-discuss/attachments/20210714/066a51d3/attachment-0001.html">http://lists.starlingx.io/pipermail/starlingx-discuss/attachments/20210714/066a51d3/attachment-0001.html</a>><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>