IP Library Granted Patent US 9,298,482
Granted Patent B2
US 9,298,482 · App. 13/323,721 · Granted Mar 29, 2016

Plug-in based templatization framework for automating the creation of open virtualization format virtual appliances

Inventors: Narendran Sachindran (C.R. Park, IN); Alberto Giammaria (Austin, TX); Manish Gupta (Neb Sarai, IN); Manish Sethi (Vasant Kunj, IN)
Assignee: International Business Machines Corporation
G06F9/44526G06F9/45558G06F2009/45562
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,298,482
App. No.
13/323,721
Granted
Mar 29, 2016
Kind
B2
Abstract

A plug-in-based templatization framework for automating the creation of open virtualization framework (OVF) virtual appliance (VA) is provided. According to one embodiment, a framework is stored which comprises a plurality of product-specific add-ons. Each of the plurality of product-specific add-ons comprises a discovery element, an activation logic template element, an open virtualization package envelope template element. The plurality of product-specific add-ons are executed against a first virtual composite application instance while said the virtual composite application instance is executing in a first virtualization platform environment to automatically generate an open virtualization package template. A second virtual composite application instance is then deployed within a second virtualization platform environment utilizing the open virtualization package template.

Claims (68)

1. A method comprising:

storing an open virtualization package templatization framework on a data handling system, wherein said open virtualization package templatization framework comprises a plurality of product-specific add-ons, the plurality of product-specific add-ons associated with a plurality of products installed on a plurality of virtual machines in a virtual appliance, wherein a product-specific add-on of said plurality of product-specific add-ons comprises

a discovery element to discover composite application instance components for a product associated with the product-specific add-on,

an activation logic template element to generate an activation logic template specifying one or more scripts to configure a corresponding data handling system software product, and

an open virtualization package envelope template element to specify an open virtualization package envelope template and logic to populate sections of an open virtualization package envelope;

generating a resource model specifying the components of the composite application instance and interdependencies between said components utilizing said discovery element; and

executing said plurality of product-specific add-ons to automatically generate an open virtualization package template, wherein executing the activation logic template element includes:

determining, based on the resource model, a first script that is used to determine a property of the product-specific add-on,

determining dependencies for the one or more scripts, wherein determining the dependencies includes determining that a second script that utilizes the property is executed after the first script; and

generating activation logic specifying an order of execution of the one or more scripts based on the dependencies.

2. The method of claim 1 , wherein executing said plurality of product-specific add-ons further comprises:

executing said plurality of product-specific add-ons against said resource model.

3. The method of claim 2 , wherein,

said method further comprises instantiating an activation engine within each of a plurality of virtual machine images of said composite application instance; and

executing said plurality of product-specific add-ons further comprises,

generating said one or more scripts to configure said corresponding data handling system software product for each of said plurality of product-specific add-ons.

4. The method of claim 2 , wherein said open virtualization package template comprises an open virtualization format (OVF) open virtual appliance (OVA) file.

5. The method of claim 4 , wherein executing said plurality of product-specific add-ons further comprises:

populating one or more of a File References Section, a Disk Section, a Virtual System Section, and a Virtual Hardware Section of an OVF envelope of said OVA file utilizing one or more discovery elements of said plurality of product-specific add-ons; and

populating one or more Product Sections of said OVF envelope of said OVA file utilizing one or more open virtualization package envelope template elements of said plurality of product-specific add-ons.

6. The method of claim 2 , wherein generating said resource model comprises:

generating said resource model specifying components of said composite application instance and interdependencies between said components utilizing a Common Data Model (CDM) information model.

7. The method of claim 1 , said method further comprising:

receiving data specifying an additional product-specific add-on; and

including said additional product-specific add-on to said plurality of product-specific add-ons.

8. A computer program product comprising a computer-readable storage medium having computer-usable program code embodied therewith, the computer-usable program code, when executed by a computer system, causes said computer system to perform operations comprising:

storing an open virtualization package templatization framework on a data handling system, wherein

