Network topology graph incorrectly renders instances in non-default availability zone

Bug #1820260 reported by Graham Lenton
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Dashboard (Horizon)
Fix Released
High
Akihiro Motoki

Bug Description

Instances not in the default availability zone (which is 'nova' by default) are displayed incorrectly in the Network topology graph in Horizon - as shown in the attached image.

If you drag the errant instance you can see it is actually rendered outside the scope of the 'colour bubble', whereas instances in the default availability zone are always kept within the 'colour bubble' however much you attempt to drag them out.

Looking at https://github.com/openstack/horizon/blame/master/openstack_dashboard/static/js/horizon.networktopology.js it seems that checks are made against port.device_owner to see if it matches the value 'compute:nova', but for instances in other availability zones, the value is not 'compute:nova' but 'compute:name-of-other-az'.

I think it would be sufficient to change the checks to be port.device_owner.startsWith("compute:") but I have not yet been able to test this.

This bug is present in all versions of Horizon since the 'curvature topology' was introduced in Liberty in 2015.

Revision history for this message
Graham Lenton (maharg101) wrote :
tags: added: horizon
tags: added: horizon-core
removed: horizon
Akihiro Motoki (amotoki)
tags: added: topology-view
removed: horizon-core
Changed in horizon:
status: New → Confirmed
importance: Undecided → High
milestone: none → stein-rc1
tags: added: queens-back rocky-backport-potential
tags: added: queens-backport-potential
removed: queens-back
tags: added: pike-backport-potential
Ivan Kolodyazhny (e0ne)
Changed in horizon:
assignee: nobody → Ivan Kolodyazhny (e0ne)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to horizon (master)

Fix proposed to branch: master
Review: https://review.openstack.org/645066

Changed in horizon:
assignee: Ivan Kolodyazhny (e0ne) → Akihiro Motoki (amotoki)
status: Confirmed → In Progress
Ivan Kolodyazhny (e0ne)
Changed in horizon:
milestone: stein-rc1 → stein-rc2
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to horizon (master)

Reviewed: https://review.openstack.org/645066
Committed: https://git.openstack.org/cgit/openstack/horizon/commit/?id=ffbe0e2f2f96556f4476ea3873af1bc628c879ca
Submitter: Zuul
Branch: master

commit ffbe0e2f2f96556f4476ea3873af1bc628c879ca
Author: Akihiro Motoki <email address hidden>
Date: Thu Mar 21 16:41:37 2019 +0900

    network topology: handle port AZ correctly

    Previously d3 version of the network topology view handles ports with
    device_owner 'compute:nova' and 'compute:None' specially. This leads
    to the situtaion that neutron ports with non-default AZ are not shown
    properly. There is no reason to handle neutron ports with the default
    AZ differently. What we would like to do is just to classify neutron
    ports attached to nova servers.

    This commit changes the logic to check device_owner of ports have
    a prefix 'compute:'. Note that we also need to check if device_owner
    is a string before checking the prefix.

    Change-Id: I472bae9af3d14d8a31efcae8a7610b84c4f09c3d
    Closes-Bug: #1820260

Changed in horizon:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to horizon (stable/stein)

Fix proposed to branch: stable/stein
Review: https://review.openstack.org/645317

Ivan Kolodyazhny (e0ne)
tags: added: stein-backport-potential
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to horizon (stable/rocky)

Fix proposed to branch: stable/rocky
Review: https://review.openstack.org/645474

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to horizon (stable/queens)

Fix proposed to branch: stable/queens
Review: https://review.openstack.org/645475

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to horizon (stable/queens)

Reviewed: https://review.openstack.org/645475
Committed: https://git.openstack.org/cgit/openstack/horizon/commit/?id=94bf61662c43e484d878267962019c076a6a8b7b
Submitter: Zuul
Branch: stable/queens

commit 94bf61662c43e484d878267962019c076a6a8b7b
Author: Akihiro Motoki <email address hidden>
Date: Thu Mar 21 16:41:37 2019 +0900

    network topology: handle port AZ correctly

    Previously d3 version of the network topology view handles ports with
    device_owner 'compute:nova' and 'compute:None' specially. This leads
    to the situtaion that neutron ports with non-default AZ are not shown
    properly. There is no reason to handle neutron ports with the default
    AZ differently. What we would like to do is just to classify neutron
    ports attached to nova servers.

    This commit changes the logic to check device_owner of ports have
    a prefix 'compute:'. Note that we also need to check if device_owner
    is a string before checking the prefix.

    Change-Id: I472bae9af3d14d8a31efcae8a7610b84c4f09c3d
    Closes-Bug: #1820260
    (cherry picked from commit ffbe0e2f2f96556f4476ea3873af1bc628c879ca)

