This page describes basic remote services management with the Abiquo API. Before you begin this tutorial, create a datacenter, using the UI or the API, as described in the API Infrastructure Tutorial.
Introduction to Remote Services and Locations
When you create a location (datacenter or public cloud region), you will supply the URLs of remote services. These remote services will be registered in Abiquo and they will also be assigned to the location you are creating.
There are some requirements when dealing with remote services:
- The appliance manager and the business process manager are location-restricted remote services. These remote services can only be assigned to a single datacenter and you must supply the datacenter when they are created and they must be deleted when the location is deleted.
- To create an OpenStack region in a fresh install, you need to pre-create a cloud provider proxy remote service.
When you delete a location, the location-restricted remote services will be deleted, but the other remote services may remain in Abiquo. These remote services will not be assigned to any location.
Details of Remote Services
The details of the Abiquo remote services are listed in the following table.
Remote service | Protocol | Port | Extension |
---|---|---|---|
Virtualization manager | http:// | 8009 | virtualfactory |
Monitor manager | http:// | 8009 | vsm |
Appliance manager | http:// | 8009 | am |
Discovery manager | http:// | 8009 | nodecollector |
Storage manager | http:// | 8009 | ssm |
Business process manager | http:// | 8009 | bpm-async |
DHCP service | omapi:// | 7911 | |
DHCPV6 service | omapi:// | 7911 | |
Remote access manager | guacd:// | 4822 |
Depending on your system, other configurations are possible, for example, to avoid CORS issues, you might decide to configure AM access through HTTPS on port 443.
Retrieve Existing Remote Services
Retrieve all the remote services currently registered in Abiquo.
See https://wiki.abiquo.com/api/latest/RemoteServicesResource.html#list-remote-services
Check Remote Services
The following example shows how to check a remote service from the IP address (as with the check button in the UI). In this case we are checking a CLOUD_PROVIDER_PROXY. If you want to check other remote services, just replace cloud provider proxy details with the other details in the example below. For a list of remote service types, see Infrastructure View
Check a remote service from the IP address
cURL:
curl -X POST https://example.com:443/api/config/action/remoteservicecheck \ -H 'Content-Type:application/vnd.abiquo.remoteservice+json;version=4.6' \ -d @requestpayload.json \ -u admin:xabiquo --verbose
Success status code: 204
Request payload:
{ "links":[], "type":"NARS", "uri":"http://mjsrs.bcn.abiquo.com:8009/nars" }
Response payload:
--none--
Check a remote service that is already registered in Abiquo
To check a remote service that is already registered in Abiquo, you can use the link in the remote service entity or its ID.
See https://wiki.abiquo.com/api/latest/RemoteServicesResource.html#check-a-remote-service
Modify a remote service to add it to locations
To modify a remote service to add it to public cloud regions or datacenters, perform a PUT request with a remote service entity containing the links to the locations where you want to add the remote service.
https://wiki.abiquo.com/api/latest/RemoteServicesResource.html#update-a-remote-service