Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • The platform should be installed in a test environment, see Installation
  • The platform should have a license added, on the License tab in Configuration view#Licenses
  • You should have basic general knowledge of the Abiquo platform, see the Get Startedstarted section
  • You should have worked with the Abiquo user interface, for example, by working through the Abiquo quick tutorial
  • You should have API credentials and a chosen authentication method, see Authentication
    • This tutorial uses the Cloud Administrator default account and does not show proper authentication

This tutorial corresponds to the UI information on the Compute in datacenters page.

Create a

...

datacenter

In this step you will create a new datacenter in a fresh install, sending a list of links to remote services.

...

Expand
titleClick here to show/hide the example


Code Block
{
   "id":3,
   "name":"BCDC",
   "location":"Barcelona",
   "remoteServices":{
      "links":[

      ],
      "collection":[
         {
            "id":10,
            "type":"VIRTUAL_FACTORY",
            "uri":"http://example.com:8009/virtualfactory",
            "uuid":"Abiquo",
            "status":1,
            "links":[
               {
                  "title":"VIRTUALFACTORY",
                  "rel":"edit",
                  "type":"application/vnd.abiquo.remoteservice+json",
                  "href":"https://example.com:443/api/admin/remoteservices/10"
               },
               {
                  "title":"check",
                  "rel":"check",
                  "type":"",
                  "href":"https://example.com:443/api/admin/remoteservices/10/action/check"
               },
               {
                  "title":"BCDC",
                  "rel":"datacenter",
                  "type":"application/vnd.abiquo.datacenter+json",
                  "href":"https://example.com:443/api/admin/datacenters/3"
               }
            ]
         },
         {
            "id":11,
            "type":"VIRTUAL_SYSTEM_MONITOR",
            "uri":"http://example.com:8009/vsm",
            "uuid":"Abiquo",
            "status":1,
            "links":[
               {
                  "title":"VIRTUALSYSTEMMONITOR",
                  "rel":"edit",
                  "type":"application/vnd.abiquo.remoteservice+json",
                  "href":"https://example.com:443/api/admin/remoteservices/11"
               },
               {
                  "title":"check",
                  "rel":"check",
                  "type":"",
                  "href":"https://example.com:443/api/admin/remoteservices/11/action/check"
               },
               {
                  "title":"BCDC",
                  "rel":"datacenter",
                  "type":"application/vnd.abiquo.datacenter+json",
                  "href":"https://example.com:443/api/admin/datacenters/3"
               }
            ]
         },
         {
            "id":12,
            "type":"APPLIANCE_MANAGER",
            "uri":"http://example.com:8009/am",
            "uuid":"Abiquo",
            "status":1,
            "links":[
               {
                  "title":"APPLIANCEMANAGER",
                  "rel":"edit",
                  "type":"application/vnd.abiquo.remoteservice+json",
                  "href":"https://example.com:443/api/admin/remoteservices/12"
               },
               {
                  "title":"check",
                  "rel":"check",
                  "type":"",
                  "href":"https://example.com:443/api/admin/remoteservices/12/action/check"
               },
               {
                  "title":"BCDC",
                  "rel":"datacenter",
                  "type":"application/vnd.abiquo.datacenter+json",
                  "href":"https://example.com:443/api/admin/datacenters/3"
               }
            ]
         },
         {
            "id":13,
            "type":"NARS",
            "uri":"http://example.com:8009/nars",
            "uuid":"Abiquo",
            "status":1,
            "links":[
               {
                  "title":"NARS",
                  "rel":"edit",
                  "type":"application/vnd.abiquo.remoteservice+json",
                  "href":"https://example.com:443/api/admin/remoteservices/13"
               },
               {
                  "title":"check",
                  "rel":"check",
                  "type":"",
                  "href":"https://example.com:443/api/admin/remoteservices/13/action/check"
               },
               {
                  "title":"BCDC",
                  "rel":"datacenter",
                  "type":"application/vnd.abiquo.datacenter+json",
                  "href":"https://example.com:443/api/admin/datacenters/3"
               }
            ]
         },
         {
            "id":14,
            "type":"STORAGE_SYSTEM_MONITOR",
            "uri":"http://example.com:8009/ssm",
            "uuid":"Abiquo",
            "status":1,
            "links":[
               {
                  "title":"STORAGESYSTEMMONITOR",
                  "rel":"edit",
                  "type":"application/vnd.abiquo.remoteservice+json",
                  "href":"https://example.com:443/api/admin/remoteservices/14"
               },
               {
                  "title":"check",
                  "rel":"check",
                  "type":"",
                  "href":"https://example.com:443/api/admin/remoteservices/14/action/check"
               },
               {
                  "title":"BCDC",
                  "rel":"datacenter",
                  "type":"application/vnd.abiquo.datacenter+json",
                  "href":"https://example.com:443/api/admin/datacenters/3"
               }
            ]
         },
         {
            "id":15,
            "type":"BPM_SERVICE",
            "uri":"http://example.com:8009/bpm-async",
            "uuid":"Abiquo",
            "status":1,
            "links":[
               {
                  "title":"BPMSERVICE",
                  "rel":"edit",
                  "type":"application/vnd.abiquo.remoteservice+json",
                  "href":"https://example.com:443/api/admin/remoteservices/15"
               },
               {
                  "title":"check",
                  "rel":"check",
                  "type":"",
                  "href":"https://example.com:443/api/admin/remoteservices/15/action/check"
               },
               {
                  "title":"BCDC",
                  "rel":"datacenter",
                  "type":"application/vnd.abiquo.datacenter+json",
                  "href":"https://example.com:443/api/admin/datacenters/3"
               }
            ]
         },
         {
            "id":16,
            "type":"DHCP_SERVICE",
            "uri":"omapi://example.com:7911/",
            "status":1,
            "links":[
               {
                  "title":"DHCPSERVICE",
                  "rel":"edit",
                  "type":"application/vnd.abiquo.remoteservice+json",
                  "href":"https://example.com:443/api/admin/remoteservices/16"
               },
               {
                  "title":"BCDC",
                  "rel":"datacenter",
                  "type":"application/vnd.abiquo.datacenter+json",
                  "href":"https://example.com:443/api/admin/datacenters/3"
               }
            ]
         },
         {
            "id":17,
            "type":"DHCPv6",
            "uri":"omapi://example.com:7911/",
            "status":1,
            "links":[
               {
                  "title":"DHCPv6",
                  "rel":"edit",
                  "type":"application/vnd.abiquo.remoteservice+json",
                  "href":"https://example.com:443/api/admin/remoteservices/17"
               },
               {
                  "title":"BCDC",
                  "rel":"datacenter",
                  "type":"application/vnd.abiquo.datacenter+json",
                  "href":"https://example.com:443/api/admin/datacenters/3"
               }
            ]
         },
         {
            "id":18,
            "type":"REMOTE_ACCESS",
            "uri":"guacd://example.com:4822/",
            "status":1,
            "links":[
               {
                  "title":"REMOTEACCESS",
                  "rel":"edit",
                  "type":"application/vnd.abiquo.remoteservice+json",
                  "href":"https://example.com:443/api/admin/remoteservices/18"
               },
               {
                  "title":"BCDC",
                  "rel":"datacenter",
                  "type":"application/vnd.abiquo.datacenter+json",
                  "href":"https://example.com:443/api/admin/datacenters/3"
               }
            ]
         }
      ]
   },
   "links":[
      {
         "title":"BCDC",
         "rel":"edit",
         "type":"application/vnd.abiquo.datacenter+json",
         "href":"https://example.com:443/api/admin/datacenters/3"
      },
      {
         "title":"racks",
         "rel":"racks",
         "type":"application/vnd.abiquo.racks+json",
         "href":"https://example.com:443/api/admin/datacenters/3/racks"
      },
      {
         "title":"remote services",
         "rel":"remoteservices",
         "type":"application/vnd.abiquo.remoteservices+json",
         "href":"https://example.com:443/api/admin/datacenters/3/remoteservices"
      },
      {
         "title":"update resources",
         "rel":"updateusedresources",
         "type":"",
         "href":"https://example.com:443/api/admin/datacenters/3/action/updateusedresources"
      },
      {
         "title":"datastores",
         "rel":"datastores",
         "type":"application/vnd.abiquo.datastores+json",
         "href":"https://example.com:443/api/admin/datacenters/3/datastores"
      },
      {
         "title":"hypervisors",
         "rel":"hypervisors",
         "type":"application/vnd.abiquo.hypervisortypes+json",
         "href":"https://example.com:443/api/admin/datacenters/3/hypervisors"
      },
      {
         "title":"enterprises",
         "rel":"enterprises",
         "type":"application/vnd.abiquo.enterprises+json",
         "href":"https://example.com:443/api/admin/datacenters/3/action/enterprises"
      },
      {
         "title":"discover",
         "rel":"discover",
         "type":"application/vnd.abiquo.machines+json",
         "href":"https://example.com:443/api/admin/datacenters/3/action/discover"
      },
      {
         "title":"machines state",
         "rel":"checkmachinestate",
         "type":"application/vnd.abiquo.machinestate+json",
         "href":"https://example.com:443/api/admin/datacenters/3/action/checkmachinestate"
      },
      {
         "title":"machines ipmi",
         "rel":"checkmachineipmistate",
         "type":"application/vnd.abiquo.machineipmistate+json",
         "href":"https://example.com:443/api/admin/datacenters/3/action/checkmachineipmistate"
      },
      {
         "title":"tiers",
         "rel":"tiers",
         "type":"application/vnd.abiquo.tiers+json",
         "href":"https://example.com:443/api/admin/datacenters/3/storage/tiers"
      },
      {
         "title":"storage devices",
         "rel":"devices",
         "type":"application/vnd.abiquo.storagedevices+json",
         "href":"https://example.com:443/api/admin/datacenters/3/storage/devices"
      },
      {
         "title":"devices",
         "rel":"devices",
         "type":"application/vnd.abiquo.devices+json",
         "href":"https://example.com:443/api/admin/datacenters/3/devices"
      },
      {
         "title":"network service types",
         "rel":"networkservicetypes",
         "type":"application/vnd.abiquo.networkservicetypes+json",
         "href":"https://example.com:443/api/admin/datacenters/3/networkservicetypes"
      },
      {
         "title":"public networks",
         "rel":"network",
         "type":"application/vnd.abiquo.vlans+json",
         "href":"https://example.com:443/api/admin/datacenters/3/network"
      },
      {
         "title":"external ips",
         "rel":"externalips",
         "type":"application/vnd.abiquo.externalips+json",
         "href":"https://example.com:443/api/admin/datacenters/3/network/action/externalips"
      },
      {
         "title":"limits",
         "rel":"getLimits",
         "type":"application/vnd.abiquo.limits+json",
         "href":"https://example.com:443/api/admin/datacenters/3/action/getlimits"
      },
      {
         "title":"datastore tiers",
         "rel":"datastoretiers",
         "type":"application/vnd.abiquo.datastoretiers+json",
         "href":"https://example.com:443/api/admin/datacenters/3/datastoretiers"
      },
      {
         "title":"backup policies",
         "rel":"backuppolicies",
         "type":"application/vnd.abiquo.backuppolicies+json",
         "href":"https://example.com:443/api/admin/datacenters/3/backuppolicies"
      },
      {
         "title":"backup datacenter properties",
         "rel":"backupproperties",
         "type":"application/vnd.abiquo.backupdatacenterproperties+json",
         "href":"https://example.com:443/api/admin/datacenters/3/backupproperties"
      },
      {
         "title":"datacenter hardware profiles",
         "rel":"hardwareprofiles",
         "type":"application/vnd.abiquo.hardwareprofiles+json",
         "href":"https://example.com:443/api/admin/datacenters/3/hardwareprofiles"
      },
      {
         "title":"excluded networks",
         "rel":"excludednetworks",
         "type":"application/vnd.abiquo.excludednetworks+json",
         "href":"https://example.com:443/api/admin/datacenters/3/excludednetworks"
      },
      {
         "title":"Default Tier",
         "rel":"defaultdatastoretier",
         "type":"application/vnd.abiquo.datastoretier+json",
         "href":"https://example.com:443/api/admin/datacenters/3/datastoretiers/2"
      },
      {
         "title":"metricsmetadata",
         "rel":"metricsmetadata",
         "type":"application/vnd.abiquo.metricsmetadata+json",
         "href":"https://example.com:443/api/admin/datacenters/3/metrics"
      },
      {
         "title":"collectd",
         "rel":"collectd",
         "type":"application/json",
         "href":"https://example.com:443/api/admin/datacenters/3/metrics/collectd"
      },
      {
         "title":"alarmssearch",
         "rel":"alarmssearch",
         "type":"application/vnd.abiquo.alarms+json",
         "href":"https://example.com:443/api/admin/datacenters/3/alarms"
      },
      {
         "title":"natnetworks",
         "rel":"natnetworks",
         "type":"application/vnd.abiquo.natnetworks+json",
         "href":"https://example.com:443/api/admin/datacenters/3/natnetworks"
      },
      {
         "title":"Get nat ips",
         "rel":"natips",
         "type":"application/vnd.abiquo.natips+json",
         "href":"https://example.com:443/api/admin/datacenters/3/natnetworks/action/allips"
      },
      {
         "title":"Get nat rules",
         "rel":"natrules",
         "type":"application/vnd.abiquo.natrules+json",
         "href":"https://example.com:443/api/admin/datacenters/3/natnetworks/action/allrules"
      }
   ]
}


