[openstack-dev] instance_type_extra_specs with nova 2012.2-dev
michel.gauthier at bull.net
michel.gauthier at bull.net
Wed Aug 22 15:00:35 UTC 2012
Hi all,
I have installed devstack (nova 2012.2-dev ) on a single host (virtual
host) to test instance_type_extra_specs.
The capabilities and cpu_info of my host are the following :
cpu_info of compute_nodes table of nova db :
------------------------------------------------------------------
cpu_info : {
"vendor": "Intel",
"features": ["lahf_lm", "lm", "syscall", "hypervisor", "cx16",
"ssse3", "pni", "ss", "sse2", "acpi", "ds", "clflush", "apic"],
"permitted_instance_types": ["i686", "x86_64"],
"model": "pentium3",
"arch": "x86_64",
"topology": {"cores": 1, "threads": 1, "sockets": 2}
}
capabilities published by nova-compute service and used in
compute_capabilities_filter.py file :
---------------------------------------------------------------------------------------------------------------------------------------------
Capabilities : {
u'disk_available': 5,
u'vcpus_used': 1,
u'supported_instances': [[u'i686', u'qemu', u'hvm'], [u'x86_64',
u'qemu', u'hvm']],
u'hypervisor_type': u'QEMU',
u'host_ip': u'172.31.70.169',
u'hypervisor_hostname': u'folsom-mg',
u'host_memory_free': 455,
u'disk_total': 15,
u'cpu_info': {
u'vendor': u'Intel',
u'features': [u'lahf_lm', u'lm', u'syscall',
u'hypervisor', u'cx16', u'ssse3', u'pni', u'ss', u'sse2', u'acpi', u'ds',
u'clflush', u'apic'],
u'permitted_instance_types': [u'i686', u'x86_64'],
u'model': u'pentium3',
u'arch': u'x86_64',
u'topology': {u'cores': 1, u'threads': 1, u'sockets': 2}
},
u'host_memory_total': 2003,
'timestamp': datetime.datetime(2012, 8, 22, 12, 42, 56, 948437),
u'hypervisor_version': 1000000,
u'disk_used': 10,
u'vcpus': 2
}
For my tests, I create an instance_type named michel with differents
instance_type_extra_specs using nova-manage instance_type
set_key/unset_key command.
The results are listed below (nova-manage instance_type list) :
1- michel: Memory: 1024MB, VCPUS: 2, Root: 40GB, Ephemeral: 0Gb, FlavorID:
15, Swap: 0MB, RXTX Factor: 1.0, ExtraSpecs {u'titi': u'bonjour'}
2- michel: Memory: 1024MB, VCPUS: 2, Root: 40GB, Ephemeral: 0Gb, FlavorID:
15, Swap: 0MB, RXTX Factor: 1.0, ExtraSpecs {u'vcpus': u'== 2'}
3- michel: Memory: 1024MB, VCPUS: 2, Root: 40GB, Ephemeral: 0Gb, FlavorID:
15, Swap: 0MB, RXTX Factor: 1.0, ExtraSpecs {u'vcpus': u'>= 1'}
4- michel: Memory: 1024MB, VCPUS: 2, Root: 40GB, Ephemeral: 0Gb, FlavorID:
15, Swap: 0MB, RXTX Factor: 1.0, ExtraSpecs {u'vcpus': u'>= 3'}
5- michel: Memory: 1024MB, VCPUS: 2, Root: 40GB, Ephemeral: 0Gb, FlavorID:
15, Swap: 0MB, RXTX Factor: 1.0, ExtraSpecs {u'hypervisor_type': u'QEMU'}
6- michel: Memory: 1024MB, VCPUS: 2, Root: 40GB, Ephemeral: 0Gb, FlavorID:
15, Swap: 0MB, RXTX Factor: 1.0, ExtraSpecs {u'hypervisor_type': u's==
QEMU'}
7- michel: Memory: 1024MB, VCPUS: 2, Root: 40GB, Ephemeral: 0Gb, FlavorID:
15, Swap: 0MB, RXTX Factor: 1.0, ExtraSpecs {u'hypervisor_type': u'<in>
QEMU'}
8- michel: Memory: 1024MB, VCPUS: 2, Root: 40GB, Ephemeral: 0Gb, FlavorID:
15, Swap: 0MB, RXTX Factor: 1.0, ExtraSpecs {u'hypervisor_type': u'<in>
QE'}
9- michel: Memory: 1024MB, VCPUS: 2, Root: 40GB, Ephemeral: 0Gb, FlavorID:
15, Swap: 0MB, RXTX Factor: 1.0, ExtraSpecs {u'hypervisor_type': u'<in>
EU'}
10- michel: Memory: 1024MB, VCPUS: 2, Root: 40GB, Ephemeral: 0Gb,
FlavorID: 15, Swap: 0MB, RXTX Factor: 1.0, ExtraSpecs {u'cpu_info': u"<in>
'model': 'pentium3'"}
11- michel: Memory: 1024MB, VCPUS: 2, Root: 40GB, Ephemeral: 0Gb,
FlavorID: 15, Swap: 0MB, RXTX Factor: 1.0, ExtraSpecs {u'cpu_info': u'<in>
model: pentium3'}
12- michel: Memory: 1024MB, VCPUS: 2, Root: 40GB, Ephemeral: 0Gb,
FlavorID: 15, Swap: 0MB, RXTX Factor: 1.0, ExtraSpecs {u'cpu_info': u"<in>
'pentium3'"}
13- michel: Memory: 1024MB, VCPUS: 2, Root: 40GB, Ephemeral: 0Gb,
FlavorID: 15, Swap: 0MB, RXTX Factor: 1.0, ExtraSpecs {u'cpu_info': u'<in>
pentium3'}
14- michel: Memory: 1024MB, VCPUS: 2, Root: 40GB, Ephemeral: 0Gb,
FlavorID: 15, Swap: 0MB, RXTX Factor: 1.0, ExtraSpecs {u'cpu_info': u"<in>
u'pentium3'"}
On nova boot command, the filter scheduler is used with
ComputeCapabilitiesFilter class.
No problem in my tests with extra_specs values titi (not existing in
capabilities), vcpus and hypervisor_type.
Cases 1, 4, 9 fail instance_type extra_specs requirements in
ComputeCapabilitiesFilter :: host_passes procedure (OK)
Cases 2, 3, 5, 6, 7, 8 pass instance_type extra_specs requirements in
ComputeCapabilitiesFilter :: host_passes procedure (OK)
But when I want to specify a key/value pair in instance_type_extra_specs
concerning cpu_info capabilities, the test is always failed.
Is it a syntax problem nova-manage instance_type set_key command?
Or is it due to the fact that cpu_info is a sub-dict of capabilities dict?
Thank you in advance for your help.
Michel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20120822/65207800/attachment.html>
More information about the OpenStack-dev
mailing list