-
Notifications
You must be signed in to change notification settings - Fork 278
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Deployed 7f35e25 with MkDocs version: 1.4.2
- Loading branch information
Unknown
committed
Nov 29, 2023
1 parent
e87d6de
commit bfb632d
Showing
6 changed files
with
344 additions
and
346 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -125,8 +125,9 @@ | |
</span></code></pre></div> <ol> <li><code>post-boot-exec.cfg</code> file contains the script referenced above and it is mounted to <code>/tftpboot</code> directory that is available in SR OS node.</li> </ol> <p>Once the script is mounted to the node, users need to instruct SR OS to execute the script upon successful boot. This is done by adding the following configuration line on SR OS MD-CLI:</p> <div class="language-bash highlight"><pre><span></span><code><span id="__span-20-1"><a href="#__codelineno-20-1" id="__codelineno-20-1" name="__codelineno-20-1"></a><span class="o">[</span>pr:/configure<span class="w"> </span>system<span class="o">]</span> | ||
</span><span id="__span-20-2"><a href="#__codelineno-20-2" id="__codelineno-20-2" name="__codelineno-20-2"></a>A:admin@sros1#<span class="w"> </span>info<span class="w"> </span><span class="p">|</span><span class="w"> </span>match<span class="w"> </span>boot-goo | ||
</span><span id="__span-20-3"><a href="#__codelineno-20-3" id="__codelineno-20-3" name="__codelineno-20-3"></a><span class="w"> </span>boot-good-exec<span class="w"> </span><span class="s2">"tftp://172.31.255.29/post-boot-exec.cfg"</span><span class="w"> </span><span class="c1">#(1)!</span> | ||
</span></code></pre></div> <ol> <li>The tftpboot location is always at <code>tftp://172.31.255.29/</code> address and the name of the file needs to match the file you used in the binds instruction.</li> </ol> <p>By combining file bindings and the automatic script execution of SROS it is possible to create a workaround for persistent BOF settings.</p> <h4 id="ssh-keys">SSH keys<a class="headerlink" href="#ssh-keys" title="Permanent link">#</a></h4> <p>Containerlab v0.48.0+ supports SSH key injection into the Nokia SR OS nodes. First containerlab retrieves all public keys from <code>~/.ssh</code><sup id="fnref:1"><a class="footnote-ref" href="#fn:1">1</a></sup> directory and <code>~/.ssh/authorizde_keys</code> file, then it retrieves public keys from the ssh agent if one is running.</p> <p>Next it will filter out public keys that are not of RSA/ECDSA type. The remaining valid public keys will be configured for the admin user of the Nokia SR OS node using key IDs from 32 downwards<sup id="fnref:2"><a class="footnote-ref" href="#fn:2">2</a></sup>. This will enable key-based authentication next time you connect to the node.</p> <h3 id="license">License<a class="headerlink" href="#license" title="Permanent link">#</a></h3> <p>Path to a valid license must be provided for all Nokia SR OS nodes with a <a href="../../nodes/#license"><code>license</code></a> directive.</p> <p>If your SR OS license file is issued for a specific UUID, you can define it with custom type definition:</p> <div class="language-yaml highlight"><pre><span></span><code><span id="__span-21-1"><a href="#__codelineno-21-1" id="__codelineno-21-1" name="__codelineno-21-1"></a><span class="c1"># note, typically only the cp needs the UUID defined.</span> | ||
</span><span id="__span-21-2"><a href="#__codelineno-21-2" id="__codelineno-21-2" name="__codelineno-21-2"></a><span class="nt">type</span><span class="p">:</span><span class="w"> </span><span class="s">"cp:</span><span class="nv"> </span><span class="s">uuid=00001234-5678-9abc-def1-000012345678</span><span class="nv"> </span><span class="s">cpu=4</span><span class="nv"> </span><span class="s">ram=6</span><span class="nv"> </span><span class="s">slot=A</span><span class="nv"> </span><span class="s">chassis=SR-12</span><span class="nv"> </span><span class="s">card=cpm5</span><span class="nv"> </span><span class="s">___</span><span class="nv"> </span><span class="s">lc:</span><span class="nv"> </span><span class="s">cpu=4</span><span class="nv"> </span><span class="s">ram=6</span><span class="nv"> </span><span class="s">max_nics=36</span><span class="nv"> </span><span class="s">slot=1</span><span class="nv"> </span><span class="s">chassis=SR-12</span><span class="nv"> </span><span class="s">card=iom3-xp-c</span><span class="nv"> </span><span class="s">mda/1=m10-1gb+1-10gb"</span> | ||
</span></code></pre></div> <ol> <li>The tftpboot location is always at <code>tftp://172.31.255.29/</code> address and the name of the file needs to match the file you used in the binds instruction.</li> </ol> <p>By combining file bindings and the automatic script execution of SROS it is possible to create a workaround for persistent BOF settings.</p> <h4 id="ssh-keys">SSH keys<a class="headerlink" href="#ssh-keys" title="Permanent link">#</a></h4> <p>Containerlab v0.48.0+ supports SSH key injection into the Nokia SR OS nodes. First containerlab retrieves all public keys from <code>~/.ssh</code><sup id="fnref:1"><a class="footnote-ref" href="#fn:1">1</a></sup> directory and <code>~/.ssh/authorizde_keys</code> file, then it retrieves public keys from the ssh agent if one is running.</p> <p>Next it will filter out public keys that are not of RSA/ECDSA type. The remaining valid public keys will be configured for the admin user of the Nokia SR OS node using key IDs from 32 downwards<sup id="fnref:2"><a class="footnote-ref" href="#fn:2">2</a></sup>. This will enable key-based authentication next time you connect to the node.</p> <details> <summary>Skipping keys injection</summary> <p>If you want to disable this feature (e.g. when using classic CLI mode), you can do so by setting the <code>CLAB_SKIP_SROS_SSH_KEY_CONFIG=true</code> env variable:</p> <div class="language-bash highlight"><pre><span></span><code><span id="__span-21-1"><a href="#__codelineno-21-1" id="__codelineno-21-1" name="__codelineno-21-1"></a><span class="nv">CLAB_SKIP_SROS_SSH_KEY</span><span class="o">=</span><span class="nb">true</span><span class="w"> </span>sudo<span class="w"> </span>-E<span class="w"> </span>clab<span class="w"> </span>deploy<span class="w"> </span>-t<span class="w"> </span><topo-file> | ||
</span></code></pre></div> </details> <h3 id="license">License<a class="headerlink" href="#license" title="Permanent link">#</a></h3> <p>Path to a valid license must be provided for all Nokia SR OS nodes with a <a href="../../nodes/#license"><code>license</code></a> directive.</p> <p>If your SR OS license file is issued for a specific UUID, you can define it with custom type definition:</p> <div class="language-yaml highlight"><pre><span></span><code><span id="__span-22-1"><a href="#__codelineno-22-1" id="__codelineno-22-1" name="__codelineno-22-1"></a><span class="c1"># note, typically only the cp needs the UUID defined.</span> | ||
</span><span id="__span-22-2"><a href="#__codelineno-22-2" id="__codelineno-22-2" name="__codelineno-22-2"></a><span class="nt">type</span><span class="p">:</span><span class="w"> </span><span class="s">"cp:</span><span class="nv"> </span><span class="s">uuid=00001234-5678-9abc-def1-000012345678</span><span class="nv"> </span><span class="s">cpu=4</span><span class="nv"> </span><span class="s">ram=6</span><span class="nv"> </span><span class="s">slot=A</span><span class="nv"> </span><span class="s">chassis=SR-12</span><span class="nv"> </span><span class="s">card=cpm5</span><span class="nv"> </span><span class="s">___</span><span class="nv"> </span><span class="s">lc:</span><span class="nv"> </span><span class="s">cpu=4</span><span class="nv"> </span><span class="s">ram=6</span><span class="nv"> </span><span class="s">max_nics=36</span><span class="nv"> </span><span class="s">slot=1</span><span class="nv"> </span><span class="s">chassis=SR-12</span><span class="nv"> </span><span class="s">card=iom3-xp-c</span><span class="nv"> </span><span class="s">mda/1=m10-1gb+1-10gb"</span> | ||
</span></code></pre></div> <h3 id="file-mounts">File mounts<a class="headerlink" href="#file-mounts" title="Permanent link">#</a></h3> <p>When a user starts a lab, containerlab creates a node directory for storing <a href="../../conf-artifacts/">configuration artifacts</a>. For Nokia SR OS kind containerlab creates <code>tftpboot</code> directory where the license file will be copied.</p> <h2 id="lab-examples">Lab examples<a class="headerlink" href="#lab-examples" title="Permanent link">#</a></h2> <p>The following labs feature Nokia SR OS node:</p> <ul> <li><a href="../../../lab-examples/vr-sros/">SR Linux and vr-sros</a></li> </ul> <div class="footnote"> <hr/> <ol> <li id="fn:1"> <p><code>~</code> is the home directory of the user that runs containerlab. <a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text">↩</a></p> </li> <li id="fn:2"> <p>If a user wishes to provide a custom startup-config with public keys defined, then they should use key IDs from 1 onwards. This will minimize chances of key ID collision causing containerlab to overwrite user-defined keys. <a class="footnote-backref" href="#fnref:2" title="Jump back to footnote 2 in the text">↩</a></p> </li> </ol> </div> <!-- Content footer --> <footer class="mdx-content__footer md-typeset"> <hr/> <span class="twemoji"> <svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><!-- Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M288 0H128c-17.7 0-32 14.3-32 32s14.3 32 32 32v132.8c0 11.8-3.3 23.5-9.5 33.5L10.3 406.2C3.6 417.2 0 429.7 0 442.6 0 480.9 31.1 512 69.4 512h309.2c38.3 0 69.4-31.1 69.4-69.4 0-12.8-3.6-25.4-10.3-36.4L329.5 230.4c-6.2-10.1-9.5-21.7-9.5-33.5V64c17.7 0 32-14.3 32-32S337.7 0 320 0h-32zm-96 196.8V64h64v132.8c0 23.7 6.6 46.9 19 67.1l34.5 56.1h-171l34.5-56.1c12.4-20.2 19-43.4 19-67.1z"></path></svg> </span> <hr/> </footer> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button class="md-top md-icon" data-md-component="top" hidden="" type="button"> <svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"></path></svg> Back to top </button> </main> <footer class="md-footer"> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <!-- | ||
Copyright (c) 2016-2022 Martin Donath <[email protected]> | ||
Permission is hereby granted, free of charge, to any person obtaining a copy | ||
|
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
Oops, something went wrong.