linkerd / linkerd/linkerd2

linkerd-cni renames kuberouter cni config without warning

Open
#2,443 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/cni bug help wanted
Dominant language
Go
Stars
11.5k
Forks
1.4k
Avg merge
3d 22h
Merged PRs (30d)
53

Description

## Bug Report

### What is the issue?

We're using kube-router as a complete replacement for kube-proxy (https://github.com/cloudnativelabs/kube-router). Upon deployment, the linkerd-cni daemonset renames the 10-kube-router.conf file to 10-kube-router.conflist without warning. Since kube-router only looks for 10-kube-router.conf by default, this breaks the default install of kube-router. The problem isn't noticed until next time a kube-router pod restarts and it goes into a crash loop.

### How can it be reproduced?

Deploy linkerd-cni

### Logs, error output, etc
Relevant linkerd-cni pod log output:
```
Renaming /host/etc/cni/net.d/10-kuberouter.conf extension to .conflist
Removing CNI_OLD_CONF_PATH: /host/etc/cni/net.d/10-kuberouter.conf
Created CNI config /host/etc/cni/net.d/10-kuberouter.conflist
Done configuring CNI. Sleep=true
```
### Environment

- Kubernetes Version: v1.13.3
- Cluster Environment: kubeadm bare metal
- Host OS: CentOS7
- Linkerd version: stable-2.2.1

### Possible solution

In the linkerd-cni install instructions, document upfront needed changes to kube-router config (or warn in general about the change and possible ramifications on existing CNI setups that have an expectation of cni config file name).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linkerd-cni daemonset behavior that handles files under /host/etc/cni/net.d/ and review the linkerd-cni install instructions. Reproduce the deployment with kube-router and verify whether the .conf file is renamed to .conflist; done means the behavior is clearly warned about or the kube-router configuration remains functional.

Written by the indexing model from the issue text.

Assessment

Tech stack
kubernetes
Domain
infrastructure
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.