Add a

...

rack

In Abiquo, hypervisors and container servers are organized in racks, in order to share the same network infrastructure and for high availability, for example.

To create a rack, you will need to make a POST request to the datacenter's racks link, which you can find in the response to the create datacenter request or from a GET to the datacenter link. In this example, we will use the racks link from the datacenter created above and a rack entity file. The rack entity is documented on the Abiquo Data Media Typesdata media types page, but you should also read the Compute in datacenters page in the User Manual, which provides more information about Abiquo racks. In particular, you should pay attention to the network parameters, which establish the VLAN tags that are available for Abiquo to use in the switch for Abiquo private networks. Even if you are using an SDN system, you will still need to define the tag range for Abiquo.

...

Expand
titleClick here to show/hide the response


Code Block
{
   "id":2,
   "haEnabled":false,
   "name":"bcdc_rack_01",
   "nrsq":10,
   "shortDescription":"KVM rack",
   "vlanIdMax":4094,
   "vlanIdMin":2,
   "vlanPerVdcReserved":1,
   "vlansIdAvoided":"1-20",
   "links":[
      {
         "title":"BCDC",
         "rel":"datacenter",
         "type":"application/vnd.abiquo.datacenter+json",
         "href":"https://example.com:443/api/admin/datacenters/3"
      },
      {
         "title":"machines",
         "rel":"machines",
         "type":"application/vnd.abiquo.machines+json",
         "href":"https://example.com:443/api/admin/datacenters/3/racks/2/machines"
      },
      {
         "title":"bcdc_rack_01",
         "rel":"edit",
         "type":"application/vnd.abiquo.rack+json",
         "href":"https://example.com:443/api/admin/datacenters/3/racks/2"
      },
      {
         "title":"collectd",
         "rel":"collectd",
         "type":"application/json",
         "href":"https://example.com:443/api/admin/datacenters/3/racks/2/metrics/collectd"
      },
      {
         "title":"metricsmetadata",
         "rel":"metricsmetadata",
         "type":"application/vnd.abiquo.metricsmetadata+json",
         "href":"https://example.com:443/api/admin/datacenters/3/racks/2/metrics"
      },
      {
         "title":"clusters",
         "rel":"clusters",
         "type":"application/vnd.abiquo.clusters+json",
         "href":"https://example.com:443/api/admin/datacenters/3/racks/2/clusters"
      },
      {
         "title":"alarmssearch",
         "rel":"alarmssearch",
         "type":"application/vnd.abiquo.alarms+json",
         "href":"https://example.com:443/api/admin/datacenters/3/racks/2/alarms"
      }
   ]
} 


 

