Repositories are storage areas for VMimage files and VM template files.
If a VM’s files are stored on a particular host server, that VM must be run from that host server. If a VM’s files are stored on a shared repository, that VM can be run on any host server that has access to the shared repository.
Host servers can have multiple repositories associated with them, and some repository types can be associated with multiple host servers as shared repositories. A host server can be associated with repositories stored locally on its server and with shared repositories stored on other machines.
The default size for all repositories is unlimited. To control disk space usage, you can change this default. For more information, see Capacity (Mb): in Repository Information.
The repository groups and their constituent repository objects are displayed in the Explorer panel and the accompanying Repository Admin View of the Development Client.
Any group object displayed in the Explorer panel represents a collection of similar object types. Groups can also be created automatically, as in the case when a provisioning adapter (PA) discovers a local repository on a VM host. For example, the Xen30 PA, upon discovery of a VM host, automatically creates a local repository for that VM host and places the created repository in a xen30 repository group. You can also create groups manually in the Development Client, either by clicking the menu and choosing or by right clicking the Repository object (anywhere in the Repository hierarchy) and selecting .
The page that opens under the
tab includes several collapsible sections on the page where you can configure the general information and attributes of the repository.NOTE:Whenever you make changes to any Grid object, that object’s icon is overlaid with the write icon , signifying that the object has been altered. If you want to save the changes you have made, you need to click the Save icon on the Development Client toolbar.
The following fields on the Information panel provide facts for the Repository object:
Select this check box to show facts with overridden values supplied through attached and/or inherited polices. Such fact values are read only (non-editable).
The Repository Information panel on the Info/Groups page includes the following fields:
NOTE:Tool tip text is available when you mouse over any of these fields.
Description: Enter information in this box that describes the nature or purpose of this repository.
In the Fact Editor, this fact is listed as repository.description:
<fact name="repository.description" value="" type="String" />
Repository Enabled: This check box is selected by default. When it is selected (that is, its value is “true”), VMs can be moved to this repository or they can be provisioned from it.
In the Fact Editor, this fact is listed as repository.enabled:
<fact name="repository.enabled" value="true" type="Boolean" />
Healthy: This check box is selected by default. When it is selected (that is, its value is “true”), the repository is designated as being in good health. You can set the health of the object by selecting or deselecting the health check box. Changing the value in this way has an immediate effect unless the value is overriden by an attached policy (this follows the normal rules of policy inheritance). For more information, see Section A.0, Grid Object Health Monitoring
In the Fact Editor, this is fact is listed as repository.health:
<fact name="repository.health" value="true" type="Boolean" />
Type: Select the repository type for this Repository object by selecting an option from the drop-down list.
In the Fact Editor, this fact is listed as repository.type:
<fact name="repository.type" value="local" type="String" />
The following table includes information about the various repository types:
Table 5-1 Repository Types and Descriptions
SAN ID: (SAN repositories only) This field displays the SAN ID (the Virtual Fabric ID) for this repository.
In the Fact Editor, this fact is listed as repository.id:
<fact name="repository.id" value="test1" type="String" />
Root Location: Enter the repository’s logical root location in this field. You can also think of this as the base location for all VM files (and subdirectories) contained within this repository.
In the Fact Editor, this fact is listed as repository.location:
<fact name="repository.location" value="/" type="String" />
The table below provides some examples you can consider as you enter a shared root path in this field. For more information, see Best Practices for Entering Repository File Paths.
Table 5-2 Repository Types and Root Location Examples
VM Config Search Path: Enter the relative path (from repository.location) to be used during discover of VM configuration files. This fact also implicitly includes the resource.preferredpath fact. For xen30 repositories, the default path is /etc/xen/vm.
In the Fact Editor, this fact is listed as an array:
<fact name="repository.searchpath"> <array> <string>/etc/xen/vm</string> </array> </fact>
IMPORTANT:If you use this field, do not include a leading forward slash ( / ) in the path. For more information, see Best Practices for Entering Repository File Paths.
The button opens the Attribute element values dialog box where you can add, remove, or edit the path (element values) in an array of path choices.
The table below provides some examples you can consider as you enter a search path in this field.
Table 5-3 Repository Types and VM Config Search Path Examples
Preferred Storage Path: Enter the relative path (from repository.location) where you want PlateSpin Orchestrate to place the VM files after a move or a clone operation.
In the Fact Editor, this fact is listed as repository.preferredpath:
<fact name="repository.preferredpath" value="" type="String" />
IMPORTANT:If you use this field, do not include a leading forward slash ( / ) in the path. For more information, see Best Practices for Entering Repository File Paths.
Table 5-4 Repository Types and Preferred Storage Path Examples
Repository Type |
Preferred Storage Path Examples |
---|---|
local |
var/lib/xen/images for Xen VMs |
NAS (Network Attached Storage) |
my_vms |
SAN (Storage Area Network) |
not required |
datagrid |
grid:///vms |
virtual |
Capacity (Mb): Enter the maximum amount (in megabytes) of storage space available to VMs. The default (-1) designates an unlimited amount of space.
In the Fact Editor, this fact is listed as repository.capacity:
<fact name="repository.capacity" value="-1" type="Integer" />
Used Space (Mb): This is a non-editable field that displays the amount (in megabytes) of storage space used for VMs.
In the Fact Editor, this fact is listed as repository.usedspace:
<fact name="repository.usedspace" value="0" type="Integer" />
Free Space (Mb): This is a non-editable field that displays the amount (in megabytes) of storage space available to new VMs. The value is always set to -1, which designates an unlimited amount of space.
In the Fact Editor, this fact is listed as repository.freespace:
<fact name="repository.freespace" value="-1" type="Integer" />
Efficiency: Enter an efficiency coefficient that PlateSpin Orchestrate uses to calculate the cost of moving VM disk images to and from the repository. This value is multiplied by the disk image size (in megabytes) to determine an efficiency score. A score of zero (0) means no cost (very efficient).
In the Fact Editor, this fact is listed as repository.efficiency:
<fact name="repository.efficiency" value="1.0000" type="Real" />
Stored VMs: This field displays a list of VM images stored in this repository. The list is aggregated from individual VM facts.
In the Fact Editor, this fact is listed as an array:
<fact name="repository.vmimages"> <array type="String"> </array> </fact>
You can edit this array by clicking the button to open the Attribute element values dialog box. In this dialog box you can add, remove, or edit the VM host IDs (element values) in an array of VM host ID choices.
Compatible VM Hosts: This field displays a list of VM hosts capable of using this repository. The list is aggregated from individual VM facts.
In the Fact Editor, this fact is listed as an array:
<fact name="repository.vmhosts">
<array>
<string>tszen4_xen30</string>
</array>
</fact>
You can edit this array by clicking the button to open the Attribute element values dialog box. In this dialog box you can add, remove, or edit the VM host IDs (element values) in an array of VM host ID choices.
Accessed By Provision Adapters: This field displays a list of provisioning adapter jobs that are allowed access to VMs on this repository.
In the Fact Editor, this fact is listed as an array:
<fact name="repository.provisioner.jobs">
<array>
<string>xen30</string>
</array>
</fact>
You can edit this array by clicking the button to open the Choose Grid Objects dialog box. In this dialog box you can add or remove provisioning adapters to the array of provisioning adapter choices.
NOTE:In the Fact Editor, you edit the provisioning adapter array by using the Attribute element values dialog box.
SAN Adapter Vendor: (SAN repositories only) Enter the name of the vendor of the SAN. This should be adapter specific, for example: iqn, npiv, emc. An empty field (that is, no value in the string) indicates bind/unbind is a noop (no operation performed).
In the Fact Editor, this fact is listed as repository.san.vendor:
<fact name="repository.san.vendor" value="" type="String" />
SAN Transport: (SAN repositories only) From the drop-down list, select
or to indicate the type of SAN transport this repository uses.In the Fact Editor, this fact is listed as repository.san.type:
<fact name="repository.san.type" value="" type="String" />
Because of some limitations in the current (2.0.2) release of PlateSpin Orchestrate, we suggest that you use the following guidelines in scenarios where you need VM repositories.
If you are creating a repository for new VMs that you will eventually provision, use the following steps:
In the field, enter the location for the new repository.
Example: /vms_new
In the field, enter the path to your image file store (relative to the Root Location path). This becomes the path for VM configuration files and VM image files when you associate a VM with this repository.
Example: images (no leading forward slash)
Because the fields are concatenated, the provisioning adapter searches for the existing VM files in /vms_new/images.
When you already have VMs in your grid, so a store for the VM configuration and disk image files already exists,
In the field, enter the shared location for this repository.
Example: /vms_new
In the field, enter the search path to your existing configuration file store (relative to the Root Location path).
Example: old_config (no leading forward slash)
Because the fields are concatenated, the provisioning adapter searches for the existing VM configuration files in /vms_new/old_config.
In the field, enter the path to your existing image file store (relative to the Root Location path). This also becomes the path for VM configuration files and VM image files when you associate a VM with this repository.
Example: all_images (no leading forward slash)
Because the fields are concatenated, the provisioning adapter searches for the existing VM files in /vms_new/all_images.
When you want to create a repository for existing VMs that have a shared root path but separate configuration file directories, (for example, /vms_new/old_config1 and /vms_new/old_config2)
In the field, enter the shared location for this repository.
Example: /vms_new
In the field, enter the search paths to your existing configuration file store (relative to the Root Location path).
Example: Adjacent to the old_config1 (no leading forward slash), click , click again, enter old_config2 (no leading forward slash), then click .
field, click , click , enterBecause the fields are concatenated, the provisioning adapter searches for the existing VM configuration files in the array consisting of /vms_new/old_config1 and /vms_new/old_config2.
In the field, enter the path to your existing image file store (relative to the Root Location path). This path will also become the path for VM configuration files and VM image files after a move or clone when a VM has been associated with this repository.
Example: all_images (no leading forward slash)
Because the fields are concatenated, the provisioning adapter searches for the existing VM files in /vms_new/all_images.
This section of the Info/Groups page lists the groups of Repository objects in the grid. Click
to open the repository Group selection dialog box. In this dialog box, you can choose which Repository Groups to display in the Explorer Panel by selecting a group and then clicking or to move it to or from the Source Repository Groups list.The Polices tab opens a page that contains a policy viewer for each of the policies associated with a Grid object.
NOTE:You can edit a policy by right-clicking a policy icon, selecting
and clicking the Save icon.The Health Debugger is a common Admin view in the Development Client for most Grid objects. For information about this tool, see Section 6.0, The Health Debugger.
The Constraints/Facts tab opens a page that shows all of the effective constraints and facts for a Grid object. Each Grid object has an associated set of facts and constraints that define its properties. In essence, by building, deploying, and running jobs on the PlateSpin Orchestrate Server, you can individually change the functionality of any and all system resources by managing an object’s facts and constraints. The Orchestrate Server assigns default values to each of the component facts, although they can be changed at any time by the administrator, unless they are read-only. Facts with mode r/o have read-only values, which can be viewed (that is, using the edit “pencil” icon) but changes cannot be made.
The Action History tab is displayed in the administrative view of the Repository object. When you select the Action History tab, a table displays a list of the history for all actions performed on this Grid object.
The Orchestrate Server must be connected to an audit database for the
check box to be available. If the check box is selected in this view, the action status is not polled. Click the refresh icon in the toolbar to fetch and display fresh data.For more details about the information listed on the Action History page, see Section D.2.2, Action History in Admin Views of the Development Client.