2013-10-28 02:35:43 |
Hyunsun Moon |
description |
When I try to update port for additional fixed IP or any other attributes other than portbinding, _process_portbindings_create_and_update is set 'None' in port update messages sent to the agents in spite of it has host_id.
It may not be a problem if the agents do not use portbinding information but if the agent uses 'binding:host_id' information for port update it will cause a problem, which is in my case.
When look at the codes, Neutron server sets 'binding:host_id' to 'None' as long as 'binding:host_id' is not in the requested update items. It should query DB to set correct port binding instead of 'None' in that case.
84 def _process_portbindings_create_and_update(self, context, port_data,
85 port):
86 host = port_data.get(portbindings.HOST_ID)
87 host_set = attributes.is_attr_set(host)
88 if not host_set:
89 _extend_port_dict_binding_host(self, port, None) <<< set None instead of correct host_id
90 return |
When I try to update port for additional fixed IP or any other attributes other than portbinding, _process_portbindings_create_and_update is set 'None' in port update messages sent to the agents in spite of it has host_id.
It may not be a problem if the agents do not use portbinding information but if the agent uses 'binding:host_id' information for port update it will cause a problem, which is in my case.
When look at the codes, Neutron server sets 'binding:host_id' to 'None' as long as 'binding:host_id' is not in the requested update items. It should query DB to set correct port binding instead of 'None' in that case. |
|