Generating executable tasks from non-executable text files
A multi-site data storage monitoring system communicates executable actions to remote element managers in non-executable text files. Each non-executable text file includes a human-readable textual description of the action, a top-level Java class of a known task type, and essential properties. The element managers generate executable jobs from the non-executable text files by instantiating an empty task object based on the top-level Java class, partially populating the empty task object based on the essential properties, adding the partially populated task object to a job structure, and using a token to provide authorization at job run-time. The token is created using user authentication information provided in response to presentation of the human-readable textual description of the action.
1 . A method comprising:
transmitting, from a first computer to an element manager computer, a non-executable textual representation of a recommended action to reconfigure a first data storage node of a plurality of data storage nodes by deleting an identified storage group on the first data storage node;
the element manager computer using the non-executable textual representation of the recommended action to generate a computer-executable job to implement the recommended action; and
executing, by the element manager computer, the computer-executable job to delete the identified storage group on the first data storage node, wherein:
the non-executable textual representation of the recommended action is a Javascript Object Notation (JSON) file including an intention and essential properties of the recommended action, and
the element manager computer retrieves stored authorization credentials for a user of the first computer via a token when the user is not logged in to the first computer at execution time of the executing the computer-executable job by the element manager computer.
2 . The method of claim 1 further comprising the first computer transmitting a human-readable textual description of the recommended action as part of the non-executable textual representation.
3 . The method of claim 2 further comprising the first computer transmitting a top-level Java class associated with the recommended action as part of the non-executable textual representation.
4 . The method of claim 3 further comprising the first computer transmitting the essential properties of the recommended action as part of the non-executable textual representation.
5 . The method of claim 4 further comprising the element manager computer instantiating an empty task object based on the top-level Java class and partially populating the empty task object based on the essential properties to create a partially populated task object.
6 . The method of claim 5 further comprising the element manager computer presenting the human-readable textual description of the recommended action.
7 . The method of claim 6 further comprising the element manager computer generating the executable job by adding the partially populated task object to a job structure and using the token to provide authorization to implement the recommended action.
8 . An apparatus comprising:
a multi-site data storage monitoring system comprising a first computer configured to transmit a non-executable textual representation of a recommended action to reconfigure a first data storage node of a plurality of data storage nodes by deleting an identified storage group on the first data storage node; and
an element manager computer configured to:
receive the non-executable textual representation of the recommended action from the first computer;
use the non-executable textual representation to generate a computer-executable job to implement the recommended action; and
execute the computer-executable job to delete the identified storage group on the first data storage node, wherein:
the non-executable textual representation of the recommended action is a JavaScript Object Notation (JSON) file including an intention and essential properties of the recommended action, and
the element manager computer is further configured to retrieve stored authorization credentials for a user of the first computer via a token when the user is not logged in to the first computer at execution time of the executing the computer-executable job by the element manager computer.
9 . The apparatus of claim 8 further comprising the monitoring system computer configured to transmit a human-readable textual description of the recommended action as part of the non-executable textual representation.
10 . The apparatus of claim 9 further comprising the monitoring system computer configured to transmit a top-level Java class associated with the recommended action as part of the non-executable textual representation.
11 . The apparatus of claim 10 further comprising the monitoring system computer configured to transmit the essential properties of the recommended action as part of the non-executable textual representation.
12 . The apparatus of claim 11 further comprising the element manager computer configured to instantiate an empty task object based on the top-level Java class and partially populate the empty task object based on the essential properties to create a partially populated task object.
13 . The apparatus of claim 12 further comprising the element manager computer configured to present the human-readable textual description of the recommended action.
14 . The apparatus of claim 13 further comprising the element manager computer configured to generate the executable job by adding the partially populated task object to a job structure and using the token to provide authorization to implement the recommended action.
15 . A non-transitory computer-readable storage medium storing instructions that when executed by one or more computers cause the computers to perform a method comprising:
transmitting, from a first computer to an element manager computer, a non-executable textual representation of a recommended action to reconfigure a first data storage node of a plurality of data storage nodes by deleting an identified storage group on the first data storage node;
the element manager computer using the non-executable textual representation of the recommended action to generate a computer-executable job to implement the recommended action; and
executing, by the element manager computer, the computer-executable job to delete the identified storage group on the first data storage node, wherein:
the non-executable textual representation of the recommended action is a Javascript Object Notation (JSON) file including an intention and essential properties of the recommended action, and
the element manager computer retrieves stored authorization credentials for a user of the first computer via a token when the user is not logged in to the first computer at execution time of the executing the computer-executable job by the element manager computer.
16 . The non-transitory computer-readable storage medium of claim 15 in which the method further comprises transmitting a human-readable textual description of the recommended action as part of the non-executable textual representation.
17 . The non-transitory computer-readable storage medium of claim 16 in which the method further comprises transmitting a top-level Java class associated with the recommended action as part of the non-executable textual representation.
18 . The non-transitory computer-readable storage medium of claim 17 in which the method further comprises transmitting the essential properties of the recommended action as part of the non-executable textual representation.
19 . The non-transitory computer-readable storage medium of claim 18 in which the method further comprises the element manager computer instantiating an empty task object based on the top-level Java class and partially populating the empty task object based on the essential properties to create a partially populated task object.
20 . The non-transitory computer-readable storage medium of claim 19 in which the method further comprises generating the executable job by adding the partially populated task object to a job structure and using a token to provide authorization to implement the recommended action.