said open virtualization package templatization framework comprises a plurality of product-specific add-ons, the plurality of product-specific add-ons associated with a plurality of products installed on a plurality of virtual machines in a virtual appliance,

wherein a product-specific add-on of said plurality of product-specific add-ons comprises

a discovery element to discover composite application instance components for a product associated with the product-specific add-on,

an activation logic template element to generate an activation logic template specifying one or more scripts to configure a corresponding data handling system software product, and

an open virtualization package envelope template element to specify an open virtualization package envelope template and logic to populate sections of an open virtualization package envelope;

generating a resource model specifying the components of the composite application instance and interdependencies between said components utilizing said discovery element; and

executing said plurality of product-specific add-ons to automatically generate an open virtualization package template, wherein executing the activation logic template element includes:

determining, based on the resource model a first script that is used to determine a property of the product-specific add-on,

determining dependencies for the one or more scripts, wherein determining the dependencies includes determining that a second script that utilizes the property is executed after the first script; and

generating activation logic specifying an order of execution of the one or more scripts based on the dependencies.

9. The computer program product of claim 8 , wherein executing said plurality of product-specific add-ons further comprises:

executing said plurality of product-specific add-ons against said resource model.

10. The computer program product of claim 9 , wherein,

said operations further comprise instantiating an activation engine within each of a plurality of virtual machine images of said composite application instance; and

executing said plurality of product-specific add-ons further comprises,

generating said one or more scripts to configure said corresponding data handling system software product for each of said plurality of product-specific add-ons.

11. The computer program product of claim 9 , wherein said open virtualization package template comprises an open virtualization format (OVF) open virtual appliance (OVA) file.

12. The computer program product of claim 11 , wherein executing said plurality of product-specific add-ons further comprises:

populating one or more of a File References Section, a Disk Section, a Virtual System Section, and a Virtual Hardware Section of an OVF envelope of said OVA file utilizing one or more discovery elements of said plurality of product-specific add-ons; and

populating one or more Product Sections of said OVF envelope of said OVA file utilizing one or more open virtualization package envelope template elements of said plurality of product-specific add-ons.

13. The computer program product of claim 9 , wherein generating said resource model comprises:

generating said resource model specifying components of said composite application instance and interdependencies between said components utilizing a Common Data Model (CDM) information model.

14. The computer program product of claim 8 , said operations further comprising:

invoking at least a portion of said open virtualization package template in response to a deployment of said open virtualization package template within a second virtualization platform environment.

15. The computer program product of claim 8 , said operations further comprising:

receiving data specifying an additional product-specific add-on; and

including said additional product-specific add-on to said plurality of product-specific add-ons.

16. A data handling system comprising:

a processor; and

a memory coupled to said processor to store computer-useable program code, which when executed by said processor, causes said processor to:

store an open virtualization package templatization framework on said data handling system, wherein

said open virtualization package templatization framework comprises a plurality of product-specific add-ons, the plurality of product-specific add-ons associated with a plurality of products installed on a plurality of virtual machines in a virtual appliance,

wherein a product-specific add-on at least one of said plurality of product-specific add-ons comprises

a discovery element to discover composite application instance components for a product associated with the product-specific add-on,

an activation logic template element to generate an activation logic template specifying one or more scripts to configure a corresponding data handling system software product, and

an open virtualization package envelope template element to specify an open virtualization package envelope template and logic to populate sections of an open virtualization package envelope;

generate a resource model specifying the components of the composite application instance and interdependencies between said components utilizing said discovery element; and

execute said plurality of product-specific add-ons to automatically generate an open virtualization package template, wherein execution of the activation logic template element includes:

determine, based on the resource model, a first script that is used to determine a property of the product-specific add-on,

determine dependencies for the one or more scripts, wherein determining the dependencies includes determining that a second script that utilizes the property is executed after the first script; and

generate activation logic specifying an order of execution of the one or more scripts based on the dependencies.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2012
From: SACHINDRAN, NARENDRAN; GIAMMARIA, ALBERTO; GUPTA, MANISH; SETHI, MANISH
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 027795/0660 →
Continuity (1)
Related Publication 20130152080A1 · Jun 13, 2013