Add a

...

cloud node

A cloud node is the physical machine and hypervisor host or container server, for example.

Retrieve the machine list from a master hypervisor

Here we use a GET request to the "discover" link of the datacenter, but we need to supply the IP address of the manager host, and its credentials as parameters.

...

Expand
titleClick here to show/hide the response


Code Block
{
    "links": [],
    "collection": [
        {
            "ip": "10.60.2.29",
            "hostname": "10.60.2.29",
            "links": []
        },
        {
            "ip": "10.60.2.23",
            "hostname": "10.60.2.23",
            "links": []
        },
        {
            "ip": "10.60.2.27",
            "hostname": "bc2blade7.bcn.abiquo.com",
            "links": []
        }
    ]
}



Retrieve a machine from a hypervisor address

Here we also use a GET request to the "discover" link of the datacenter, but we need to supply the IP address of the hypervisor host in addition to the master hypervisor address and credentials.

...

Expand
titleClick here to show/hide the response


Code Block
{
   "links":[

   ],
   "collection":[
      {
         "name":"bc2blade7.bcn.abiquo.com",
         "description":"bc2blade7.bcn.abiquo.com",
         "state":"MANAGED",
         "type":"VMX_04",
         "ip":"10.60.2.27",
         "hostname":"bc2blade7.bcn.abiquo.com",
         "ipService":"10.60.2.27",
         "ram":8191,
         "ramUsed":0,
         "cpu":8,
         "cpuUsed":0,
         "initiatorIQN":"iqn.1998-01.com.vmware:bc2blade7-0e8d430e",
         "datastores":{
            "links":[

            ],
            "collection":[
               {
                  "name":"ds-bc2blade7",
                  "rootPath":"/vmfs/volumes/5c738e99-54b3843a-49e1-0015c5ff2370",
                  "directory":"",
                  "size":137975824384,
                  "usedSize":3940548608,
                  "enabled":false,
                  "datastoreUUID":"5cae7c27-37e7-40f1-ab92-9018f360e4b8",
                  "links":[

                  ]
               },
               {
                  "name":"ABQ_44d65019-ae99-48ed-b8a6-73d7eb21f14c",
                  "rootPath":"/vmfs/volumes/ea339ed5-23f4eaec",
                  "directory":"",
                  "size":5939188432896,
                  "usedSize":5019909509120,
                  "enabled":false,
                  "datastoreUUID":"50dd038e-939b-4bec-a8c2-d32cffe92fdd",
                  "links":[

                  ]
               }
            ]
         },
         "networkInterfaces":{
            "links":[

            ],
            "collection":[
               {
                  "name":"vSwitch0",
                  "mac":"00:15:c5:ff:23:6e",
                  "links":[

                  ]
               },
               {
                  "name":"Functionals DVS",
                  "mac":"00:15:c5:ff:23:70",
                  "links":[

                  ]
               }
            ]
         },
         "managerIp":"10.60.11.242",
         "links":[

         ]
      }
   ]
} 


 

