Generate a POST request to export the image to a swift container. This is basically your cloud files container name (in this case Container1):

curl -s -X POST $ENDPOINT/tasks \

-H "Content-Type: application/json" \

-H "X-Auth-Token: $TOKEN" \

-d '{

"type": "export",

"input": {

"image_uuid": "11107aa8-3187-4e0d-abcd-4a5d0a4f084d",

"receiving_swift_container": "Container1"

}

}' | python -m json.tool

Periodically call:

curl -s -X GET $ENDPOINT/tasks \

-H "Content-Type: application/json" \

-H "X-Auth-Token: $TOKEN" \

| python -m json.tool

To see the status of the task. If it immediately errors you did something wrong. If it says processing then you are good to go. For a 6GB image it took about an hour while it was stuck processing. The way you know it is working is if you go to the web front end and refresh your cloud files you will start to see files pop up.

Use the swift tool to download the image from the server.

After you have the image some tools that will help you get it in the right direction to run:

The thing is though the server might start up but you will get lots of kernel panics because paths and devices are wrong. The easiest way I found was to convert the image into a raw format (it comes as something else) and then mount it. Then go into /etc/fstab and change it all around properly.

I also had to change one other file because it was looking for /dev/xvda1 I believe and that didn't exist. That's pretty much it.