US 11,947,969 B1
Dynamic determination of a leader node during installation of a multiple node environment
Pavan N, Bangaluru (IN); and Shantanu Joshi, Bangalore (IN)
Assigned to Dell Products, L.P., Hopkinton, MA (US)
Filed by Dell Products, L.P., Hopkinton, MA (US)
Filed on Nov. 18, 2022, as Appl. No. 17/989,734.
Int. Cl. G06F 9/44 (2018.01); G06F 9/4401 (2018.01)
CPC G06F 9/4401 (2013.01) 20 Claims
OG exemplary drawing
 
11. A system for dynamic determination of a leader node during installation of a multiple node environment, comprising:
multiple compute nodes and a plurality of shared resources accessible to each of the multiple compute nodes, each of the compute nodes containing one or more processors and one or more storage devices storing a local boot script that is operable, when executed by the one or more processors, to cause the one or more processors of the respective compute node to perform operations comprising:
determining by a respective compute node, from a messaging framework, whether installation of any of the plurality of shared resources has been initiated;
in response to a determination by the respective compute node from the messaging framework that installation of any of the plurality of resources has been initiated, determining by the respective compute node that the compute node is a follower node and not the leader node;
in response to a determination by the respective compute node that installation of none of the plurality of shared resources has been initiated, attempting to obtain a lock on a shared device by the respective compute node;
in response to a failure to obtain the lock on the shared device by the respective compute node, determining by the respective compute node that the compute node is a follower node and not the leader node;
in response to obtaining the lock on the shared device by the respective compute node, determining that the respective compute node is the leader node during installation of the multiple node environment;
running the local boot script by each compute node to implement a local boot process on each respective compute node during installation of the multiple node environment;
running a global boot script by the leader node to initiate installation of the plurality of shared resources during installation of the multiple node environment; and
posting updates associated with installation of the plurality of shared resources by the leader node to the messaging framework.