The present invention provides a unified provisioning environment, which comprehensively manages the tasks related to software provisioning. In particular, the present invention manages software provisioning using a hierarchy of commands. The lowest level in the hierarchy comprises distribution commands, which primarily handle base operating system specific tasks of provisioning. The second level comprises profile commands, which associate a configuration file, such as a Linux kickstart file, with a distribution and optionally allow for customization. The third level comprises system commands, which associate remote systems that are involved with the provisioning of the software. The fourth level comprises repository commands, which address configurations and tasks related to updating the software, remote installation procedures, and optionally customizing the software.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A system for provisioning software to a target machine, said system comprising: at least one repository of software distributions; and a boot server machine having a memory and a processing device, linked to the at least one repository, that hosts a provisioning server with access to plugins and templates of configuration files, wherein the provisioning server is configured to: retrieve at least one software distribution; identify one or more resources associated with the target machine; determine a function to be performed by the target machine based on the identified one or more resources associated with the target machine; generate a profile for the at least one software distribution, wherein the profile associates the at least one software distribution with the function to be performed by target machines utilizing the at least one software distribution and wherein the profile links a configuration file to the at least one software distribution; receive information indicating a system remote from the target machine that will assist in installing the at least one software distribution on the target machine; receive update information for the at least one software distribution; and install, automatically, the at least one software distribution and update information on the target machine based on the profile and with the assistance of the remote system.
2. The system of claim 1 , wherein retrieving the at least one software distribution comprises retrieving a Linux distribution.
3. The system of claim 1 , wherein retrieving the at least one software distribution comprises retrieving a distribution having a specified kernel.
4. The system of claim 1 , wherein retrieving the at least one software distribution comprises retrieving a distribution having a specified initrd.
5. The system of claim 1 , wherein the provisioning server is further configured to specify parameters in the configuration file that are to be substituted.
6. The system of claim 1 , wherein retrieving the at least one software distribution comprises retrieving a parameter that sets an architecture for a PXE bootloader that will be used in installation of the at least one software distribution.
7. The system of claim 1 , wherein generating the profile comprises linking a kickstart file to the at least one software distribution.
8. The system of claim 1 , wherein generating the profile comprises linking a AutoYAST file to the at least one software distribution.
9. The system of claim 1 , wherein the provisioning server is further configured to specify a virtualization disk image size in to the configuration file.
10. The system of claim 1 , wherein the provisioning server is further configured to specify an amount of RAM that may be consumed on the target machine in to the configuration file.
11. The system of claim 1 , wherein receiving information indicating the system remote from the target machine that will assist in installing the at least one software distribution on the target machine comprises receiving an IP address of the remote system.
12. The system of claim 1 , wherein receiving information indicating the system remote from the target machine that will assist in installing the at least one software distribution on the target machine comprises receiving a hostname of the remote system.
13. The system of claim 1 , wherein receiving information indicating the system remote from the target machine that will assist in installing the at least one software distribution on the target machine comprises receiving a MAC address of the remote system.
14. The system of claim 1 , wherein receiving update information for the at least one software distribution comprises receiving information indicating a repository mirror for the at least one software distribution.
15. The system of claim 1 , wherein the provisioning server is further configured to check on a status of installing the at least one software distribution based on when the target machine last requested a file from the server.
16. The system of claim 1 , wherein the provisioning server is further configured to install, automatically, the at least one software distribution via PXE on the target machine.
17. The system of claim 1 , wherein the provisioning server is further configured to install, automatically, the at least one software distribution on a virtual machine on the target machine.
18. The system of claim 1 , further comprising a client application running on the target machine that when invoked requests the profile from the provisioning server.
19. The system of claim 1 , further comprising a client application running on the target machine that creates new virtualized guests on the target machine in accordance with commands received from the provisioning server.
20. The system of claim 1 , further comprising a client application running on the target machine that reprovisions the target machine by deleting any current data and replacing it with a network install of the at least one software distribution from the provisioning server.
21. The system of claim 1 , wherein the provisioning server is further configured to retrieve a configuration file that has already been defined and apply it to the target machine, wherein the target machine does not have any helper client installed.
22. The system of claim 1 , wherein receiving update information for the at least one software distribution comprises optional packages to be included with the at least one software distribution package.
23. The system of claim 1 , wherein the provisioning server is further configured to configure the target machine to retrieve third party content and update for the at least one software distribution being installed on the target machine.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
June 14, 2007
March 6, 2012
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.