blob: 3dad67a671974c85e194868e65809c8504645567 [file] [log] [blame]
Zack Williams794532a2021-03-18 17:38:36 -07001..
2 SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
3 SPDX-License-Identifier: Apache-2.0
4
Charles Chan770bb612022-03-02 12:34:04 -08005Fabric Switch Bootstrap
6=======================
Zack Williams794532a2021-03-18 17:38:36 -07007
8The installation of the ONL OS image on the fabric switches uses the DHCP and
9HTTP server set up on the management server.
10
11The default image is downloaded during that installation process by the
Charles Chan770bb612022-03-02 12:34:04 -080012``onieboot`` role. Make changes to that role and rerun the management playbook
Zack Williams794532a2021-03-18 17:38:36 -070013to download a newer switch image.
14
15Preparation
16-----------
17
18The switches have a single ethernet port that is shared between OpenBMC and
19ONL. Find out the MAC addresses for both of these ports and enter it into
20NetBox.
21
Charles Chan770bb612022-03-02 12:34:04 -080022Installing Open Network Linux
23-----------------------------
24See :ref:`Provision Switches <sdfabric:deployment:step 1: provision switches>`
25to learn about how to enter ONIE Rescue mode and install Open Network Linux on the switches.
Zack Williams794532a2021-03-18 17:38:36 -070026
Charles Chan770bb612022-03-02 12:34:04 -080027Please return here and continue the rest of the step once you finish ONL installation.
Zack Williams794532a2021-03-18 17:38:36 -070028
29Post-ONL Configuration
30----------------------
31
32A ``terraform`` user must be created on the switches to allow them to be
33configured.
34
35This is done using Ansible. Verify that your inventory (Created earlier from the
36``inventory/example-aether.ini`` file) includes an ``[aetherfabric]`` section
37that has all the names and IP addresses of the compute nodes in it.
38
39Then run a ping test::
40
41 ansible -i inventory/sitename.ini -m ping aetherfabric
42
43This 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
47Comment out the ``ansible_ssh_pass="onl"`` line, then rerun the ping test. It
48may ask you about authorized keys - answer ``yes`` for each host to trust the
49keys::
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
55Once 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
67Then run the playbook to create the ``terraform`` user::
68
69 ansible-playbook -i inventory/sitename.ini playbooks/aetherfabric-playbook.yml
70
Hung-Wei Chiu6ed79102021-08-24 14:27:26 -070071Once completed, the switch should now be ready for SD-Fabric runtime install.