Bug 1410351 - [neutron][VLAN-Aware][ovs+dpdk]VM create ERROR in Trunk Port.
Summary: [neutron][VLAN-Aware][ovs+dpdk]VM create ERROR in Trunk Port.
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-nova
Version: 10.0 (Newton)
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: z2
: 10.0 (Newton)
Assignee: Jakub Libosvar
QA Contact: awaugama
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-01-05 09:09 UTC by VIKRANT
Modified: 2020-03-11 15:34 UTC (History)
23 users (show)

Fixed In Version: openstack-nova-14.0.3-2.el7ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-02-23 21:15:47 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
OpenStack gerrit 334048 0 None MERGED convert libvirt driver to use os-vif for vhost-user with ovs. 2021-01-07 15:01:15 UTC
OpenStack gerrit 402097 0 None MERGED add host to vif.py set_config_* functions 2021-01-07 15:01:50 UTC
Red Hat Knowledge Base (Solution) 2846221 0 None None None 2017-01-05 10:15:04 UTC
Red Hat Product Errata RHBA-2017:0319 0 normal SHIPPED_LIVE openstack-nova bug fix advisory 2017-02-24 02:12:47 UTC

Description VIKRANT 2017-01-05 09:09:02 UTC
Description of problem:

With "ovs+dpdk" setup, while trying to spawn VLAN aware VM hitting the issue.

following error message reported in "nova show <instance>" output.

~~~
| fault                                | {"message": "Exceeded maximum number of retries. Exceeded max scheduling attempts 3 for instanc
e 9c11637a-8d18-401c-a9c4-018765110d90. Last exception: OVS configuration failed with: Unexpected error while running command. |
|                                      | Command: sudo nova-rootwrap /etc/nova/rootwrap", "code": 500, "details": "  File \"/usr/lib/pyt
hon2.7/site-packages/nova/conductor/manager.py\", line 492, in build_instances                                                 |
|                                      |     filter_properties, instances[0].uuid)                                                      
                                                                                                                               |
|                                      |   File \"/usr/lib/python2.7/site-packages/nova/scheduler/utils.py\", line 184, in populate_retr
y                                                                                                                              |
|                                      |     raise exception.MaxRetriesExceeded(reason=msg)                                             
                                                                                                                               |
~~~


Version-Release number of selected component (if applicable):
RHEL OSP 10

How reproducible:
Everytime for Cu.

Steps to Reproduce:
1. Create sub port.
2. Try to spawn using the port.
3. Instance is going into ERROR state. 

Actual results:
Instance spawn operation is getting failed.

Expected results:
It should get successfully completed. 

Additional info:

Comment 5 Assaf Muller 2017-01-05 13:18:35 UTC
Jakub, can you please triage?

Comment 6 Jakub Libosvar 2017-01-05 13:24:29 UTC
(In reply to Assaf Muller from comment #5)
> Jakub, can you please triage?

Will have a look

Comment 7 Jakub Libosvar 2017-01-05 13:45:12 UTC
The issue is that Nova doesn't support vhostuser for conversion to os-vif type in Newton - this patch https://review.openstack.org/#/c/334048/

Comment 8 Jakub Libosvar 2017-01-05 14:04:13 UTC
To describe the issue better is that Nova started using os-vif library. As this transition is in progress, support for trunk was implemented only to os-vif omitting nova code.

2017-01-05 01:50:43.697 40178 DEBUG nova.network.os_vif_util [req-b57615e3-07d3-4aa4-bc7d-d0dba791e70d 30cf353c5c094ad1b6060d55f7d7feff 47e925e032b14635ac2e656811b5c28b - - -] No conversion for VIF type vhostuser yet nova_to_osvif_vif /usr/lib/python2.7/site-packages/nova/network/os_vif_util.py:378

Nova in Newton doesn't support transition from libvirt vif to os-vif for vhostuser vif type but only for ovs vif type. os-vif takes care of creating provided tbr-<> bridge. That explains the error about missing trunk bridge. Once os-vif creates trunk bridge, ovsdb handler in Neutron will be triggered based on ovsdb events.

I'll try to provide scratch build for nova containing the patch from comment 7 to test, whether we can move forward with trunk+dpdk

Comment 20 errata-xmlrpc 2017-02-23 21:15:47 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2017-0319.html


Note You need to log in before you can comment on or make changes to this bug.