Zack Williams | 794532a | 2021-03-18 17:38:36 -0700 | [diff] [blame] | 1 | .. |
| 2 | SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org> |
| 3 | SPDX-License-Identifier: Apache-2.0 |
| 4 | |
Charles Chan | 770bb61 | 2022-03-02 12:34:04 -0800 | [diff] [blame] | 5 | Fabric Switch Bootstrap |
| 6 | ======================= |
Zack Williams | 794532a | 2021-03-18 17:38:36 -0700 | [diff] [blame] | 7 | |
| 8 | The installation of the ONL OS image on the fabric switches uses the DHCP and |
Zack Williams | b7d4515 | 2022-03-11 09:37:34 -0700 | [diff] [blame] | 9 | HTTP server set up on the management router. |
Zack Williams | 794532a | 2021-03-18 17:38:36 -0700 | [diff] [blame] | 10 | |
| 11 | The default image is downloaded during that installation process by the |
Charles Chan | 770bb61 | 2022-03-02 12:34:04 -0800 | [diff] [blame] | 12 | ``onieboot`` role. Make changes to that role and rerun the management playbook |
Zack Williams | 794532a | 2021-03-18 17:38:36 -0700 | [diff] [blame] | 13 | to download a newer switch image. |
| 14 | |
| 15 | Preparation |
| 16 | ----------- |
| 17 | |
| 18 | The switches have a single ethernet port that is shared between OpenBMC and |
| 19 | ONL. Find out the MAC addresses for both of these ports and enter it into |
| 20 | NetBox. |
| 21 | |
Charles Chan | 770bb61 | 2022-03-02 12:34:04 -0800 | [diff] [blame] | 22 | Installing Open Network Linux |
| 23 | ----------------------------- |
| 24 | See :ref:`Provision Switches <sdfabric:deployment:step 1: provision switches>` |
| 25 | to learn about how to enter ONIE Rescue mode and install Open Network Linux on the switches. |
Zack Williams | 794532a | 2021-03-18 17:38:36 -0700 | [diff] [blame] | 26 | |
Charles Chan | 770bb61 | 2022-03-02 12:34:04 -0800 | [diff] [blame] | 27 | Please return here and continue the rest of the step once you finish ONL installation. |
Zack Williams | 794532a | 2021-03-18 17:38:36 -0700 | [diff] [blame] | 28 | |
| 29 | Post-ONL Configuration |
| 30 | ---------------------- |
| 31 | |
| 32 | A ``terraform`` user must be created on the switches to allow them to be |
| 33 | configured. |
| 34 | |
| 35 | This is done using Ansible. Verify that your inventory (Created earlier from the |
| 36 | ``inventory/example-aether.ini`` file) includes an ``[aetherfabric]`` section |
| 37 | that has all the names and IP addresses of the compute nodes in it. |
| 38 | |
| 39 | Then run a ping test:: |
| 40 | |
| 41 | ansible -i inventory/sitename.ini -m ping aetherfabric |
| 42 | |
| 43 | This may fail with the error:: |
| 44 | |
| 45 | "msg": "Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this. Please add this host's fingerprint to your known_hosts file to manage this host." |
| 46 | |
| 47 | Comment out the ``ansible_ssh_pass="onl"`` line, then rerun the ping test. It |
| 48 | may ask you about authorized keys - answer ``yes`` for each host to trust the |
| 49 | keys:: |
| 50 | |
| 51 | The authenticity of host '10.0.0.138 (<no hostip for proxy command>)' can't be established. |
| 52 | ECDSA key fingerprint is SHA256:... |
| 53 | Are you sure you want to continue connecting (yes/no/[fingerprint])? yes |
| 54 | |
| 55 | Once you've trusted the host keys, the ping test should succeed:: |
| 56 | |
| 57 | spine1.role1.site | SUCCESS => { |
| 58 | "changed": false, |
| 59 | "ping": "pong" |
| 60 | } |
| 61 | leaf1.role1.site | SUCCESS => { |
| 62 | "changed": false, |
| 63 | "ping": "pong" |
| 64 | } |
| 65 | ... |
| 66 | |
| 67 | Then run the playbook to create the ``terraform`` user:: |
| 68 | |
| 69 | ansible-playbook -i inventory/sitename.ini playbooks/aetherfabric-playbook.yml |
| 70 | |
Hung-Wei Chiu | 6ed7910 | 2021-08-24 14:27:26 -0700 | [diff] [blame] | 71 | Once completed, the switch should now be ready for SD-Fabric runtime install. |