DataScale SN10-2 RDU module administration

Administration tasks for the DataScale SN10-2 RDU module’s BMC include:

  • Changing the root password

  • Updating the DataScale SN10-2 BMC and RDU controller (RDU-C) firmware

  • Configuring the DataScale SN10-2 BMC network

  • Configuring the DataScale SN10-2 BMC hostname

  • Viewing diagnostic information and logs to debug the system in the event of a system component failure

  • Generating a secure API login token for authentication

There is a built-in secure account on the DataScale SN10-2 BMC called snservice. It is used for root password recovery. See KB article #1049.

1. Changing the root password

SambaNova highly recommends that you change the default password for root to a more secure password.
For the DataScale SN10-2 BMC, passwords cannot be based on dictionary words and cannot include the # character. A BAD PASSWORD message results, and the password is not changed.

To change the default password for root on the DataScale SN10-2 BMC, follow these steps:

  1. Log in to the DataScale SN10-2 BMC where you transferred the update files:

    $ ssh root@<SN10-2_BMC_IP_Address>
    Password: <Enter root password>
  2. Run the passwd command and enter a new password:

    root@xrdu:~# passwd
    New password: <New Password>
    Retype new password: <New Password>
    passwd: password updated successfully

2. Updating the DataScale SN10-2 BMC and RDU controller (RDU-C) firmware

Updating the BMC and RDU-C firmware consistes of several tasks:

  • Preparing for update

  • Updating the DataScale SN10-2 BMC primary partition

  • Updating the DataScale SN10-2 BMC secondary/recovery partition

  • Updating the DataScale SN10-2 RDU-C primary partition

  • Updating the DataScale SN10-2 RDU-C secondary/recovery partition

2.1. Preparing the primary partition for update

Before you can start the update, you have to prepare, as follows:

  1. Shut down the DataScale SN10-H host module in the system to ensure that no graphs or any other load are running. See Gracefully shutting down the DataScale SN10-8R.

  2. Shut down the DataScale SN10-2 RDU module.

  3. Log in to the DataScale SN10-2 BMC and reboot the BMC to clear the BMC registers, as follows:

    $ ssh root@<SN10-2_BMC_IP_Address>
    Password: <Enter root password>
    
    root@xrdu:~# reboot

    The reboot process takes about 3-5 minutes to complete. Meanwhile, you can go to the next step to download the DataScale SN10-2 firmware update.

  4. Download the DataScale SN10-2 firmware update file sn-xrdu-sys-fw-v<version_number>.tar.gz from the SambaNova ext-xrdu-fw repository, under the /latest sub-directory, to a system that has access to the network that the DataScale SN10-2 BMC is on. See KB Article #1063 Listing and Downloading Available SN10-8R Firmware.

  5. Uncompress the sn-xrdu-sys-fw-v<version_number>.tar.gz file.

  6. Copy the .mtd and .mtd.md5 firmware files from the rdu-128 directory to each of the DataScale SN10-2 BMCs that are to be updated. Place these files under the /dev/shm/ directory on the SN10-2.

    $ scp /<uncompressed directory>/rdu-128/obmc-rdu-<version>* root@<SN10-2_BMC_IP_Address>:/dev/shm/
    Password: <Enter root password>

    Confirm that the .mtd and .mtd.md5 files have been completely transferred to the BMC’s /dev/shm/ directory.

    Ensure that the files copied over are from the rdu-128 directory and not the rdu-64 directory.

