This documents how to resize an OpenStack instance that has it's root partition backed by a volume. In this circumstance "nova resize" will not resize the diskspace as expected.
Check the status of the source VM and stop it if it's not already:
$ nova list
+--------------------------------------+-----------+--------+------------+-
------------+---------------------------------------------+
| ID | Name | Status | Task State |
Power State | Networks |
+--------------------------------------+-----------+--------+------------+-
------------+---------------------------------------------+
| 4fef1b97-901e-4ab1-8e1f-191cb2f75969 | ResizeMe0 | ACTIVE | - |
Running | Tutorial=192.168.0.107 |
+--------------------------------------+-----------+--------+------------+-
------------+---------------------------------------------+
$ nova stop ResizeMe0
$ nova list
+--------------------------------------+-----------+--------+------------+-
------------+---------------------------------------------+
| ID | Name | Status | Task State |
Power State | Networks |
+--------------------------------------+-----------+---------+-----------+-
------------+---------------------------------------------+
| 4fef1b97-901e-4ab1-8e1f-191cb2f75969 | ResizeMe0 | SHUTOFF | - |
Running | Tutorial=192.168.0.107 |
+--------------------------------------+-----------+---------+------------+-
------------+---------------------------------------------+
Obtain the ID of the volume attached to the instance:
$ nova show ResizeMe0 | grep volumes
| os-extended-volumes:volumes_attached | [{"id": "616dbaa6-f5a5-4f06-9855-fdf222847f3e"}] |
Set the volume's state to be "available" to so we can resize it:
$ cinder reset-state --state available 616dbaa6-f5a5-4f06-9855-fdf222847f3e
$ cinder show 616dbaa6-f5a5-4f06-9855-fdf222847f3e | grep " status "
| status | available |
Extend the volume to the desired size:
$ cinder extend 616dbaa6-f5a5-4f06-9855-fdf222847f3e 4
Set the status back to being in use:
$ cinder reset-state --state in-use 616dbaa6-f5a5-4f06-9855-fdf222847f3e
Start the instance again:
$ nova start ResizeMe0
Voila! Your old instance is now running with an increased disk size as requested.