tags: added: in-stable-queens
tags: added: in-stable-rocky
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to horizon (stable/rocky)

Reviewed: https://review.openstack.org/645474
Committed: https://git.openstack.org/cgit/openstack/horizon/commit/?id=6b30d42c3347398562c9a9e789a87978d4988385
Submitter: Zuul
Branch: stable/rocky

commit 6b30d42c3347398562c9a9e789a87978d4988385
Author: Akihiro Motoki <email address hidden>
Date: Thu Mar 21 16:41:37 2019 +0900

    network topology: handle port AZ correctly

    Previously d3 version of the network topology view handles ports with
    device_owner 'compute:nova' and 'compute:None' specially. This leads
    to the situtaion that neutron ports with non-default AZ are not shown
    properly. There is no reason to handle neutron ports with the default
    AZ differently. What we would like to do is just to classify neutron
    ports attached to nova servers.

    This commit changes the logic to check device_owner of ports have
    a prefix 'compute:'. Note that we also need to check if device_owner
    is a string before checking the prefix.

    Change-Id: I472bae9af3d14d8a31efcae8a7610b84c4f09c3d
    Closes-Bug: #1820260
    (cherry picked from commit ffbe0e2f2f96556f4476ea3873af1bc628c879ca)

tags: added: in-stable-stein
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to horizon (stable/stein)

Reviewed: https://review.openstack.org/645317
Committed: https://git.openstack.org/cgit/openstack/horizon/commit/?id=273de58cccfd7c82dbe7372b7c8a7d9d9dd39b06
Submitter: Zuul
Branch: stable/stein

commit 273de58cccfd7c82dbe7372b7c8a7d9d9dd39b06
Author: Akihiro Motoki <email address hidden>
Date: Thu Mar 21 16:41:37 2019 +0900

    network topology: handle port AZ correctly

    Previously d3 version of the network topology view handles ports with
    device_owner 'compute:nova' and 'compute:None' specially. This leads
    to the situtaion that neutron ports with non-default AZ are not shown
    properly. There is no reason to handle neutron ports with the default
    AZ differently. What we would like to do is just to classify neutron
    ports attached to nova servers.

    This commit changes the logic to check device_owner of ports have
    a prefix 'compute:'. Note that we also need to check if device_owner
    is a string before checking the prefix.

    Change-Id: I472bae9af3d14d8a31efcae8a7610b84c4f09c3d
    Closes-Bug: #1820260
    (cherry picked from commit ffbe0e2f2f96556f4476ea3873af1bc628c879ca)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to horizon (stable/pike)

Fix proposed to branch: stable/pike
Review: https://review.openstack.org/648205

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to horizon (stable/pike)

Reviewed: https://review.openstack.org/648205
Committed: https://git.openstack.org/cgit/openstack/horizon/commit/?id=a729170c9ff6c56dd2f73a3b899299bbc44ea80e
Submitter: Zuul
Branch: stable/pike

commit a729170c9ff6c56dd2f73a3b899299bbc44ea80e
Author: Akihiro Motoki <email address hidden>
Date: Thu Mar 21 16:41:37 2019 +0900

    network topology: handle port AZ correctly

    Previously d3 version of the network topology view handles ports with
    device_owner 'compute:nova' and 'compute:None' specially. This leads
    to the situtaion that neutron ports with non-default AZ are not shown
    properly. There is no reason to handle neutron ports with the default
    AZ differently. What we would like to do is just to classify neutron
    ports attached to nova servers.

    This commit changes the logic to check device_owner of ports have
    a prefix 'compute:'. Note that we also need to check if device_owner
    is a string before checking the prefix.

    Change-Id: I472bae9af3d14d8a31efcae8a7610b84c4f09c3d
    Closes-Bug: #1820260
    (cherry picked from commit ffbe0e2f2f96556f4476ea3873af1bc628c879ca)

tags: added: in-stable-pike
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/horizon 15.0.0.0rc2

This issue was fixed in the openstack/horizon 15.0.0.0rc2 release candidate.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/horizon 13.0.2

This issue was fixed in the openstack/horizon 13.0.2 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/horizon 14.0.3

This issue was fixed in the openstack/horizon 14.0.3 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/horizon 16.0.0.0b1

This issue was fixed in the openstack/horizon 16.0.0.0b1 development milestone.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.