2.2. Updating the primary partition

  1. After the files are in the BMC’s dev/shm partition, log in to the DataScale SN10-2 BMC.

    $ ssh root@<SN10-2_BMC_IP_Address>
    Password: <Enter root password>
    
    root@xrdu:~# cd /dev/shm/
  2. Confirm that the following files are located in this directory:

    • obmc-rdu-<version>.mtd

    • obmc-rdu-<version>.mtd.md5

    root@xrdu:/dev/shm# ls obmc*
    obmc-rdu-<version>.mtd  obmc-rdu-<version>.mtd.md5
  3. Run the update on the obmc-rdu-<version>.mtd firmware file.

    root@xrdu:~# obmcupdate -p primary -t bmc -f /dev/shm/obmc-rdu-<version>.mtd

    Do not run any other commands or disconnect the power supply at this time.

  4. Confirm that the Erasing, Writing, and Verifying stages complete to 100%.

  5. When all stages are completed, reboot the BMC with the new firmware.

    root@xrdu:~# reboot -f
  6. After about 3 to 5 minutes, log back into the DataScale SN10-2 BMC.

    $ ssh root@<SN10-2_BMC_IP_Address>
    Password: <Enter root password>
    The update re-images the DataScale SN10-2 BMC and so the .ssh identification will likely have changed. If prompted, remove the old host entry in the .ssh/known_hosts file on the client that was used to ssh into the system before.
  7. Run the obmcupdate -i command to confirm that the update has been successful and the DataScale SN10-2 BMC firmware patch has been applied:

    root@xrdu:~# obmcupdate -i
    ***** RDU-C *****
    RDU-C Release Version: <current version>
    RDU-C BuildDate: #.## ####   DesignVer: ##   BoardID: ##
    ***** BMC *****
    BMC Release Version: <updated version>
    BMC BUILD ID: <updated BMC buildid>
    BMC Flash: Primary
    BMC Flash Size: 128MB
  8. If there are any issues running the update, try running obmcupdate again. If the update process continues to fail, contact SambaNova support.

2.3. Updating the DataScale SN10-2 BMC secondary/recovery partition

The re-imaging of the BMC will have removed the obmc-rdu-<version>.mtd and obmc-rdu-<version>.mtd.md5 files from /dev/shm/. You have to copy them back, as follows:

  1. Exit out of the SN10-2 BMC.

  2. Log back in to the client system where the BMC firmware files were uncompressed, and copy the obmc-rdu-<version>.mtd and obmc-rdu-<version>.mtd.md5 firmware files back to the DataScale SN10-2 BMCs /dev/shm/ directory.

    $ scp /<uncompressed directory>/rdu-128/obmc-rdu-<version>* root@<SN10-2_BMC_IP_Address>:/dev/shm/
    Password: <Enter SN10-2 BMC root password>
  3. Confirm these two files have been completely transferred to the BMC’s /dev/shm/ directory.

    Ensure that the files copied over are from the rdu-128 directory and not the rdu-64 directory.
  4. Log back in to the DataScale SN10-2 BMC that was just updated:

    $ ssh root@<SN10-2_BMC_IP_Address>
    Password: <Enter root password>
  5. Go to the /dev/shm/ directory on the DataScale SN10-2 BMC.

    root@xrdu:~# cd /dev/shm/
  6. Confirm that the following two files are located in this directory:

    • obmc-rdu-<version>.mtd

    • obmc-rdu-<version>.mtd.md5

      root@xrdu:/dev/shm# ls obmc*
      obmc-rdu-<version>.mtd  obmc-rdu-<version>.mtd.md5
  7. Run the update on the BMC recovery partition using the obmc-rdu-<version>.mtd firmware file.

    root@xrdu:~# obmcupdate -p recovery -t bmc -f /dev/shm/obmc-rdu-<version>.mtd

    Do not run any other commands or disconnect the power supply at this time.

  8. Confirm that the Erasing, Writing, and Verifying stages complete to 100%.

  9. If there are any issues running the update, attempt run the obmcupdate command again. If the update process continues to fail, contact SambaNova support.

2.4. Updating the DataScale SN10-2 RDU-C primary partition

