Versions Compared

Key

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

Table of Contents
minLevel2

This tutorial describes how to capture a remote VM that is connected to a network not managed by Abiquo.

Prepare Abiquo to capture virtual machines

...

Now you will capture the VM so that the platform can manage it.

  1. Select the VM you want to capture and click the "Capture VM" button.
    Image Modified
  2. The GUI will then ask you for the virtual appliance to store the VM. Select your virtual appliance in the virtual datacenter with the network addresses purchased. If you didn't create a virtual appliance earlier, you can do so now by clicking the + button.
  3. Check the General Information, on the Network tab, select the appropriate NICs and IP address, and check Disks. 

  4. Accept the capture and the remote VM will be added to the virtual appliance and managed by Abiquo. 
    You can check the VM configuration on the details panel or when you edit the VM.
    The platform will now display the Release VM button instead of the Capture VM button.

...

Expand
titleClick here to show/hide the request example


Code Block
> GET /api/cloud/virtualdatacenters/3/virtualappliances HTTP/1.1
> Host: mjsabiquo.bcn.abiquo.com
> Authorization: Basic YWRtaW46eGFiaXF1bw==
> User-Agent: curl/7.54.0
> accept:application/vnd.abiquo.virtualappliances+json;version=4.7
> 
< HTTP/1.1 200 200
< Date: Mon, 18 Nov 2019 16:38:38 GMT
< Server: Apache
< Set-Cookie: ABQSESSIONID=6906893432497011639; Max-Age=1800; Expires=Mon, 18-Nov-2019 17:08:39 GMT; Path=/; Secure; HttpOnly
< X-Abiquo-TracerContext: f4c925e1-4bc7-4470-91bf-03ee604e568e
< X-Abiquo-Token: 9a5a5c937821bb44506d654af977b90ad97d4968e49bea58d699034a8a783416
< Content-Type: application/vnd.abiquo.virtualappliances+json; version=4.7
< Transfer-Encoding: chunked
< 
{
  "totalSize": 1,
  "links": [
    {
      "rel": "first",
      "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/virtualdatacenters/3/virtualappliances?limit=25&by=name&asc=true"
    },
    {
      "rel": "last",
      "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/virtualdatacenters/3/virtualappliances?startwith=0&limit=25&by=name&asc=true"
    }
  ],
  "collection": [
    {
      "id": 3,
      "error": 0,
      "highDisponibility": 0,
      "name": "vmware_vapp_01",
      "publicApp": 0,
      "state": "EMPTY",
      "restricted": false,
      "description": "Vapp",
      "notAllocatedVirtualMachines": 0,
      "onVirtualMachines": 0,
      "offVirtualMachines": 0,
      "pausedVirtualMachines": 0,
      "allocatedVirtualMachines": 0,
      "configuredVirtualMachines": 0,
      "unknownVirtualMachines": 0,
      "lockedVirtualMachines": 0,
      "links": [
        {
          "title": "vmware_vapp_01",
          "rel": "edit",
          "type": "application/vnd.abiquo.virtualappliance+json",
          "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/virtualdatacenters/3/virtualappliances/3"
        },
        {
          "title": "vmware_vdc_01",
          "rel": "virtualdatacenter",
          "type": "application/vnd.abiquo.virtualdatacenter+json",
          "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/virtualdatacenters/3"
        },
        {
          "title": "Abiquo",
          "rel": "enterprise",
          "type": "application/vnd.abiquo.enterprise+json",
          "href": "https://mjsabiquo.bcn.abiquo.com:443/api/admin/enterprises/1"
        },
        {
          "title": "virtual machines",
          "rel": "virtualmachines",
          "type": "application/vnd.abiquo.virtualmachines+json",
          "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/virtualdatacenters/3/virtualappliances/3/virtualmachines"
        },
        {
          "title": "virtual appliances state",
          "rel": "state",
          "type": "application/vnd.abiquo.virtualappliancestate+json",
          "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/virtualdatacenters/3/virtualappliances/3/state"
        },
        {
          "title": "undeploy",
          "rel": "undeploy",
          "type": "application/vnd.abiquo.acceptedrequest+json",
          "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/virtualdatacenters/3/virtualappliances/3/action/undeploy"
        },
        {
          "title": "deploy",
          "rel": "deploy",
          "type": "application/vnd.abiquo.acceptedrequest+json",
          "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/virtualdatacenters/3/virtualappliances/3/action/deploy"
        },
        {
          "title": "price",
          "rel": "price",
          "type": "text/plain",
          "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/virtualdatacenters/3/virtualappliances/3/action/price"
        },
        {
          "title": "layers",
          "rel": "layers",
          "type": "application/vnd.abiquo.layers+json",
          "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/virtualdatacenters/3/virtualappliances/3/layers"
        },
        {
          "title": "spec",
          "rel": "spec",
          "type": "application/vnd.abiquo.virtualappliancespec+json",
          "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/virtualdatacenters/3/virtualappliances/3/action/spec"
        },
        {
          "title": "tasks",
          "rel": "tasks",
          "type": "application/vnd.abiquo.tasks+json",
          "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/virtualdatacenters/3/virtualappliances/3/tasks"
        },
        {
          "title": "scalinggroups",
          "rel": "scalinggroups",
          "type": "application/vnd.abiquo.scalinggroups+json",
          "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/virtualdatacenters/3/virtualappliances/3/scalinggroups"
        },
        {
          "title": "metricsmetadata",
          "rel": "metricsmetadata",
          "type": "application/vnd.abiquo.metricsmetadata+json",
          "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/virtualdatacenters/3/virtualappliances/3/metrics"
        },
        {
          "title": "collectd",
          "rel": "collectd",
          "type": "application/json",
          "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/virtualdatacenters/3/virtualappliances/3/metrics/collectd"
        },
        {
          "title": "alarmssearch",
          "rel": "alarmssearch",
          "type": "application/vnd.abiquo.alarms+json",
          "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/virtualdatacenters/3/virtualappliances/3/alarms"
        }
      ]
    }
  ]
}

