One can resize a running instance in OpenStack by running the following nova command:

nova resize --poll <server> <flavor>

The default behavior of this command is to invoke the nova scheduler to determine the best compute node for the resized instance. If there is only one compute node in the environment, the resize will fail.

We need to tell nova to allow resizing on the same host by modifying /etc/nova/nova.conf .

Modify /etc/nova/nova.conf

allow_resize_to_same_host=True
scheduler_default_filters=AllHostsFilter

By changing the default nova scheduler filter to AllHostsFilter , all compute hosts will be available and unfiltered. It is not a good idea to keep this setting in a multi-compute environment.

Restart Services

After making the changes to nova.conf, restart scheduler and compute services:

service nova-scheduler restart
service nova-compute restart

Resize Confirm

After resizing the instance, the status will change to VERIFY_RESIZE . One will see two copies of the instance in /var/lib/nova/instances : the original and the resized. Run the following command to verify the resize and delete the original instance:

nova resize-confirm <server>


Comments

comments powered by Disqus