DAD using the Python script
The Python script dad.py allows you to configure the switch cluster with preset configuration files.
This Python script configuration method reduces the time taken for firmware download, switch configuration, and cluster formation for the fabric cluster mode and logical chassis mode. Because all switches download the same firmware and the cluster parameters remain consistent across all switches, using the Python script is a more scalable method for deployment and reduces potential human error.
Once you enable DAD on the switch, the DAD process calls the dad.py script from the FTP server. The dad.py script starts running whenever the number of nodes detected in the fabric equals the number of nodes that have joined the cluster. The DAD process monitors the nodes.
Python script support considerations for DAD
- The reboot command is not supported in the Python script.
- If the switch has a preset local configuration, the script will overwrite it.
- The start and completion times of the script will be reported, although script internal errors will not be reported. You must check the internal errors manually.
- If you change the DAD configuration script on any node in the cluster, the switch cluster must run the DAD process again.
- To make the configuration change persistent, if there is a change in the fabric cluster mode, use the copy running-config startup-config command.
- The cluster DAD process has a time limit (three days) to run the script. If the number of nodes in the cluster is not equal to what is specified in the DAD configuration file, the principal node declares DAD partially complete after timeout. If the deployment fails on the secondary node, you must restart the deployment again before the principal node deployment times out.
- The global configuration replay takes place in parallel with firmware download. The global configuration file may take a long time to execute if it is big. However, the DAD status will display as complete when firmware download completes. You must manually check if the configuration file is executed completely. If the configuration file is not fully executed, the DAD status still remains complete and not failed.
- If the secondary node triggers a firmware download, the principal node will trigger the Python script once the secondary node joins the cluster. The firmware download on the secondary node continues in parallel and may complete after the principal node declares DAD complete.