Retrieve a KVM machine

And if you're doing a test, maybe you're just using a KVM, in which case you should use the following cURL, modifying the appropriate parameters.

Code Block
GET https://example.com/api/admin/datacenters/3/action/discover?hypervisor=KVM&ip=mjskvm.bcn.abiquo.com
	-H 'Accept:application/vnd.abiquo.machines+json;version=4.6' \ 
	-d @requestpayload.json \ 
	-u user:password --verbose

 

Modify the

...

machine details

To create a machine in Abiquo, you will need to modify the response object from the previous discovery request.

Generally, you will need to obtain a single machine object, enable datastores and add a network service type.

Retrieve

...

network service type

A network service type is a tag for your networks to associate them with hypervisor NICs. By default, there is a "Service Network" type. Typically, the default Service Network type is created for each datacenter, and if you haven't created any extra network service types in your environment, the ID number of the network service type will be the same as the datacenter.

...

You will need the link with the "rel" value of "edit" to create the network service type link for the host NIC.

Modify the

...

machines DTO

Here we will walk through some basic changes to the response object from the previous machine discovery step

...

The final machine entity is shown in the following step where it is used to create the physical machine.

Create the

...

physical machine

To add a physical machine, use the machine object you retrieved earlier and modified in the previous step. Perform a POST request to the link with a "rel" value of "machines" from the rack object you created earlier. This will add the physical machine to the platform and its state should be "managed". When you need to check its state, perform a GET request to the "checkstate" link.

