Data interface creation fails after PCI interface creation

Bug #1795717 reported by Patrick Bonnell
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
StarlingX
Fix Released
Medium
Patrick Bonnell

Bug Description

Brief Description
-----------------
Creating a data interface after a PCI interface fails if the provider network
used by the data interface is already used by the PCI interface.

Severity
--------
Major

Steps to Reproduce
------------------
1) Create a PCI interface (either passthrough or sriov).
2) Create a data interface and ensure that the provider network being assigned to the data interface is the one already assigned to the PCI interface.

Expected Behavior
------------------
The data interface should be created.

Actual Behavior
----------------
The data interface fails to be created.

Reproducibility
---------------
Reproducible

System Configuration
--------------------
Any

Branch/Pull Time/Commit
-----------------------
StarlingX master as of 2018-10-01_13-47-05

Changed in starlingx:
assignee: nobody → Patrick Bonnell (pbonnell)
status: New → In Progress
Ghada Khalil (gkhalil)
Changed in starlingx:
importance: Undecided → Medium
tags: added: stx.networking
Revision history for this message
Ghada Khalil (gkhalil) wrote :

Targeted for stx.2018.10 as this can cause a configuration failure that the user may not be able to easily recover from.

tags: added: stx.2018.10
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to stx-config (master)

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to stx-gui (master)

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to stx-gui (master)

Reviewed: https://review.openstack.org/607658
Committed: https://git.openstack.org/cgit/openstack/stx-gui/commit/?id=fe946621b1fa9aee347a5bfa4aeb28a7d1192f29
Submitter: Zuul
Branch: master

commit fe946621b1fa9aee347a5bfa4aeb28a7d1192f29
Author: Patrick Bonnell <email address hidden>
Date: Wed Oct 3 13:39:49 2018 -0400

    No need for PCI interface class options during interface creation

    A change has been made in forms.py to remove
    'pci-passthrough' and 'pci-sriov' as an ifclass when creating an
    interface. As the code stands, provider networks are only listed for
    either 'pci-passthrough' and 'pci-sriov' when editing an interface, and
    a PCI interface cannot be created if a provider network is not selected.
    Thus, those options have been removed from the creation form.

    Closes-Bug: 1795717

    Change-Id: I898d21807d16375d3ccaa40c29a3920656aad44b
    Signed-off-by: Patrick Bonnell <email address hidden>

Changed in starlingx:
status: In Progress → Fix Released
Changed in starlingx:
status: Fix Released → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to stx-config (master)

Reviewed: https://review.openstack.org/607657
Committed: https://git.openstack.org/cgit/openstack/stx-config/commit/?id=32f631605dec0658b87ae99a0eafeb7a170144b3
Submitter: Zuul
Branch: master

commit 32f631605dec0658b87ae99a0eafeb7a170144b3
Author: Patrick Bonnell <email address hidden>
Date: Wed Oct 3 13:19:33 2018 -0400

    Data interface creation failing due to existing PCI interface

    This commit prevents the data interface creation from failing due to
    an issue involving a previously created PCI interface.

    The function set_defaults() within interface.py was setting the
    interface networktype to 'data' if it was originally set to None. Then,
    a check was made later to see if the provider network being used in the
    newly created data interface was being used by another data interface.
    Even though the already created interface's ifclass was set to
    'pci-passthrough', the networktype was set to 'data' and this was
    causing the data interface creation to fail since the provider network
    being assigned to the data interface was already being used by the PCI
    interface.

    Now, the function set_defaults() sets the networktype properly and the
    semantic check for the provider network now checks the ifclass rather
    than the networktype.

    Closes-Bug: 1795717

    Change-Id: I79cbe67fec92552e06189c3592b7a63d17f4c909
    Signed-off-by: Patrick Bonnell <email address hidden>

Changed in starlingx:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to stx-gui (r/2018.10)

Fix proposed to branch: r/2018.10
Review: https://review.openstack.org/608016

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to stx-config (r/2018.10)

Fix proposed to branch: r/2018.10
Review: https://review.openstack.org/608020

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to stx-gui (r/2018.10)

Reviewed: https://review.openstack.org/608016
Committed: https://git.openstack.org/cgit/openstack/stx-gui/commit/?id=0da20e5b3aba6c5c158b9c2f7b87673a473d6d50
Submitter: Zuul
Branch: r/2018.10

commit 0da20e5b3aba6c5c158b9c2f7b87673a473d6d50
Author: Patrick Bonnell <email address hidden>
Date: Wed Oct 3 13:39:49 2018 -0400

    No need for PCI interface class options during interface creation

    A change has been made in forms.py to remove
    'pci-passthrough' and 'pci-sriov' as an ifclass when creating an
    interface. As the code stands, provider networks are only listed for
    either 'pci-passthrough' and 'pci-sriov' when editing an interface, and
    a PCI interface cannot be created if a provider network is not selected.
    Thus, those options have been removed from the creation form.

    Closes-Bug: 1795717

    Change-Id: I898d21807d16375d3ccaa40c29a3920656aad44b
    Signed-off-by: Patrick Bonnell <email address hidden>

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to stx-config (r/2018.10)

Reviewed: https://review.openstack.org/608020
Committed: https://git.openstack.org/cgit/openstack/stx-config/commit/?id=be0ea9d20c446ce7f03f1bab73c5e14a7375a291
Submitter: Zuul
Branch: r/2018.10

commit be0ea9d20c446ce7f03f1bab73c5e14a7375a291
Author: Patrick Bonnell <email address hidden>
Date: Wed Oct 3 13:19:33 2018 -0400

    Data interface creation failing due to existing PCI interface

    This commit prevents the data interface creation from failing due to
    an issue involving a previously created PCI interface.

    The function set_defaults() within interface.py was setting the
    interface networktype to 'data' if it was originally set to None. Then,
    a check was made later to see if the provider network being used in the
    newly created data interface was being used by another data interface.
    Even though the already created interface's ifclass was set to
    'pci-passthrough', the networktype was set to 'data' and this was
    causing the data interface creation to fail since the provider network
    being assigned to the data interface was already being used by the PCI
    interface.

    Now, the function set_defaults() sets the networktype properly and the
    semantic check for the provider network now checks the ifclass rather
    than the networktype.

    Closes-Bug: 1795717

    Change-Id: I79cbe67fec92552e06189c3592b7a63d17f4c909
    Signed-off-by: Patrick Bonnell <email address hidden>

Ken Young (kenyis)
tags: added: stx.1.0
removed: stx.2018.10
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.