Bug 1669350

Summary: Error with attached SR-IOV port: Port requires a FixedIP in order to be used
Product: Red Hat OpenStack Reporter: riontel
Component: documentationAssignee: Irina <igallagh>
Status: CLOSED CURRENTRELEASE QA Contact: RHOS Documentation Team <rhos-docs>
Severity: high Docs Contact:
Priority: medium    
Version: 13.0 (Queens)CC: amuller, bhaley, chrisw, djuran, igallagh, jhakimra, kchamart, mariel, marjones, mbooth, mwitt, sbauza, sgordon, smooney, sputhenp, vromanso
Target Milestone: ---Keywords: Triaged, ZStream
Target Release: ---   
Hardware: All   
OS: Unspecified   
Whiteboard: docs-accepted
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Cause: create network section does not create a subnet Consequence: servers cannot be created as ip adress are required by nova Fix: create subnet as part of creating the network add openstack subnet create subnet1 --network net1 --subnet-range 192.0.2.0/24 --dhcp to the existing docs section Result: sections 6.3.4 and 8.7.1 correclty document all steps requried to prepare a network so that a server can be booted using that network.
Story Points: ---
Clone Of:
: 1807896 (view as bug list) Environment:
Last Closed: 2020-02-27 12:33:15 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1807896, 1807906    

Description riontel 2019-01-25 01:48:26 UTC
Description of problem:

Trying to create an instance with an SR-IOV port (L2 only) without having an associated subnet produces "Port requires a FixedIP in order to be used" error.

Version-Release number of selected component (if applicable):
OSP13z3


How reproducible:
Every time

Steps to Reproduce:
1. Configure SR-IOV:
    # SR-IOV config
    NeutronSriovNumVFs:
        - ens2f0:8
    NeutronPhysicalDevMappings:
        - physnet_nw1_sriov_a:ens2f0
    NovaPCIPassthrough:
        - devname: "ens2f0"
          physical_network: "physnet_nw1_sriov_a"

2. Create a network: 
# openstack network create NW1_a --external --provider-network-type vlan --provider-physical-network physnet_nw1_sriov_a --provider-segment 318

3. Create an SR-IOV port: 
# openstack port create --network NW1_a --vnic-type direct sriov_port_1a

4. Create an instance:
# openstack server create --flavor rt.small  --image  CentOS-7-x86_64-GenericCloud --nic port-id=sriov_port_1a sriov_vm

Actual results:

Port 0a199a07-7faf-49bc-89a3-caf783024dda requires a FixedIP in order to be used. (HTTP 400) (Request-ID: req-4a6c12db-11ae-4ed8-8566-bcb8de68a776)


Expected results:

Successful instance creation with L2-only SR-IOV port attached

Additional info:

L2 port should not require a subnet.  The steps followed are consistent with Red Hat documentation: https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/13/html-single/network_functions_virtualization_planning_and_configuration_guide/#sect-sriov-flavor-deploy-instance

Comment 1 riontel 2019-01-25 02:13:17 UTC
Setting --no-fixed-ip on the port doesn't work either.

Comment 2 Brian Haley 2019-01-25 21:50:10 UTC
Re-assigned to Nova and added link to upstream bug.

Comment 3 David Juran 2019-01-30 10:06:24 UTC
If I'm not mistaken, this issue is not limited SR-IOV. Also with a "normal" port I get a similar (same?) issue if I try to create a VM on a network where a subnet is not assigned.

Comment 4 smooney 2019-01-31 19:12:16 UTC
by design nova has required all ports to have ip adress before the vm is schdulerd until very recently.
in fact supporting addressless ports was rejected severall times.

for osp10/netown it is a hard requiremet that the neturon port must have an ip.
the routed network spec for nova https://specs.openstack.org/openstack/nova-specs/specs/newton/implemented/neutron-routed-networks.html
introduced support for ip_allocation=deffered. ip_allocation=none was expcitly not supported by that spec
due to security concerns.

last year https://bugs.launchpad.net/nova/+bug/1741575 was filed upstream 
to extend nova to support  ip_allocation=None. i raised this at the dublin ptg
and while nova supports deffer ip allocaton today no spec or bluepint that i am awere
of has been proposed to allow ip_allocation=None.

i will verify upstream master behavior but from my inital searching upstream and my
previous experience on this topic i do not belive this shoudl work in OSP 13 and
that this is a bug in our documentation not our code.

i will bring this up on our bug triage call tomorrow but my inital feeling is that
this is not a bug nova bug and should be treated a future feature with a update to our documentation
to reflect that this is not supported. In paralle to that i will raise this on upstream irc.

Comment 7 smooney 2019-02-07 10:28:05 UTC
upon review ip less interfaces while supported by neutrons api are not supported by nova in OSP 13

currently no release of openstack nova upstream allows the use of neutron ports with ip_allocation=none.
this will be considerded as a possible Future Feature for OSP 16 based on discussion with upstream.

Based on that i am converting this to a docs bug to update the NFV guide to detail how to create a subnet
as part of creating a network.

specifically section 6.3 subsection 4 and and section 8.7 subsection 1 of 
https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/13/html-single/network_functions_virtualization_planning_and_configuration_guide/#sect-sriov-flavor-deploy-instance
should be updated to contain the following

openstack network create net1 --provider-physical-network tenant --provider-network-type vlan --provider-segment <VLAN-ID>
openstack subnet create subnet1 --network net1 --subnet-range 192.0.2.0/24 --dhcp

Comment 11 melanie witt 2019-10-25 14:28:15 UTC
We discussed this in our triage call today, adding the Triaged keyword.