...

Expand
titleClick here to show/hide the response example


Code Block
{
    "id": 2,
    "name": "192.168.2.54",
    "description": "192.168.2.54",
    "state": "MANAGED",
    "type": "VMX_04",
    "ip": "192.168.2.54",
    "hostname": "192.168.2.54",
    "ipService": "192.168.2.54",
    "ram": 8191,
    "ramUsed": 0,
    "cpu": 8,
    "cpuUsed": 0,
    "initiatorIQN": "iqn.1998-01.com.vmware:bc2blade4-79876e08",
    "datastores": {
        "links": [],
        "collection": [
            {
                "id": 5,
                "name": "nfspooool",
                "rootPath": "/vmfs/volumes/2ba3e301-47b71ed5",
                "directory": "",
                "size": 5939188432896,
                "usedSize": 0,
                "enabled": false,
                "datastoreUUID": "2678ca1c-c14e-4693-984b-58dd69f05959",
                "links": [
                    {
                        "title": "nfspooool",
                        "rel": "edit",
                        "type": "application/vnd.abiquo.datastore+json",
                        "href": "https://example.com:443/api/admin/datacenters/4/racks/4/machines/2/datastores/5"
                    },
                    {
                        "title": "Default Tier",
                        "rel": "datastoretier",
                        "type": "application/vnd.abiquo.datastoretier+json",
                        "href": "https://example.com:443/api/admin/datacenters/4/datastoretiers/4"
                    }
                ]
            },
            {
                "id": 6,
                "name": "ds-bc2blade4",
                "rootPath": "/vmfs/volumes/58179796-afcc20cf-38a8-0015c5ff1d0d",
                "directory": "",
                "size": 137975824384,
                "usedSize": 0,
                "enabled": true,
                "datastoreUUID": "c87563c2-8ed4-49b2-8bc9-10ab3555e905",
                "links": [
                    {
                        "title": "ds-bc2blade4",
                        "rel": "edit",
                        "type": "application/vnd.abiquo.datastore+json",
                        "href": "https://example.com:443/api/admin/datacenters/4/racks/4/machines/2/datastores/6"
                    },
                    {
                        "title": "Default Tier",
                        "rel": "datastoretier",
                        "type": "application/vnd.abiquo.datastoretier+json",
                        "href": "https://example.com:443/api/admin/datacenters/4/datastoretiers/4"
                    }
                ]
            },
            {
                "id": 7,
                "name": "nardolocallll",
                "rootPath": "/vmfs/volumes/9d68c024-ba040d76",
                "directory": "",
                "size": 118013599744,
                "usedSize": 0,
                "enabled": false,
                "datastoreUUID": "86a231a1-216a-4d08-aa39-b91713623744",
                "links": [
                    {
                        "title": "nardolocallll",
                        "rel": "edit",
                        "type": "application/vnd.abiquo.datastore+json",
                        "href": "https://example.com:443/api/admin/datacenters/4/racks/4/machines/2/datastores/7"
                    },
                    {
                        "title": "Default Tier",
                        "rel": "datastoretier",
                        "type": "application/vnd.abiquo.datastoretier+json",
                        "href": "https://example.com:443/api/admin/datacenters/4/datastoretiers/4"
                    }
                ]
            },
            {
                "id": 8,
                "name": "ABQ_411cb5cb-1079-4d14-8dd9-404e02533397",
                "rootPath": "/vmfs/volumes/e790e2b9-7d7adc9f",
                "directory": "",
                "size": 5939188432896,
                "usedSize": 0,
                "enabled": false,
                "datastoreUUID": "71a9fa3c-9edb-4bd1-8a69-323b0cb6f4f9",
                "links": [
                    {
                        "title": "ABQ_411cb5cb-1079-4d14-8dd9-404e02533397",
                        "rel": "edit",
                        "type": "application/vnd.abiquo.datastore+json",
                        "href": "https://example.com:443/api/admin/datacenters/4/racks/4/machines/2/datastores/8"
                    },
                    {
                        "title": "Default Tier",
                        "rel": "datastoretier",
                        "type": "application/vnd.abiquo.datastoretier+json",
                        "href": "https://example.com:443/api/admin/datacenters/4/datastoretiers/4"
                    }
                ]
            }
        ]
    },
    "networkInterfaces": {
        "links": [],
        "collection": [
            {
                "name": "vSwitch0",
                "mac": "00:15:c5:ff:1d:0b",
                "links": []
            },
            {
                "name": "dvSwitchprimary",
                "mac": "00:15:c5:ff:1d:0d",
                "links": [
                    {
                        "title": "dvSwitchprimary",
                        "rel": "networkservicetype",
                        "type": "application/vnd.abiquo.networkservicetype+json",
                        "href": "https://example.com:443/api/admin/datacenters/4/networkservicetypes/4"
                    }
                ]
            }
        ]
    },
    "managerIp": "10.60.11.242",
    "links": [
        {
            "title": "bcdc_rack_03",
            "rel": "rack",
            "type": "application/vnd.abiquo.rack+json",
            "href": "https://example.com:443/api/admin/datacenters/4/racks/4"
        },
        {
            "title": "192.168.2.54",
            "rel": "edit",
            "type": "application/vnd.abiquo.machine+json",
            "href": "https://example.com:443/api/admin/datacenters/4/racks/4/machines/2"
        },
        {
            "title": "datastores",
            "rel": "datastores",
            "type": "application/vnd.abiquo.datastores+json",
            "href": "https://example.com:443/api/admin/datacenters/4/racks/4/machines/2/datastores"
        },
        {
            "title": "refresh",
            "rel": "refresh",
            "type": "",
            "href": "https://example.com:443/api/admin/datacenters/4/racks/4/machines/2/datastores/action/refresh"
        },
        {
            "title": "virtual machines",
            "rel": "virtualmachines",
            "type": "application/vnd.abiquo.virtualmachines+json",
            "href": "https://example.com:443/api/admin/datacenters/4/racks/4/machines/2/virtualmachines"
        },
        {
            "title": "MANAGED",
            "rel": "checkstate",
            "type": "application/vnd.abiquo.machinestate+json",
            "href": "https://example.com:443/api/admin/datacenters/4/racks/4/machines/2/action/checkstate"
        },
        {
            "title": "reenable physical machine 192.168.2.54",
            "rel": "reenableafterha",
            "type": "application/vnd.abiquo.machine+json",
            "href": "https://example.com:443/api/admin/datacenters/4/racks/4/machines/2/action/reenableafterha"
        },
        {
            "title": "check ipmi state",
            "rel": "checkipmistate",
            "type": "application/vnd.abiquo.machineipmistate+json",
            "href": "https://example.com:443/api/admin/datacenters/4/racks/4/machines/2/action/checkipmistate"
        },
        {
            "title": "checkipmistate",
            "rel": "/action/checkipmistate",
            "type": "application/vnd.abiquo.machineipmistate+json",
            "href": "https://example.com:443/api/admin/datacenters/4/racks/4/machines/2"
        },
        {
            "title": "refresh nics",
            "rel": "refreshnics",
            "type": "application/vnd.abiquo.machine+json",
            "href": "https://example.com:443/api/admin/datacenters/4/racks/4/machines/2/action/nics/refresh"
        },
        {
            "title": "send mail",
            "rel": "sendmail",
            "type": "application/vnd.abiquo.mail+json",
            "href": "https://example.com:443/api/admin/datacenters/4/racks/4/machines/2/action/sendmail"
        },
        {
            "title": "hypervisormetrics",
            "rel": "hypervisormetrics",
            "type": "application/vnd.abiquo.metrics+json",
            "href": "https://example.com:443/api/admin/datacenters/4/racks/4/machines/2"
        },
        {
            "title": "metricsmetadata",
            "rel": "metricsmetadata",
            "type": "application/vnd.abiquo.metricsmetadata+json",
            "href": "https://example.com:443/api/admin/datacenters/4/racks/4/machines/2/metrics"
        },
        {
            "title": "collectd",
            "rel": "collectd",
            "type": "application/json",
            "href": "https://example.com:443/api/admin/datacenters/4/racks/4/machines/2/metrics/collectd"
        }
    ]
} 


Retrieve guests running on the host

In the user interface, you can check a box to Retrieve existing virtual machines when you create a physical machine. This means that the platform will take the guests you retrieve into consideration (for example, for scheduling and statistics), even though they are not managed by Abiquo unless you explicitly capture them. Here's how to retrieve the virtual machines in the API. First, you need to add the host, as described above. Then perform a GET request to the link with a "rel" value of "virtualmachines" and with the parameter "sync" set to "true".

...