aws / aws-network-policy-agent

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

aws-eks-na-cli loaded-ebpfdata fails with unable to get FD

fungusakafungus opened this issue · comments

What happened:
/opt/cni/bin/aws-eks-na-cli ebpf loaded-ebpfdata fails with

Failed to execute the cmd - failed walking the bpfdirectory unable to get FD

Attach logs

[root@ip-10-5-90-7 ~]# date
Wed Nov 29 17:24:02 UTC 2023

[root@ip-10-5-90-7 ~]# /opt/cni/bin/aws-eks-na-cli ebpf loaded-ebpfdata
Failed to execute the cmd -  failed walking the bpfdirectory unable to get FD

[root@ip-10-5-90-7 ~]# cat /var/log/aws-routed-eni/ebpf-sdk.log | grep 17:24: | jq .msg -r
Constructed new logger instance
Initialized new logger as an existing instance was not found
Initialized new SDK cache as an existing instance was not found
Dumping pinpaths - %!(EXTRA string=/sys/fs/bpf/globals/aws/maps/busybox-default_egress_map)
Got ID 8
Found Identified - busybox-default : egress_map
Found ->  %!(EXTRA string=busybox-default, string=egress_map)
Adding egress_map -> %!(EXTRA string=busybox-default)
Found Identified - busybox-default : egress_map
Found ->  %!(EXTRA string=busybox-default, string=egress_map)
Adding egress_map -> %!(EXTRA string=busybox-default)
Got FD 5
Adding ID 8 to name egress_map and NS busybox-default
Dumping pinpaths - %!(EXTRA string=/sys/fs/bpf/globals/aws/maps/busybox-default_ingress_map)
Got ID 7
Found Identified - busybox-default : ingress_map
Found ->  %!(EXTRA string=busybox-default, string=ingress_map)
Adding ingress_map -> %!(EXTRA string=busybox-default)
Found Identified - busybox-default : ingress_map
Found ->  %!(EXTRA string=busybox-default, string=ingress_map)
Adding ingress_map -> %!(EXTRA string=busybox-default)
Got FD 8
Adding ID 7 to name ingress_map and NS busybox-default
Dumping pinpaths - %!(EXTRA string=/sys/fs/bpf/globals/aws/maps/global_aws_conntrack_map)
Got ID 5
Found Identified - global : aws_conntrack_map
Found ->  %!(EXTRA string=global, string=aws_conntrack_map)
Adding GLOBAL aws_conntrack_map -> aws_conntrack_map
Found Identified - global : aws_conntrack_map
Found ->  %!(EXTRA string=global, string=aws_conntrack_map)
Adding GLOBAL aws_conntrack_map -> aws_conntrack_map
Dumping pinpaths - %!(EXTRA string=/sys/fs/bpf/globals/aws/maps/global_policy_events)
Got ID 6
Found Identified - global : policy_events
Found ->  %!(EXTRA string=global, string=policy_events)
Adding GLOBAL policy_events -> policy_events
Found Identified - global : policy_events
Found ->  %!(EXTRA string=global, string=policy_events)
Adding GLOBAL policy_events -> policy_events
Dumping pinpaths - %!(EXTRA string=/sys/fs/bpf/globals/aws/programs/busybox-default_handle_egress)
Found Identified - busybox-default : handle_egress
Printing pinpath - /sys/fs/bpf/globals/aws/programs/busybox-default_handle_egress
Got progFD - 9
TYPE - 3
Prog Name -
Maps linked - 3
Have associated maps to link
TYPE - 3
Prog Name -
Maps linked - 3
MAP ID - 5
Creating temporary map FD - 10
Closing map FD 10
MAP ID - 8
Creating temporary map FD - 10
Closing map FD 10
MAP ID - 6
Creating temporary map FD - 10
Closing map FD 10
Unable to Get FD from ID 5
Error walking bpfdirectory:%!(EXTRA *errors.errorString=unable to get FD)

aws-cni-support.sh logs were sent to k8s-awscni-triage

What you expected to happen:

Some kind of a non-error output

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

/opt/cni/bin/aws-eks-na-cli ebpf loaded-ebpfdata, I don't really know

Anything else we need to know?:

Environment:

  • Kubernetes version (use kubectl version): v1.25.15-eks-4f4795d
  • CNI Version: v1.15.4-eksbuild.1
  • Network Policy Agent Version: v1.0.6-eksbuild.1
  • OS (e.g: cat /etc/os-release):
     NAME="Amazon Linux"
     VERSION="2"
     ID="amzn"
     ID_LIKE="centos rhel fedora"
     VERSION_ID="2"
     PRETTY_NAME="Amazon Linux 2"
     ANSI_COLOR="0;33"
     CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2"
     HOME_URL="https://amazonlinux.com/"
     SUPPORT_END="2025-06-30"
    
  • Kernel (e.g. uname -a): 5.10.198-187.748.amzn2.x86_64

I am looking into this.

This is fixed in v1.0.7, so closing this issue