CSA Plugin
The CSA plugin is the central point for integration with HP CSA. It dynamically creates supported plugin instances to query resource information from CSA providers and report these to Moab. It also exposes several web services used to integrate with the lifecycle management process using OO.Required Configuration
Parameter | Type | Description |
---|---|---|
csaUrl | String | The base URL of CSA. Ex: https://csa.example.com:8000/csa |
Optional Configuration
Parameter | Type | Default | Description |
---|---|---|---|
ignoreSSLErrors | Boolean | False | If true, ignores all SSL certificate errors and warnings. |
ignoreVMs | String (comma-separated) | Empty | If present, ignores all VMs with matching IDs. |
The ignoreSSLErrors option, if enabled, is very insecure. Use with caution!
All optional configuration is passed onto plugin instances that are created by the CSA plugin, such as SA.
Exposed Web Services
Method | Parameters Type | Description |
---|---|---|
serviceRequest | XML Payload | Creates virtual containers (VCs) and jobs from a CSA Servers XML request. |
serviceDelete | URL Parameter | Deletes the VC and jobs related to a CSA service request. |
serviceDeploy | URL Parameter | Queries if all jobs associated with a VC have been started by Moab and returns the hypervisors that were selected if so. |
Service Request
TheserviceRequest
service will pull multiple points of data from a Servers XML payload as shown below. The attributes used in
creating jobs and VCs are:
- CPUs required
- Memory required
- Disk required
- Template reference
- Requesting user
Request
Sample serviceRequest Request
<Servers> <Server> <created>2011-09-30T08:34:21.217-04:00</created> <id>9ecff8bc-bea2-499e-81c9-a5f2204e108e</id> <updated>2011-09-30T08:34:23.337-04:00</updated> <description>Pattern to stand up a simple RH53 server with 1 cpus, 256MB memory and a 12GB boot disk</description> <name>Server-0</name> <tags/> <classifier>Server</classifier> <domainUri>/infra/servers/9ecff8bc-bea2-499e-81c9-a5f2204e108e</domainUri> <properties/> <lifecycleState>RESERVING</lifecycleState> <opState>In-Progress</opState> <parentId>f7814d24-3e9e-40d1-acd4-972aa6a75462</parentId> <processOrder>0</processOrder> <rootId>71e4c250-fd37-4f57-9ff5-77b1986ad254</rootId> <lifecycleSubstate>PRE_TRANSITION</lifecycleSubstate> <cpus>1</cpus> <memorySize>256</memorySize> <memoryUnit>MB</memoryUnit> <osType>Linux</osType> <runState>Unknown</runState> <serverGroupId>f7814d24-3e9e-40d1-acd4-972aa6a75462</serverGroupId> <templateReference>rhel-5.4-template</templateReference> <volume0Size>12</volume0Size> <volume0Unit>GB</volume0Unit> </Server> </Servers>
Response
The return data is XML representing the VCs and jobs relating to services as shown below.Sample serviceRequest Response
<results> <vcs> <vc> <id>vc1</id> <jobs> <e>Moab.1</e> <e>Moab.2</e> </jobs> </vc> </vcs> </results>
Service Delete
TheserviceDelete
service destroys the VC and jobs associated with a CSA service request. This is to be used when the service
request is no longer needed or is canceled.Request
A single URL parameter calledid
containing the virtual container ID is required to destroy the related objects.Service Deploy
TheserviceDeploy
service is used to poll whether or not all jobs and VMs have been started by Moab that are required for a
service request.Request
A single URL parameter calledid
containing the virtual container ID is required to query for deployment status.Response
If the service has not been fully scheduled with Moab, a 500 HTTP response code is returned with an error message. If it is ready, the service returns data relating the jobs and virtual machines to which hypervisors they need to be deployed on as shwon below. CSA then uses this information to schedule the provisioning of VMs.Sample serviceDeploy Response
<results> <servers> <e> <id>9ecff8bc-bea2-499e-81c9-a5f2204e108e</id> <hypervisorId>10.0.0.1</hypervisorId> </e> <e> … </e> … </servers> </results>