submariner-io / submariner

Networking component for interconnecting Pods and Services across Kubernetes clusters.
https://submariner.io
Apache License 2.0
2.43k stars 191 forks source link

The NNCP policies fails on Submariner Gateway Node #1748

Closed shanrnag closed 1 year ago

shanrnag commented 2 years ago

After installing Submariner version ( release-0.12 ) in an openshift environment version 4.8, the NNCP polices are failing on the Nodes configured as Gateway.

2022-03-23 06:11:20,345 root         DEBUG    Async action: Retrieve applied config: vxlan vxlan-tunnel finished
      Unhandled IFLA_INFO_DATA for iface type Other("geneve")
      Unhandled IFLA_INFO_DATA for iface type Other("geneve")
      Traceback (most recent call last):
        File "/usr/bin/nmstatectl", line 11, in <module>
          load_entry_point('nmstate==1.0.2', 'console_scripts', 'nmstatectl')()
        File "/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py", line 73, in main
          return args.func(args)
        File "/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py", line 326, in set
          return apply(args)
        File "/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py", line 354, in apply
          args.save_to_disk,
        File "/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py", line 407, in apply_state
          save_to_disk=save_to_disk,
        File "/usr/lib/python3.6/site-packages/libnmstate/netapplier.py", line 78, in apply
          desired_state, ignored_ifnames, current_state, save_to_disk
        File "/usr/lib/python3.6/site-packages/libnmstate/net_state.py", line 51, in __init__
          gen_conf_mode,
        File "/usr/lib/python3.6/site-packages/libnmstate/ifaces/ifaces.py", line 165, in __init__
          self._pre_edit_validation_and_cleanup()
        File "/usr/lib/python3.6/site-packages/libnmstate/ifaces/ifaces.py", line 270, in _pre_edit_validation_and_cleanup
          self._validate_vlan_not_over_infiniband()
        File "/usr/lib/python3.6/site-packages/libnmstate/ifaces/ifaces.py", line 326, in _validate_vlan_not_over_infiniband
          self._kernel_ifaces[iface.parent].type
      KeyError: ''
      '
    reason: FailedToConfigure
    status: "True"
    type: Failing
  - lastHearbeatTime: "2022-03-23T06:11:20Z"
    lastTransitionTime: "2022-03-23T06:11:20Z"
    reason: FailedToConfigure
    status: "False"
    type: Available
  - lastHearbeatTime: "2022-03-23T06:11:20Z"
    lastTransitionTime: "2022-03-23T06:11:20Z"
    reason: FailedToConfigure
    status: "False"
    type: Progressing
  - lastHearbeatTime: "2022-03-23T06:11:16Z"
    lastTransitionTime: "2022-03-23T06:11:16Z"
    message: All policy selectors are matching the node
    reason: AllSelectorsMatching
    status: "True"
    type: Matching
  - lastHearbeatTime: "2022-03-23T06:11:20Z"
    lastTransitionTime: "2022-03-23T06:11:20Z"
    reason: SuccessfullyConfigured
    status: "False"
    type: Aborted
  desiredState:
    interfaces:
    - description: vlan interface
      name: bond0.122
      state: up
      type: vlan
      vlan:
        base-iface: bond0
        id: 122
    - bridge:
        options:
          stp:
            enabled: false
        port:
        - name: bond0.122
          vlan:
            mode: trunk
            trunk-tags:
            - id-range:
                max: 4094
                min: 2
      description: Linux Bridge
      name: br122
      state: up
      type: linux-bridge

Interface created in the Gateway Node:

sh-4.4# ifconfig vxlan-tunnel
vxlan-tunnel: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 8950
        inet 241.42.107.234  netmask 255.0.0.0  broadcast 241.255.255.255
        inet6 fe80::cc8c:a1ff:fe9a:bc42  prefixlen 64  scopeid 0x20<link>
        ether ce:8c:a1:9a:bc:42  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 7 overruns 0  carrier 0  collisions 0

sh-4.4# ifconfig br-submariner 
br-submariner: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 8900
        ether f2:ee:b5:e4:eb:4f  txqueuelen 1000  (Ethernet)
        RX packets 50  bytes 2132 (2.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4  bytes 440 (440.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

sh-4.4# 

The nmstate-handler is brought by the openshift Virtualization

openshift-cnv kubevirt-hyperconverged-operator.v4.8.4 OpenShift Virtualization 4.8.4 Which brings nmstate handler at 4.8 level.

Steps followed for installing the submariner.

# subctl version
subctl version: release-0.12
subctl deploy-broker --operator-debug --kubeconfig=/root/.kube/rackk
subctl join --kubeconfig=/root/.kube/rackk --health-check=false --operator-debug --pod-debug  --clusterid=rack-k --cable-driver=vxlan broker-info.subm

What happened: THe NNCP policy apply fails.

What you expected to happen: THe NNCP policy apply should not fail.

How to reproduce it (as minimally and precisely as possible):

  1. In an Openshift cluster install submariner.
  2. Install nmstate-handler operator or Openshift Virtualization
  3. Create an NNCP policy for the gateway node or all nodes.
  4. The polices will fail

Anything else we need to know?:

Environment:

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had activity for 60 days. It will be closed if no further activity occurs. Please make a comment if this issue/pr is still valid. Thank you for your contributions.

yboaron commented 2 years ago

Hi, Could you please provide also the details below?

dfarrell07 commented 1 year ago

@shanrnag Closing due to lack of info, feel free to re-open and provide details.