[Openstack-operators] Properties missing in Nova Scheduler Filter
Keller, Mario
Mario.Keller at cornelsen.de
Thu Nov 10 07:05:19 UTC 2016
Hello,
we are trying to build our own nova scheduler filter to separate machines to different compute nodes / host aggregates.
Our setup is based on OpenStack Mitaka and we are using VMware as hypervisor on 3 different compute nodes.
We have created a /etc/glance/metadefs/CV_AggSelect.json file to define the new property "os_selectagg"
{
"namespace": "OS::Compute::cv-host-agg",
"display_name": "CV-CUSTOM: Select Host Aggregate",
"description": "Cornelsen CUSTOM: Select Host Aggregate",
"visibility": "public",
"protected": true,
"resource_type_associations": [
{
"name": "OS::Glance::Image"
},
{
"name": "OS::Nova::Aggregate"
}
],
"properties": {
"os_selectagg": {
"title": "selectagg",
"description": "Cornelsen CUSTOM: Select Host Aggregate",
"type": "string",
"enum": [
"windows",
"linux",
"desktop",
"test1",
"test2"
],
"default" : "test2"
}
},
"objects": []
}
Getting the details from our image and the host aggregate we see that the property is set correctly:
openstack image show e62da4df-318f-48dc-be26-b634e82ec4a1
+------------------+----------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+------------------+----------------------------------------------------------------------------------------------------------------------------------+
...
| properties | description='', hw_vif_model='VirtualVmxnet3', hypervisor_type='vmware', os_selectagg='windows', |
| | vmware_adaptertype='lsiLogicsas', vmware_disktype='preallocated', vmware_ostype='windows9Server64Guest
...
We also see the property in the aggregate:
openstack aggregate show 5
+-------------------+--------------------------------------------------+
| Field | Value |
+-------------------+--------------------------------------------------+
...
| properties | hypervisor_type='vmware', os_selectagg='windows' |
..
I have created a new simple filter in /usr/lib/python2.7/site-packages/nova/scheduler/filters just to see what properties are set for the current image and the host_state.
The filter is also set in the /etc/nova/nova.conf and is executed, because I'm getting the logfile that ist created by the filter.
The filter only implements the " def host_passes(self, host_state, spec_obj)" function.
I'm getting the image properties by " image_props = spec_obj.image.properties if spec_obj.image else {} ", but the property "os_selectagg" is missing. All other properties like hw_vif_model='VirtualVmxnet3' are set.
The property is set in the host_state.aggregates list, but not in the spec_obj.image.properties. What do we miss?
With best regards,
Mario Keller.
Mit freundlichen Grüßen
Mario Keller
IT-Operations Engineer
--
Cornelsen Verlag GmbH, Mecklenburgische Straße 53, 14197 Berlin
Tel: +49 30 897 85-8364, Fax: +49 30 897 85-97-8364
E-Mail: mario.keller at cornelsen.de | cornelsen.de
AG Charlottenburg, HRB 114796 B
Geschäftsführung: Dr. Anja Hagen, Joachim Herbst, Mark van Mierle (Vorsitz),
Patrick Neiss, Michael von Smolinski, Frank Thalhofer
More information about the OpenStack-operators
mailing list