This script allows you to reboot multiple remote Linux systems.
Table of Contents |
---|
Info |
---|
For more information on how to execute scripts in different environments, view the “Client Scripts” page. |
Contents of Package
This scripts is composed of 2 python files:
ApiClient.py
RebootScript.py
: ApiClient can be used to interface with the Edge Node’s API but will do nothing if run directly.
RebootScript.py: RebootScript must be run in the same folder with ApiClient.
Usage
This script will reboot all listed devices if the provided credentials have sudo permission and the linux Linux distro recognizes teh the “reboot” command. The script can be run from the command line as follows after navigating to its folder:
Code Block |
---|
python RebootScript.py |
...
Code Block |
---|
python3 RebootScript.py |
It When first run, it will create a subfolder named “Imports”. Place a properly formatted CSV file in this folder and execute the command again. The script will connect to each device in order, issuing a reboot command. Note that this process may take several minutes per device.
Note |
---|
As with any software based power cycling of a remote device, there is a chance physical intervention will be required to restore communications. Proceed with caution. |
...
CSV Formatting
The CSV file’s top row must include the following headers:
...
Edge Device IP | The IP address or url URL of the edge Edge device; this is the IP we will attempt to contact. Unless otherwise specified, it will be assumped an IP or url is of the format, Eg By default, the IP address will be preceded with “http://” and the port used will be 8080, e.g. “192.168.0.10” will be read as “http://192.168.0.10:8080”. If a different port is expected, or the node is configured for https, that must be included, eg e.g. “https://192.168.0.10:8181”. Each Edge Device IP must be unique within the CSV. |
OS username | The operating system username, not currently used by the script; it can be left blank. |
OS password | The operating system password, not currently used by the script; it can be left blank |
Output
Depending on the results of While the script is running, files will be collected from the Import folder and moved into the Process folder. After running the script, the files will be moved as follows. The files will end up in into one of four subfolders of Importsthese:
Complete - The script has run succesfully successfully on at least one of the devices in the csvCSV file. Details of the operation can be found in the log.
Error - Either the The script did not recognize the formatting of the csv or one of the devices in the csv did not recognize the formatting of the json CSV file. Check log for details.
Process - Files should only be here while the script is running; they will be collected from Import, moved to Process, then sent to Error or Complete. Any files that remain here when the program is done indicate an unexpected exception. Check log for further details and contact support if necessary.
Unrecognized - Files that are not csv or json, as well as csv and json files without matching names, Unrecognized - Files that don’t have the .csv extension will be moved here.
Logs
This script will generate its logs in RebootScript.log. It can be checked for further details if an error appears in the Complete report.
...