Create Volume from snapshot_id not respecting size

Posted February 17, 2018 1.7k views
APIBlock Storage

According to the API it’s possible to create a volume of an arbitrary size from a volume snapshot. I have done this via the web interface. However, I can’t seem to get the API to create a volume from a snapshot with any other size than 5gb (the size of the volume when the snapshot was taken).

I’ve tried to do this using cURL and Python. The attributes I’m sending are these:

  • size_gigabytes: 10 (I’ve tried lots of values for this, up to 2tb)
  • name: “example”
  • snapshot_id: “ae-deadbeef-etc”

The API states that the region and snapshot_id attributes are mutually exclusive, but I’ve tried sending both, just in case. No dice.

I’ve been looking around all night for an answer to this. Anyone have any insight?

Thanks much.

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
1 answer

You need to create a volume from the snapshot (as you have been doing) and then resize the new volume to the size you want with a separate resize API call.

Note that, this resizes the volume container as far as DO is concerned. You will still need to resize the filesystem (and/or adjust partition table if the original volume was partitioned) after you attach the new volume to a droplet to be able to use the additional space.

( )

  • Hmm.. ok. Thanks much for the info.

    Seems odd that the web-based interface allows the creation of a volume with a size, but the REST API doesn’t. Is the web interface doing a create/resize in the background, and we just don’t see it?