When secondary partition update has been completed, move on to updating the DataScale SN10-2 RDU Controller (RDU-C) primary partition.

  1. Exit out of the SN10-2 BMC and log back in to the client system where the BMC and RDU-C firmware files were uncompressed.

  2. Copy the rduc-<version>-primary.spi, rduc-<version>-primary.spi.md5, rduc-<version>-recovery.spi, and rduc-<version>-recovery.spi.md5 firmware files to the DataScale SN10-2 BMCs /dev/shm/ directory.

    $ scp /<uncompressed directory>/rduc/rduc-<version>-* root@<SN10-2_BMC_IP_Address>:/dev/shm/
    Password: <Enter SN10-2 BMC root password>
  3. Log in to the DataScale SN10-2 BMC where the update files were transferred to and go to the /dev/shm/ directory:

    $ ssh root@<SN10-2_BMC_IP_Address>
    Password: <Enter root password>
    root@xrdu:~# cd /dev/shm/
  4. Confirm that the following files are located in this directory:

    • rduc-<version>-primary.spi

    • rduc-<version>-primary.spi.md5

    • rduc-<version>-recovery.spi

    • rduc-<version>-recovery.spi.md5

      root@xrdu:/dev/shm# ls rduc*
      rduc-<version>-primary.spi  rduc-<version>-primary.spi.md5  rduc-<version>-recovery.spi
      rduc-<version>-recovery.spi.md5
  5. Run the update using the primary.spi firmware file to update the DataScale SN10-2 RDU-C primary partition.

    root@xrdu:/dev/shm# obmcupdate -p primary -t rduc -f /dev/shm/rduc-<version>-primary.spi

    Do not run any other commands or disconnect the power supply at this time.

  6. Confirm that the update of the RDU-C has taken affect by running the obmcupdate -i command:

    root@xrdu:~# obmcupdate -i
    ***** RDU-C *****
    RDU-C Release Version: <updated version>
    RDU-C BuildDate: #.## ####   DesignVer: ##   BoardID: ##
    ***** BMC *****
    BMC Release Version: <updated version>
    BMC BUILD ID: <updated build id>
    BMC Flash: Primary
    BMC Flash Size: 128MB

    Verify that the RDU-C Release Version appears as the updated version.

2.5. Updating the DataScale SN10-2 RDU-C secondary/recovery partition

  1. To update the DataScale SN10-2 RDU-C recovery partition, run the update using the rduc-<version>-recovery.spi firmware file:

    root@xrdu:/dev/shm# obmcupdate -p recovery -t rduc -f /dev/shm/rduc-<recovery>-recovery.spi

Contact SambaNova support if any issues occur during the update of the DataScale SN10-2 BMC or RDU-C.

After the DataScale SN10-2 BMC and RDU-C have successfully been updated, it is safe to power on the DataScale SN10-2 and SN10-H modules. See manage-power.adoc#_powering_on_the_datascale_sn10_8r[Powering on the DataScale SN10-8R] discusses how to first safely power on the DataScale SN10-2 and then power on the DataScale SN10-H.

3. Configuring the DataScale SN10-2 BMC network

There are potential dependencies with tools that rely on known IP addresses that were set during the DataScale SN10 rack installation. When you change the IP address of the DataScale SN10-2 BMC, you have to update the IP_ADDRESS_SP# entries in the /platform/network.json files for the updated DataScale SN10-2 BMC and update other DataScale SN10-2 BMCs that are directly connected to the updated DataScale SN10-2 BMC in the node.
After changing the IP address and resetting the network service in the steps below, currently connected ssh sessions will be terminated or left in a hung state, because the network IP connection has changed. Log in to the DataScale SN10-2 BMC using the new IP address.

DataScale SN10-2 BMC networking is configured as part of the DataScale SN10-8R delivery. It’s not usually necessary to modify the network configuration upon delivery, although there might be situations where the network has to be reconfigured later.

You can change the network settings by running the network-settings command.

root@xrdu:~# network-settings [-h] -i [IPADDRESS] -n [NETMASK] -g [GATEWAY] -d [DNS] [{static,DHCP}]

Table 1 describes the command options.

Table 1. Command options
Option Function

{static,DHCP}

