Droplet resize is not working

October 30, 2014 2.6k views

Hi, we came across the following issue with the resize not working properly. Upon resizing a droplet the following error message appears "Size is too large to fit on your droplet's server" (enclosed below).
Can you advise if it is as expected please?

Thank you,

GET https://api.digitalocean.com/v2/droplets/3019571 HTTP/1.1
Authorization: 
Accept: application/json
Content-Type: application/json;charset=UTF-8

HTTP/1.1 200 OK
{
   "droplet":{
      "id":3019571,
      "name":"testvm-stateful-1414696899536",
      "memory":1024,
      "vcpus":1,
      "disk":30,
      "locked":false,
      "status":"off",
      "kernel":{
         "id":2133,
         "name":"Ubuntu 14.04 x32 vmlinuz-3.13.0-36-generic",
         "version":"3.13.0-36-generic"
      },
      "created_at":"2014-10-30T19:21:39Z",
      "features":[
         "private_networking",
         "virtio"
      ],
      "backup_ids":[

      ],
      "snapshot_ids":[

      ],
      "image":{
         "id":6918735,
         "name":"14.04 x32",
         "distribution":"Ubuntu",
         "slug":"ubuntu-14-04-x32",
         "public":true,
         "regions":[
            "nyc1",
            "ams1",
            "sfo1",
            "nyc2",
            "ams2",
            "sgp1",
            "lon1",
            "nyc3",
            "ams3",
            "nyc3"
         ],
         "created_at":"2014-10-17T20:13:41Z",
         "min_size":"512mb"
      },
      "size_slug":"1gb",
      "networks":{
         "v4":[
            {
               "ip_address":"10.131.224.162",
               "netmask":"255.255.0.0",
               "gateway":"10.131.0.1",
               "type":"private"
            },
            {
               "ip_address":"178.62.113.136",
               "netmask":"255.255.192.0",
               "gateway":"178.62.64.1",
               "type":"public"
            }
         ],
         "v6":[

         ]
      },
      "region":{
         "name":"London 1",
         "slug":"lon1",
         "sizes":[

         ],
         "features":[
            "virtio",
            "private_networking",
            "backups",
            "ipv6",
            "metadata"
         ],
         "available":null
      }
   }
}
POST https://api.digitalocean.com/v2/droplets/3019571/actions HTTP/1.1
Authorization: 
Accept: application/json
Content-Type: application/json;charset=UTF-8

{"type":"resize","size":"2gb"}

HTTP/1.1 422 Unprocessable Entity
{"id":"unprocessable_entity","message":"Size is too large to fit on your droplet's server"}
2 Answers

The "fast resize" option is limited by the amount of space available on the hypervisor that your droplet is currently on. Unfortunately if there is not enough room, you can not take advantage of that feature. If that is the case, you'll have to resize via a snapshot.

by Etel Sverdlov
This tutorial covers how to manually migrate droplets between hypervisors by taking a snapshot of the droplet and then spinning it up in a large or smaller size.
  • Thank you for your answer. We have noticed in the UI that it can "suggest" which size is available for fast-resize or if no option is available at all. For example, we have resized a 1Gb droplet to 2Gb droplet (which was the only option), then the UI had suggested another option - to downsize back to 1Gb. The other three droplets did not have any resizing options at all.

    Can we do the same with the API? I.e. is there a relevant API call to get the sizing options for a specific droplet? We don't see any extra information in the API droplet response object to indicate the resize possibilities.

    Thanks.

  • Is the fast resize limited to a region then?

  • @steeve Fast resize is available in all regions. The limiting factor is currently the room available on the specific host server.

Got it. This limitation really makes it difficult to create a SAAS solution on DO. We want to give our end user of our SAAS solution individual DO droplets.

I wanted to allow my end users to resize their droplet from the control panel we built around the DO API.

During testing we ran into this fast resizing limitation issue identified above.

The snapshot alternative is even more complex and seems to result in more downtime. As well, there is the minor risk that we could lose the IP address.

I am thinking we may have to make our SAAS upgrade something the end user schedules and maybe we do it manually.

Any recommendations?

Have another answer? Share your knowledge.