Ask Your Question

Can Openstack Choose the physical resources to boot a VM?

asked 2013-05-16 11:53:56 -0500

Eric_yao gravatar image

updated 2013-05-16 19:53:37 -0500

smaffulli gravatar image

Recently I know that openstack could choose a virtual machine to boot VM using availability zone(though I think this is not a intended use). But I'm still curious, can openstack choose the specific resource in a host to boot VM?

For example: if there are multiple physical NICs in a compute node, can Openstack Choose a physical NIC to attach to? Or can Openstack Choose a specific VCPU? All these seems to be approachable in Libvirt, but are there any mechanism for Openstack to do it?

edit retag flag offensive close merge delete

2 answers

Sort by ยป oldest newest most voted

answered 2013-05-21 08:32:06 -0500

OpenStack Compute with the libvirt driver has no ability to pin a VM to specific physical CPU.

As for the NIC question, I'm not exactly sure what you're asking for. However, there is a feature under development for Havana that will allow PCI passthrough. One of the driving use cases is to be able to use NICs that support SR-IOV. ( (

edit flag offensive delete link more


What about cpuset attribute? If I set cpuset in the vcpu element, it should pin the VM only to specific pcpus provided in cpuset, shouldnt it?

Peeyush gravatar imagePeeyush ( 2013-06-26 01:54:17 -0500 )edit

answered 2013-05-17 02:32:03 -0500

For that you can use host aggregates. Host aggregates are a mechanism to further partition an availability zone. With this you can deploy your instances on hosts that have more memory or on host which has an ssd, etc. More about that here:

Also great document here:

This is available with Grizzly release.

edit flag offensive delete link more


This is much helpful. However, maybe I haven't made my question clear. This time if I decided to use one host, however, can I choose the specific resources in a host to boot VM? Can I choose vcpu1 instead of vcpu2, or can I link physical NIC eth0 instead on eth1 to the instance?

Eric_yao gravatar imageEric_yao ( 2013-05-17 04:27:13 -0500 )edit

This is a bit misleading, I think. Host aggregates are availability zones. An admin sets up host aggregates, which are exposed to users as AZs.

russellb gravatar imagerussellb ( 2013-05-20 11:42:15 -0500 )edit

And how you can explain this command for example: "nova aggregate-create <name> <availability-zone>"? I agree that AZ are only visible to users, but host aggregating is partitioning of an availability zone.

Alen Komljen gravatar imageAlen Komljen ( 2013-05-21 02:14:42 -0500 )edit

The command that you quoted is how you create an availability zone. You're saying that the host aggregate you are creating defines the availability zone with the name <availability-zone>.

russellb gravatar imagerussellb ( 2013-05-21 08:23:49 -0500 )edit

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower


Asked: 2013-05-16 11:53:56 -0500

Seen: 1,431 times

Last updated: May 21 '13