Merge "Net attr: Sort segments without name attribute first" into stable/victoria
This commit is contained in:
commit
b31c8a8b1a
|
@ -284,8 +284,13 @@ class Net(neutron.NeutronResource):
|
||||||
if self.resource_id is None:
|
if self.resource_id is None:
|
||||||
return
|
return
|
||||||
if name == self.SEGMENTS:
|
if name == self.SEGMENTS:
|
||||||
return [segment.to_dict() for segment in list(self.client(
|
segments = [segment.to_dict() for segment in list(self.client(
|
||||||
'openstack').network.segments(network_id=self.resource_id))]
|
'openstack').network.segments(network_id=self.resource_id))]
|
||||||
|
# Sort segments without name attribute first.
|
||||||
|
# See bug: https://bugs.launchpad.net/tripleo/+bug/1894920
|
||||||
|
segments.sort(key=lambda s: s['name'] is not None)
|
||||||
|
return segments
|
||||||
|
|
||||||
attributes = self._show_resource()
|
attributes = self._show_resource()
|
||||||
return attributes[name]
|
return attributes[name]
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
---
|
||||||
|
fixes:
|
||||||
|
- |
|
||||||
|
The ordering in the list of segments returned by ``OS::Neutron::Net``
|
||||||
|
resources is not predictable. Stack updates changeing attributes
|
||||||
|
of the network can cause the list of segments to shift.
|
||||||
|
|
||||||
|
The ordering is now slightly more predictable, segments with name=``None``
|
||||||
|
are now placed first in the list. This doesn't guarantee the order, but
|
||||||
|
typically only the segment implicitly created by neutron has no name
|
||||||
|
attribute set. The template author should ensure other segments on the
|
||||||
|
network does have a name set, so that the implicit segment will always be
|
||||||
|
index 0. Resolving attributes of the implcitly created segment on the
|
||||||
|
network resource can then predictibly happen using index 0. See `bug:
|
||||||
|
1894920 <https://bugs.launchpad.net/tripleo/+bug/1894920>`_.
|
||||||
|
|
Loading…
Reference in New Issue