...



Retrieve virtual machine from the hypervisor

...

Expand
titleClick here to show/hide the request example


Code Block
> GET /api/admin/datacenters/2/racks/2/machines/3/virtualmachines/174?sync=true HTTP/1.1
> Host: mjsabiquo.bcn.abiquo.com
> Authorization: Basic YWRtaW46eGFiaXF1bw==
> User-Agent: curl/7.54.0
> accept:application/vnd.abiquo.virtualmachineflat+json;version=4.7
> 
< HTTP/1.1 200 200
< Date: Mon, 18 Nov 2019 16:46:18 GMT
< Server: Apache
< Set-Cookie: ABQSESSIONID=2804812929327814519; Max-Age=1800; Expires=Mon, 18-Nov-2019 17:16:19 GMT; Path=/; Secure; HttpOnly
< X-Abiquo-TracerContext: bf65ad7d-86ab-4414-a5aa-bf82c077f11a
< X-Abiquo-Token: 9a5a5c937821bb44506d654af977b90a8d911c6bcdccbb1464b09b41fd89e48b
< Content-Type: application/vnd.abiquo.virtualmachineflat+json; version=4.7
< Transfer-Encoding: chunked
< 
{
  "volumes": {
    "links": [],
    "collection": []
  },
  "disks": {
    "links": [],
    "collection": [
      {
        "label": "",
        "sequence": 0,
        "sizeInMb": 64,
        "diskFormatType": "VMDK_FLAT",
        "path": "ABQ_4e04e585-cf68-4223-b2a7-4feed06a7b9a/ABQ_4e04e585-cf68-4223-b2a7-4feed06a7b9a65d4b10d-b8e2-42d4-93f0-ac470ecc2df2-flat.vmdk",
        "diskFileSize": 67108864,
        "diskControllerType": "IDE",
        "bus": 0,
        "unit": 0,
        "bootable": true,
        "uuid": "65d4b10d-b8e2-42d4-93f0-ac470ecc2df2",
        "links": []
      }
    ]
  },
  "nics": {
    "links": [],
    "collection": [
      {
        "mac": "00:50:56:14:4D:23",
        "sequence": 0,
        "tag": 3,
        "links": []
      },
      {
        "mac": "00:50:56:25:71:EE",
        "sequence": 1,
        "tag": 2,
        "links": []
      }
    ]
  },
  "id": 174,
  "uuid": "4e04e585-cf68-4223-b2a7-4feed06a7b9a",
  "name": "ABQ_4e04e585-cf68-4223-b2a7-4feed06a7b9a",
  "label": "ABQ_4e04e585-cf68-4223-b2a7-4feed06a7b9a",
  "description": "",
  "ram": 48,
  "cpu": 1,
  "vdrpPort": 5910,
  "vdrpIP": "10.60.2.43",
  "vdrpEnabled": true,
  "idState": 4,
  "state": "ON",
  "highDisponibility": 0,
  "idType": 0,
  "type": "NOT_MANAGED",
  "password": "WatpDKTK",
  "monitored": false,
  "monitoringLevel": "DEFAULT",
  "variables": {},
  "creationTimestamp": 1573129740000,
  "lastSynchronize": 1574090616000,
  "fqdn": "box.localdomain",
  "generateGuestInitialPassword": false,
  "internalProviderId": "vm-43761-at-10.60.11.242",
  "protected": false,
  "links": [
    {
      "title": "VMX_04",
      "rel": "machine",
      "type": "application/vnd.abiquo.machine+json",
      "href": "https://mjsabiquo.bcn.abiquo.com:443/api/admin/datacenters/2/racks/2/machines/3"
    },
    {
      "title": "BCDC",
      "rel": "location",
      "type": "application/vnd.abiquo.datacenter+json",
      "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/locations/2"
    },
    {
      "title": "VMware vCenter",
      "rel": "hypervisortype",
      "type": "application/vnd.abiquo.hypervisortype+json",
      "href": "https://mjsabiquo.bcn.abiquo.com:443/api/config/hypervisortypes/VMX_04"
    },
    {
      "title": "ABQ_4e04e585-cf68-4223-b2a7-4feed06a7b9a",
      "rel": "edit",
      "type": "application/vnd.abiquo.virtualmachine+json",
      "href": "https://mjsabiquo.bcn.abiquo.com:443/api/admin/datacenters/2/racks/2/machines/3/virtualmachines/174"
    }
  ],
  "backuppolicies": [],
  "natrules": []
}

