Bug 863105
Summary: | REST API: unable to add vlan network over bond using setupnetworks | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Virtualization Manager | Reporter: | Avi Tal <atal> | ||||
Component: | ovirt-engine-restapi | Assignee: | Moti Asayag <masayag> | ||||
Status: | CLOSED CURRENTRELEASE | QA Contact: | Yaniv Kaul <ykaul> | ||||
Severity: | urgent | Docs Contact: | |||||
Priority: | high | ||||||
Version: | 3.1.0 | CC: | dyasny, ecohen, iheim, jkt, mkolesni, mpastern, Rhev-m-bugs, sgrinber, srevivo, ykaul | ||||
Target Milestone: | --- | Keywords: | Regression, Reopened | ||||
Target Release: | --- | ||||||
Hardware: | x86_64 | ||||||
OS: | Linux | ||||||
Whiteboard: | network | ||||||
Fixed In Version: | SI21 | Doc Type: | Bug Fix | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2012-12-04 19:59:40 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | Network | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
vlan id 0 is invalid, Normal Range IDs: 1 – 1005 Extended Range IDs: 1006 – 4094 Michael, regardless the vlan tag values which are being enforced by adding/editing network, there is a bug here: You cannot attach a vlan over bond since the list of slaves is being sent as shallow list of nics - see more information on the patch commit message. See the suggested patch to address this: http://gerrit.ovirt.org/8359 vlan id 0 is not Invalid! It is reserved just like 1002 to 1005 (which are reserved for Token Ring and FDDI VLANs) so lets remove/not support them as well. Well few reasons we should support these vlans: 1. if RHEL support these vlans configuration, we should. 2. vlan 0 represent untagging and commonly used by RHEV clients (i got this information from GSS back in the days. when users like to add the physical interface to VM even though it contain vlan interfaces.) 3. the formal range of 802.1Q is 0 to 4096 (including reserved IDs). 4. * this is backward compatibility, 3.0 support vlan id 0 over bond. 5. One of the main issues here is that, this exception occurred only above bonded interface but it works on regular interface. BTW, reserved IDs aren't blocks from using in Local Area Network. (In reply to comment #1) > vlan id 0 is invalid, > > Normal Range IDs: 1 – 1005 > Extended Range IDs: 1006 – 4094 The previous patch didn't address slaves by name only, this one will: http://gerrit.ovirt.org/8490 verify on SI21.1 - PASS |
Created attachment 621633 [details] engine log Description of problem: Adding Vlan over bond Failed if vlan id is 0. vlan id 0 means untagged packet. Having a vlan id 0 is common use case when user would like to treat vlan interface as the interface it self. note: It was fully supported in rhevm 3.0 Problem: try to configure vlan (id=0) over bond with setupnetworks: SEND: <action> <host_nics> <host_nic> <name>eth0</name> <network id="ef0930ab-3b7c-445f-bced-2e1d3f068f61"/> <boot_protocol>dhcp</boot_protocol> </host_nic> <host_nic> <name>bond0</name> <bonding> <options> <option name="mode" value="1"/> </options> <slaves> <host_nic id="a11f32cb-8931-4d46-981d-15e431467725"> </host_nic> <host_nic id="aaf02414-eb9f-40dc-aca6-9c02809b56ca"> </host_nic> </slaves> </bonding> <boot_protocol>none</boot_protocol> </host_nic> <host_nic> <name>bond0.0</name> <network id="ec2427d3-221e-4bc2-871b-e8cb81b47b89"/> </host_nic> </host_nics> </action> RECEIVE: <fault> <reason>Operation Failed</reason> <detail>[- General command validation failure.]</detail> </fault> Bakcend Exception: 2012-10-04 12:38:57,198 WARN [org.jboss.resteasy.core.SynchronousDispatcher] (ajp-/127.0.0.1:8009-10) failed to execute: org.ovirt.engine.api.restapi.resource.BaseBackendResource$WebFaultException at org.ovirt.engine.api.restapi.resource.BaseBackendResource.handleError(BaseBackendResource.java:219) [restapi-jaxrs.jar:] at org.ovirt.engine.api.restapi.resource.BackendResource.performAction(BackendResource.java:153) [restapi-jaxrs.jar:] at org.ovirt.engine.api.restapi.resource.BackendHostNicsResource.setupNetworks(BackendHostNicsResource.java:333) [restapi-jaxrs.jar:] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_05-icedtea] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_05-icedtea] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_05-icedtea] at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_05-icedtea] at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167) [resteasy-jaxrs.jar:2.3.3.Final-redhat-1] at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:257) [resteasy-jaxrs.jar:2.3.3.Final-redhat-1] at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:222) [resteasy-jaxrs.jar:2.3.3.Final-redhat-1] at org.jboss.resteasy.core.ResourceLocator.invokeOnTargetObject(ResourceLocator.java:152) [resteasy-jaxrs.jar:2.3.3.Final-redhat-1] at org.jboss.resteasy.core.ResourceLocator.invoke(ResourceLocator.java:106) [resteasy-jaxrs.jar:2.3.3.Final-redhat-1] at org.jboss.resteasy.core.ResourceLocator.invokeOnTargetObject(ResourceLocator.java:147) [resteasy-jaxrs.jar:2.3.3.Final-redhat-1] at org.jboss.resteasy.core.ResourceLocator.invoke(ResourceLocator.java:91) [resteasy-jaxrs.jar:2.3.3.Final-redhat-1] at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:525) [resteasy-jaxrs.jar:2.3.3.Final-redhat-1] at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:502) [resteasy-jaxrs.jar:2.3.3.Final-redhat-1] at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119) [resteasy-jaxrs.jar:2.3.3.Final-redhat-1] at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) [resteasy-jaxrs.jar:2.3.3.Final-redhat-1] at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55) [resteasy-jaxrs.jar:2.3.3.Final-redhat-1] at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) [resteasy-jaxrs.jar:2.3.3.Final-redhat-1] at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec.jar:1.0.1.Final-redhat-1] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb.jar:] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb.jar:] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb.jar:] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb.jar:] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:489) [jbossweb.jar:] at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web.jar:7.1.2.Final-redhat-1] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb.jar:] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb.jar:] at org.jboss.web.rewrite.RewriteValve.invoke(RewriteValve.java:466) [jbossweb.jar:] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb.jar:] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb.jar:] at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:505) [jbossweb.jar:] at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:452) [jbossweb.jar:] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:931) [jbossweb.jar:] at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_05-icedtea]