heterogeneous compute node configuration

Asked by Barton Satchwill

One of our projects is using compute nodes with very different hardware profiles: different number of cores, different amount of ram, and different amount of disk. Configuration properties such as max_cores and max_gigabytes in the nova.conf file on each node suggest I *should* be able to specify the resources available on each individual node.

Is it possible to specify different hardware resources for individual nodes, or have we misunderstood the configuration property?

Question information

Language:
English Edit question
Status:
Solved
For:
OpenStack Compute (nova) Edit question
Assignee:
No assignee Edit question
Solved by:
Barton Satchwill
Solved:
Last query:
Last reply:
Revision history for this message
Ed Leafe (ed-leafe) said :
#1

Hosts now should report their capabilities to their zone manager in the periodic_tasks() method of nova/compute/manager.py. It calls out to its driver's get_hosts_stats() method to update its last_capabilities attribute, which is regularly reported up to the zone manager. This periodic update ensures that when a call comes in to provision a new instance, the scheduler has the most recent information about the hosts.

Work is currently being done to make it easier to address both parts of this process: a) reporting the host qualities that are relevant, and b) selecting a host based on those qualities. This will make it easier to customize the scheduler process for any specific deployment's needs.

Revision history for this message
Barton Satchwill (barton-satchwill) said :
#2

So, when the compute hosts make their report, are they just doing a bit of bookkeeping with the configuration properties (configuration properties - running instances = available resources); or are they using information from /proc/meminfo, proc/cpuinfo, etc.?

I guess I'm still not sure about which properties in nova.conf are respected by the compute nodes.

Revision history for this message
Ed Leafe (ed-leafe) said :
#3

You are free to report whatever information is relevant. If you pull that info from config files, or from the host processes, or whatever, that's up to your particular needs. We have some code that makes XenAPI calls to the XenServer host to get free memory, disk, etc., stats in order to reflect the current state of the host, and adds that information to the last_capabilities attribute.

When we talked about this at the recent summit, the one thing that was clear was that every person I spoke with had distinct needs, and that what would work for them wouldn't work for anyone else. That's why we've designed this to be easily customizable for each deployment.

Revision history for this message
Vish Ishaya (vishvananda) said :
#4

Currently max instances etc. Are used by the scheduler and cannot be set per
host...
On May 19, 2011 8:41 AM, "Barton Satchwill" <
<email address hidden>> wrote:
> Question #158136 on OpenStack Compute (nova) changed:
> https://answers.launchpad.net/nova/+question/158136
>
> Status: Answered => Open
>
> Barton Satchwill is still having a problem:
> So, when the compute hosts make their report, are they just doing a bit
> of bookkeeping with the configuration properties (configuration
> properties - running instances = available resources); or are they using
> information from /proc/meminfo, proc/cpuinfo, etc.?
>
> I guess I'm still not sure about which properties in nova.conf are
> respected by the compute nodes.
>
> --
> You received this question notification because you are a member of Nova
> Core, which is an answer contact for OpenStack Compute (nova).

Revision history for this message
Barton Satchwill (barton-satchwill) said :
#5

Okay, understood. Thanks.