Distributing Grid Libraries
The GridServer system provides a Resource Deployment mechanism for securely distributing Grid Libraries. The Grid Libraries to be deployed are uploaded to the Primary Director. The resources on the Director are synchronized to Brokers, and then Brokers synchronize the files with Engines. The files are secure in that they cannot be accessed by anyone on the network, only the Engines.
Maker/Checker Support
In an enterprise grid environment, there might be multiple groups responsible for creating resources. It might be necessary to minimize contention between the groups. For instance, two groups might use the same core third party library and have packaged it as a Grid Library, but each might have assigned the same version number to a slightly different patch level, causing Engines to frequently restart.
To address this, there are two sets of resources for two different user roles. The “maker” user has access to a staging area, where they can upload resources to a staging area. The “checker” user then validates the resources (ensuring that there is not a version conflict in our example) and deploys the resources. A “maker” user has a Security Role with access to the Resource Deployment Maker feature (such as the default Manage role.) A “checker” has access to the Resource Deployment Checker feature (such as the default Configure role.)
If a Director to Broker sync fails for any reason, or if a file sign check fails for any reason, the Broker to Engine sync is disabled until the next successful sync or sign. When in this state, Engines act as if sync is disabled, and continue being operational with their current set of resources.
The Resource Deployment Interface
The Administration Tool provides a graphical interface to manage resources synchronized to Engines. To manage resources, on the Primary Director, go to Services > Services > Grid Libraries. The Grid Libraries page features a file browser that can be used to manage Grid Libraries.
The Grid Libraries page displays a list of Grid Libraries. To upload a Grid Library or Filter, click Upload Grid Library at the top of the list. Click Choose File, browse to a file, then click Upload. This transfers the file into the staging directory. To download a Grid Library, click the file name in the list.
The Services > Services > Grid Libraries page
Each Grid Library can be in one of the following states:
• | New — An undeployed resource in the staging directory. |
• | Deployed — A deployed resource in the deployment directory. |
• | Error — There was an issue with an uploaded file. |
The following conditions cause an error in an uploaded Grid Library:
• | A Grid Library in the staging directory has the same name as a Grid Library in the deployment directory. You must first delete a deployed Grid Library before uploading a replacement. The Administration Tool returns an error message if you attempt to upload a file with the same name as a deployed file. If a resource is in error status, the first line displays attributes of the resource file in the deployment directory, and the second line displays attributes in the staging directory. |
• | The Grid Library’s archive file is corrupt. |
• | The Grid Library’s grid-library.xml file does not validate against the Grid Library DTD. |
The following buttons can be used on selected Grid Libraries:
• | Deploy — Deploy selected resources from the staging to the deployment directory. |
• | Delete — Delete selected directories and files from the staging and deployment directory. If the resource is in error status, only its staging copy is deleted. |
• | Update — Force an immediate file signing request and populate changes to the Engines. |
You can also show details for a Grid Library by clicking its name in the list. This opens a Grid Library Details window, which displays the following:
The Grid Library Details page
• | Properties and values set in the Grid Library’s grid-library.xml file. |
• | All Services using the Grid Library, directly or indirectly. |
• | A list of the Grid Library’s dependencies. If there are multiple dependencies, this is a browsable tree you can click to view all dependencies. |
• | A browsable tree of all files and directories in the Grid Library. |
Grid-Specific Resources for Multiple Grids
If you migrate Engines among multiple grids, you can configure GridServer to use a different resources directory for each grid. This eliminates full Grid Library synchronizations when Engines are migrated among grids, such as when using Federator to manage these grids.
To enable this feature, go to Admin > System Admin > Manager Configuration > Resource Deployment and in the Director settings, change the value of Use Grid Specific Resources to true. If set to true, resources are downloaded to resources/grid-
gridID
in the Engine installation directory, where gridID
is the Manager ID of the Primary Director instead of the resources
directory. (For example, on a Windows Engine, this can be C:\TIBCO\DataSynapse\Engine\resources\grid-1925105476
.) Note that the Primary Director must be restarted for the change to take effect.
You can also configure how many grids Engines can synchronize with by changing the value of Number of Grids to Sync. This value specifies the number of grids that have resources retained on the Engine. If the value is set to N and an Engine already has resources downloaded from N+1 grids, the resources from the least recently visited grid are deleted to conserve disk space. This value is a Director-level setting and must be set consistently across multiple grids to effectively reduce resource re-download. Note that all Brokers must be restarted for the change to take effect.