linkerd / linkerd/linkerd2

bin/test-run should support testing a proxy image

Open
#2,841 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

## Feature Request

### What problem are you trying to solve?

When making large changes to the proxy, it's often desirable to use the integration tests in this repository to validate that the changes in the proxy behave correctly in conjunction with the control plane. Currently, this takes some effort, as it's necessary to rebuild the docker images for the proxy, the proxy-init container, the control plane, and the CLI binaries, in order to use `bin/test-run` to run the integration tests.

### How should the problem be solved?

Now that the `linkerd upgrade` command exists, it's possible to deploy Linkerd from a release tag and then set the tag for the proxy image to use. As an alternative to taking a path to a `linkerd` binary, it would be nice if the `bin/test-run` script took a tag for a proxy image. It could then deploy the control plane from the latest edge release, and run `linkerd upgrade -v $PROXY_TAG` to roll out the specified proxy tag for testing, and run the tests once all proxies have been upgraded. This would make integration testing for the proxy much easier.

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 bin/test-run and trace how it currently selects binaries and deploys the proxy, control plane, and proxy-init images. Review the linkerd upgrade command usage described in the issue, then verify the script can accept a proxy image tag, deploy the release control plane, upgrade proxies to that tag, and run integration tests after the upgrade completes.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, kubernetes, shell
Domain
cli, devops, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.