Specify the network mode.

-h
--help

Show the help message and exit.

-i [IPADDRESS]
--ipAddress [IPADDRESS]

IP address for static connection.
Example: "10.10.0.0". Use "" for DHCP.

-n [NETMASK]
--netMask [NETMASK]

Netmask number for static network mode (between 0 to 32). Use any number for DHCP.

-g [GATEWAY]
--gateWay [GATEWAY]

Gateway for static connection.
Example: "10.10.0.0". Use "" for DHCP.

-d [DNS]
--dns [DNS]

DNS for static connection.
Example: "10.10.0.0". Use "" for DHCP.

  1. Set the IP address configuration using the network-settings command.

    Example 1

    Setting a static IP address of 10.10.0.15 on a /24 subnet with gateway address 10.10.0.1 and a DNS server on 10.0.0.13:

    root@xrdu:~# network-settings -i "10.10.0.15" -n 24 -g "10.10.0.1" -d "10.0.0.13" static
    Modifiying network settings ...
    Toggling network settings ...

    Example 2

    Setting the network mode to DHCP:

    root@xrdu:~# network-settings -i "" -n 0 -g "" -d "" DHCP
    Modifiying network settings ...
    Toggling network settings ...
  2. After you successfully run the command, restart the network service to ensure that the configuration is set and running:

    root@xrdu:~# systemctl restart systemd-networkd.service

    At this point, the current ssh session should have been terminated or be in a hung state.

  3. Open a new terminal and log in to the DataScale SN10-2 BMC:

    $ ssh root@<SN10-2_New_BMC_IP_Address>
    Password: <Enter root password>
  4. To confirm the IP address configuration, run the ip address command. In the command output, the assigned IP address appears as the second inet value under eth0.

    root@xrdu:~# ip address
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
    valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
    inet 169.254.192.89/16 brd 169.254.255.255 scope link eth0
    valid_lft forever preferred_lft forever
    inet 10.10.0.15 brd 10.10.0.255 scope global dynamic eth0
    valid_lft 40746sec preferred_lft 40746sec
    inet6...

4. Configuring the DataScale SN10-2 hostname

  1. To configure or modify the DataScale SN10-2 hostname, log in to the DataScale SN10-2 BMC:

    $ ssh root@<SN10-2_BMC_IP_Address>
    Password: <Enter root password>
  2. Run the following command to configure or modify the DataScale SN10-2 hostname:

    root@xrdu:~# hostnamectl set-hostname <hostname>
  3. To see the new hostname, log out and log back in to the DataScale SN10-2 BMC.

5. Generating a secure API login token

To support REST API calls that don’t use plain-text passwords, you can generate a secure token for the DataScale SN10-2 BMC root user.

  1. Log in to the client system from which you want to run the REST API calls. The system must have network access to the DataScale SN10-2 BMC.

  2. Run the following command to generate the token:

    $ export token=`curl -k -H "Content-Type: application/json" -X POST https://<SN10-2_BMC_IP_Address>/login -d '\{"username" : "root", "password" : "<Password>"}' | grep token | awk '\{print $2;}' | tr -d '"'`
  3. Confirm that a token has been generated for your session:

    $ echo $token
    1h0Dk9xjtjsOtBkMhgIN
  4. To validate the token, run the following cURL command (replace <SN10-2_BMC_IP_Address> with the correct DataScale SN10-2 BMC IP address):

    $ curl -k -H "X-Auth-Token: $token" https://<SN10-2_BMC_IP_Address>/xyz/openbmc_project/
    {
    "data": [
    "/xyz/openbmc_project/Ipmi",
    "/xyz/openbmc_project/certs",
    ...
    "/xyz/openbmc_project/user"
    ],
    "message": "200 OK",
    "status": "ok"
    }

    If you execute the cURL command correctly and similar output is generated, the token works correctly and you can use it with other API calls, for example, to power on and power off the DataScale SN10-2 RDU module.