...



Retrieve network details and IP addresses

...

Expand


Code Block
> GET /api/admin/enterprises/1/limits/2/externalnetworks/7/ips/16 HTTP/1.1
> Host: mjsabiquo.bcn.abiquo.com
> Authorization: Basic YWRtaW46eGFiaXF1bw==
> User-Agent: curl/7.54.0
> accept:application/vnd.abiquo.externalip+json;version=4.7
> 
< HTTP/1.1 200 200
< Date: Mon, 18 Nov 2019 16:50:27 GMT
< Server: Apache
< Set-Cookie: ABQSESSIONID=377940815957123584; Max-Age=1800; Expires=Mon, 18-Nov-2019 17:20:28 GMT; Path=/; Secure; HttpOnly
< X-Abiquo-TracerContext: cb421aee-9a3c-42f9-9e2e-542c78baa82e
< X-Abiquo-Token: 9a5a5c937821bb44506d654af977b90a70900b698c0994f9571f704bb17e9bf5
< Content-Type: application/vnd.abiquo.externalip+json; version=4.7
< Transfer-Encoding: chunked
< 
{
  "available": true,
  "id": 16,
  "ip": "192.168.55.1",
  "networkName": "Abiquo_external_002",
  "ipv6": false,
  "quarantine": false,
  "links": [
    {
      "title": "Abiquo_external_002",
      "rel": "externalnetwork",
      "type": "application/vnd.abiquo.vlan+json",
      "href": "https://mjsabiquo.bcn.abiquo.com:443/api/admin/enterprises/1/limits/2/externalnetworks/7"
    },
    {
      "title": "ips",
      "rel": "ips",
      "type": "application/vnd.abiquo.externalips+json",
      "href": "https://mjsabiquo.bcn.abiquo.com:443/api/admin/enterprises/1/limits/2/externalnetworks/7/ips"
    },
    {
      "title": "192.168.55.1",
      "rel": "self",
      "type": "application/vnd.abiquo.externalip+json",
      "href": "https://mjsabiquo.bcn.abiquo.com:443/api/admin/enterprises/1/limits/2/externalnetworks/7/ips/16"
    }
  ]
}

 



Retrieve IPs from the public network that have been purchased and are available to the virtual datacenter. Select and retrieve the appropriate public IP. To start with, first we used the "has" parameter to identify the required IP address.

