Bug 1595130 - add host fails: dhcp6 address not conserved when passed to mgmt bridge
Summary: add host fails: dhcp6 address not conserved when passed to mgmt bridge
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: vdsm
Classification: oVirt
Component: General
Version: 4.30.0
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
: ---
Assignee: Petr Horáček
QA Contact: Meni Yakove
URL:
Whiteboard:
Depends On:
Blocks: RHEV_IPv6 1403675
TreeView+ depends on / blocked
 
Reported: 2018-06-26 08:18 UTC by eraviv
Modified: 2022-06-27 07:38 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2018-09-03 10:45:11 UTC
oVirt Team: Network
Embargoed:
sbonazzo: ovirt-4.3-


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHV-46547 0 None None None 2022-06-27 07:38:31 UTC

Description eraviv 2018-06-26 08:18:47 UTC
Description of problem:

During 'add host' by engine, vdsm-engine connectivity is lost when ovirtmgmt is built over iface whose ipv6 address was assigned by dhcpv6.

vdsm reproduces the behaviour by which the ipv6 on the iface was assigned when creating the bridge: it assigns the ivp6 address of the bridge from dhcpv6. 

Therefore a different ipv6 address is assigned to ovirtmgmt than was on the original iface. This causes loss of connectivity to engine, on which adding the host was performed with the initial ipv6 address.

vdsm reproduces this behaviour because during add host, it sends a 'getCaps' to engine which has dhcpv6=true from the original iface, and receives a setupNetworks request which copies the same behaviour: dhcpv6=true

Version-Release number of selected component (if applicable):
vdsm-4.30.0-166.git9fe9abd.el7.centos.x86_64
(NetworkManager-1.8.0-11.el7_4.x86_64)

How reproducible:
100%

Steps to Reproduce:
1. create ifcfg-eth0:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes (can be 'no' - does not matter for this bug)
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy (can be 'eui64' - does not matter for this bug)
NAME=eth0
ONBOOT=yes
DHCPV6C=yes

2. ifdown eth0 && ifup eth0
3. verify correct ipv6.method:
# nmcli con show eth0 | grep ipv6.method
--> should be 'auto' (or 'dhcp' if IPV6_AUTOCONF=no)

4. on the host verify getCaps has dhcpv6="true"

5. record ipv6 address on eth0 for later comparison
6. on the host where vdsm is running, prepare file "myfile.json" containing:
{
  "networks": {
    "ovirtmgmt": {
      "ipv6autoconf": "true",
      "nic": "eth0",
      "mtu": "1500",
      "switch": "legacy",
      "dhcpv6": "true",
      "STP": "no",
      "bridged": "true",
      "defaultRoute": "true",
      "bootproto": "dhcp"
    }
  },
  "bondings": {

  },
  "options": {
    "connectivityCheck": "false"
  }
}

7. on the host run:
# vdsm-client -f myfile.json Host setupNetworks


Actual results:
after setupNetworks completes ovirtmgmt has a different ipv6 address than was on eth0 before setupNetworks.

Expected results:
ovirtmgmt should have the same ipv6 address as was on eth0 before setupNetworks.

Additional info:
Running add host from engine should yield a similar actual result, but because the connectivity check issued by engine fails, vdsm destroy ovirtmgmt, and the actual result can not be verified.

Comment 1 eraviv 2018-06-26 09:33:21 UTC
In steps to reproduce, add step:
8. observe that there is a dhclient -6 process on ovirtmgmt. e.g.

#ps -elf | grep dhclient

/sbin/dhclient -6 -1 -lf /var/lib/dhclient/dhclient6--ovirtmgmt.lease -pf /var/run/dhclient6-ovirtmgmt.pid ovirtmgmt -H myhostname

Comment 2 Yaniv Lavi 2018-09-03 10:45:11 UTC
We are only supporting static IPv6 for now,


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