US 12,393,463 B2
Sequentially restarting independent workloads across distributed cloud environment
Dhyey Shah, Apex, NC (US); Ratnakar Asara, Fuquay-Varina, NC (US); Mihir Rohit Shah, Holly Springs, NC (US); Paul Brian Tippett, Raleigh, NC (US); and Tam Stangler, Raleigh, NC (US)
Assigned to International Business Machines Corporation, Armonk, NY (US)
Filed by INTERNATIONAL BUSINESS MACHINES CORPORATION, Armonk, NY (US)
Filed on Nov. 4, 2022, as Appl. No. 17/980,808.
Prior Publication US 2024/0152398 A1, May 9, 2024
Int. Cl. G06F 9/50 (2006.01); G06F 8/65 (2018.01); G06F 9/48 (2006.01)
CPC G06F 9/5038 (2013.01) [G06F 8/65 (2013.01); G06F 9/4843 (2013.01); G06F 9/4881 (2013.01); G06F 9/5005 (2013.01); G06F 9/5072 (2013.01); G06F 2209/501 (2013.01); G06F 2209/5022 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A computer-implemented method for managing requests for a restart associated with deployments in one or more server clusters, comprising:
receiving one or more requests for a restart relating to deployments associated with the one or more server clusters, wherein the one or more requests includes a request name and one or more restart configmap files;
grouping, by a grouping sub-module, the one or more requests based on the request name against a first group label of one or more group labels, wherein the one or more labels are defined by a deployment specification, further comprising:
identifying the one or more group labels that were initially assigned by one or more server clusters to the one or more requests; and
assigning the one or more requests to one or more deployment queues based on matched group labels of the one or more group labels between the one or more requests and the one or more deployment queues;
determining, by a deployment queue sub-module, whether a first deployment queue of the one or more deployment queues exist, wherein the first deployment queue matches with the first group label;
responsive to the first deployment queue does exist then assigning, by the deployment queue sub-module, the one or more grouped requests to the first deployment queue, wherein the request name matches the first group label;
responsive to the first deployment queue does not exist then creating a deployment queue based on the first group label and assigning the one or more requests that has been grouped by the first group label to the deployment queue;
determining, by the deployment queue sub-module, within each of the one or more deployment queues whether a concurrent counter has exceeded a concurrent threshold value, wherein the concurrent counter is counter that keeps track of total number of requests for restarts for each queue of the one or more deployment queues that can be executed concurrently and the concurrent threshold value has been predetermined by a user and the concurrent threshold value is a value that determines how many request should be excluded from the queue, such that the requests bypasses the queue and a restart command can be executed immediately;
in response to the concurrent counter has exceeded a concurrent threshold value, popping, by the deployment queue sub-module, the one or more requests for a restart, wherein the number of the one or more requests equals to a value of the concurrent counter from each of the one or more deployment queues;
in response to the concurrent counter has not exceeded a concurrent threshold value, assigning, by the deployment queue sub-module, each of the one or more requests in the deployment queues to start sequentially based on the one or more group labels;
processing, by the deployment queue sub-module, remainder of the one or more requests that cannot start concurrently based on status and a timestamp of the one or more requests; and
updating, by the deployment queue sub-module, the one or more restart configmap files with a “complete” status value.