Bug 1229632
Summary: | Can't remove bond interface via ancient RESTAPI | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [oVirt] ovirt-engine | Reporter: | Juan Hernández <juan.hernandez> | ||||||
Component: | BLL.Network | Assignee: | Martin Mucha <mmucha> | ||||||
Status: | CLOSED WONTFIX | QA Contact: | GenadiC <gcheresh> | ||||||
Severity: | urgent | Docs Contact: | |||||||
Priority: | urgent | ||||||||
Version: | --- | CC: | bazulay, bugs, danken, ecohen, gcheresh, gklein, lsurette, mgoldboi, myakove, oourfali, rbalakri, ycui, yeylon, ylavi | ||||||
Target Milestone: | --- | Keywords: | Reopened | ||||||
Target Release: | --- | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Whiteboard: | network | ||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2015-10-29 14:40:04 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: | |||||||||
Bug Depends On: | |||||||||
Bug Blocks: | 1133597, 1238738 | ||||||||
Attachments: |
|
Description
Juan Hernández
2015-06-09 09:56:19 UTC
The issue is with the name of first parameter for addNetwork and delNetwork verbs. On the engine side we have 'bridge' whereas on vdsm side we have 'network'. I am not sure which side should be fixed so reassigning to network team. *** Bug 1238738 has been marked as a duplicate of this bug. *** https://gerrit.ovirt.org/#/c/35090/5/vdsm/API.py has changed the argument name from "bridge" to "network", forgetting that this changes an ancient and well-established Vdsm API. An action of breaking bond fails with error message that it's not possible to break a bond with VLAN on it, though there is no VLAN on the bond > DELETE /api/hosts/0340e39c-98e2-4c50-956f-000decf1f31a/nics/ddeb9c98-7329-4304-b2c7-251dda4f0c4e HTTP/1.1
> Authorization: Basic YWRtaW5AaW50ZXJuYWw6MTIzNDU2
> User-Agent: curl/7.32.0
> Host: jenkins-vm-06.scl.lab.tlv.redhat.com
> Accept: */*
>
< HTTP/1.1 409 Conflict
< Date: Mon, 03 Aug 2015 11:32:47 GMT
< Content-Type: application/xml
< Content-Length: 181
< Vary: Accept-Encoding
< Connection: close
<
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<fault>
<reason>Operation Failed</reason>
<detail>[Bond attached to vlan, remove bonds vlan first]</detail>
</fault>
This smells like a different bug. Could you share engine and {super,}vdsm logs? Created attachment 1065158 [details]
engine, supervdsm and vdsm logs
Indeed this is a completely different bug. Note that in the original report, Engine (<=3.5 and early 3.6) was using the addNetwork Vdsm verb. In the newly-attached logs, Engine=3.6 is using the setupNetworks verb. This time the failure is in 2015-08-20 11:21:15,212 WARN [org.ovirt.engine.core.bll.network.host.RemoveBondCommand] (ajp-/127.0.0.1:8702-7) [526b44b4] CanDoAction of action 'RemoveBond' failed for user admin@internal. Reasons: NETWORK_BOND_HAVE_ATTACHED_VLANS 2015-08-20 11:21:15,237 ERROR [org.ovirt.engine.api.restapi.resource.AbstractBackendResource] (ajp-/127.0.0.1:8702-7) [] Operation Failed: [Bond attached to vlan, remove bonds vlan first] Please open an new bug for with these logs, and verify the existing bug with an engine-3.5 and vdsm of 3.6. Danken, Could you please explain what is the common sense behind testing this bz with engine of 3.5 and VDSM of 3.6 ? The original bug reported here is about breakage of compatibility. New vdsm, 4.17.something, did not support the ancient addNetwork API properly. I've fixed this bug, but to test it - you need to use an Engine that actually uses the ancient API over jsonrpc. Only engine-3.5 does that. One of the motivations of moving to a new networking API in 3.6 was to stop using the ancient Vdsm API. Created attachment 1071359 [details]
engine, supervdsm and vdsm logs
The same problem for 3.5 engine and 3.6 host as well as for 3.5 engine and 3.6 host: <fault><reason>Operation Failed</reason><detail>[Bond attached to vlan, remove bonds vlan first]</detail></fault> Engine: 3.5.4.2-1.3.el6ev Host1: vdsm-4.17.5-1.el7ev RHEL 7.1 Host2: vdsm-4.16.26-1.el6ev RHEL 6.7 Logs attached Since this is only happens on the old API, I'm not sure this is worth fixing. Meni - please check this scenario with the new API. *** Bug 1256040 has been marked as a duplicate of this bug. *** This is an automated message. oVirt 3.6.0 RC1 has been released. This bug has no target release and still have target milestone set to 3.6.0-rc. Please review this bug and set target milestone and release to one of the next releases. Works on the new API (In reply to Meni Yakove from comment #16) > Works on the new API So let us not attempt to fix it. Instead, encourage users to move to new API. This decision may change if a paying customer can explain that this affects them badly. After further examination: this bug refers to the ancient NIC-based API, that was used in rhev-m-3.0. In that API it has never been possible to create or remove bond devices. Engine expected bond0...bond4 to pre-exist on each host. As long as we still remove ${url}/hosts/${host_id}/nics/${nic_id} where nic_id is a name of a VM network, we have no regression and should not fix anything in this API. Actually, we should mark it as deprecated, and drop in in version 4.0. I didn't fully understand what should be removed in 4.0. The operation to remove a host NIC? DELETE /hosts/{host:id}/nics/${nic:id} Yes, as well as the one PUTting a new NIC. The 3.6 HostSetupNetworks intends to replace it all. |