blob: 833f0f5e7b16563cabbdd28eaf075ac505f31c00 [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
Zack Williamsb7d45152022-03-11 09:37:34 -07009HTTP server set up on the management router.
Zack Williams794532a2021-03-18 17:38:36 -070010
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-----------------------------
Ajay Lotan Thakurda39c802022-08-31 15:02:51 -070024See :ref:`Provision Switches <sdfabric:deployment_guide>`
Charles Chan770bb612022-03-02 12:34:04 -080025to 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.