...

Expand


Code Block
> GET /api/cloud/virtualdatacenters/3/publicips/purchased/30 HTTP/1.1
> Host: mjsabiquo.bcn.abiquo.com
> Authorization: Basic YWRtaW46eGFiaXF1bw==
> User-Agent: curl/7.54.0
> accept:application/vnd.abiquo.publicip+json;version=4.7
> 
< HTTP/1.1 200 200
< Date: Mon, 18 Nov 2019 17:04:37 GMT
< Server: Apache
< Set-Cookie: ABQSESSIONID=2838884776872119279; Max-Age=1800; Expires=Mon, 18-Nov-2019 17:34:38 GMT; Path=/; Secure; HttpOnly
< X-Abiquo-TracerContext: a3b2c04f-b9a3-4e9c-a54e-1a1085c938e7
< X-Abiquo-Token: 9a5a5c937821bb44506d654af977b90a0965d6b9c04f6200f8fcde6f04f43cec
< Content-Type: application/vnd.abiquo.publicip+json; version=4.7
< Transfer-Encoding: chunked
< 
{
  "available": true,
  "id": 30,
  "ip": "192.168.56.3",
  "mac": "00:50:56:26:D5:3D",
  "name": "00505626D53D_host",
  "networkName": "Capture_public_003",
  "ipv6": false,
  "quarantine": false,
  "links": [
    {
      "title": "Capture_public_003",
      "rel": "publicnetwork",
      "type": "application/vnd.abiquo.vlan+json",
      "href": "https://mjsabiquo.bcn.abiquo.com:443/api/admin/datacenters/2/network/8"
    },
    {
      "title": "purchased ips",
      "rel": "purchased",
      "type": "application/vnd.abiquo.publicips+json",
      "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/virtualdatacenters/3/publicips/purchased"
    },
    {
      "title": "release ip",
      "rel": "release",
      "type": "application/vnd.abiquo.publicip+json",
      "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/virtualdatacenters/3/publicips/topurchase/30"
    },
    {
      "title": "192.168.56.3",
      "rel": "self",
      "type": "application/vnd.abiquo.publicip+json",
      "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/virtualdatacenters/3/publicips/purchased/30"
    },
    {
      "title": "vmware_vdc_01",
      "rel": "virtualdatacenter",
      "type": "application/vnd.abiquo.virtualdatacenter+json",
      "href": "https://mjsabiquo.bcn.abiquo.com:443/api/cloud/virtualdatacenters/3"
    }
  ]
}

 



Create virtualmachineflat data transfer object

...

Expand

For example, from the public IP address, obtain the link with a "rel" value of "publicnetwork".

Code Block
     {
      "title": "Capture_public_003",
      "rel": "publicnetwork",
      "type": "application/vnd.abiquo.vlan+json",
      "href": "https://mjsabiquo.bcn.abiquo.com:443/api/admin/datacenters/2/network/8"
    }

Change the "rel" value to "vlan".

Code Block
    {
      "title": "Capture_public_003",
      "rel": "vlan",
      "type": "application/vnd.abiquo.vlan+json",
      "href": "https://mjsabiquo.bcn.abiquo.com:443/api/admin/datacenters/2/network/8"
    }

For this network, also note the IP value

Code Block
      "ip":"192.168.56.3"
 


And for example, for the external IP address, obtain the link with a "rel" value of "externalnetwork".

Code Block
        {
            "title": "Abiquo_external_002",
            "rel": "externalnetwork",
            "type": "application/vnd.abiquo.vlan+json",
            "href": "https://mjsabiquo.bcn.abiquo.com:443/api/admin/enterprises/1/limits/2/externalnetworks/7"
        }

Again, change the value of the "rel" attribute to "vlan".

Code Block
        {
            "title": "Abiquo_external_002",
            "rel": "vlan",
            "type": "application/vnd.abiquo.vlan+json",
            "href": "https://mjsabiquo.bcn.abiquo.com:443/api/admin/enterprises/1/limits/2/externalnetworks/7"
        }

And note the value of the IP

Code Block
      "ip":"192.168.55.1"

Add the links to the nics / collection / links section for each NIC and the IP to the main section of each NIC after the tag value (don't forget the comma).

...