Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backport of [NET-5622] build: consolidate Envoy version management into release/1.19.x #21521

Conversation

hc-github-team-consul-core
Copy link
Contributor

Backport

This PR is auto-generated from #21245 to be assessed for backporting due to the inclusion of the label backport/1.19.

🚨

Warning automatic cherry-pick of commits failed. If the first commit failed,
you will see a blank no-op commit below. If at least one commit succeeded, you
will see the cherry-picked commits up to, not including, the commit where
the merge conflict occurred.

The person who merged in the original PR is:
@sarahalsmiller
This person should manually cherry-pick the original PR into a new backport PR,
and close this one when the manual backport PR is merged in.

merge conflict error: POST https://api.github.com/repos/hashicorp/consul/merges: 409 Merge conflict []

The below text is copied from the body of the original PR.


Description

Consolidate Envoy versions into a single canonical file to enable simpler management and avoid missed updates in the future.

This effort is motivated by repeated experience struggling to ensure that we updated Envoy "everywhere" we needed to. Even moreso than managing our Go versions, there's a significant amount of sprawl when it comes to Envoy, and addressing that will enable us to more confidently update versions as well as automate the toil of doing so when new releases are available.

Note that if it weren't for returning full x.y.z Envoy versions in v1/agent/self output, I'm pretty sure we could just store the "major" x.y versions going forward and dynamically test against the latest of each in CI, since we only validate major versions in the consul connect envoy command. For now, I've kept the existing pattern of explicitly source-controlled minor Envoy releases that we'll have to keep updated - but we can at least automate that more effectively now.

I've opened manual backports through 1.15 Ent to ensure that the ENVOY_VERSIONS file is available on all actively tested branches; this is necessary for sourcing in nightly integration tests on main, so required for this PR prior to merge.

This change also includes:

  • Fix to Go version branch sourcing aligned with this PR (missed in previous Go version work).
  • Some missed component version updates in integration tests.

I have not removed or changed defunct uses of Envoy in Windows integration tests as I think that would be best accomplished as a separate holistic Windows cleanup PR.

Testing & Reproduction steps

  • get-envoy-versions output matches file
  • Integration tests use 1.29.5
  • Nightly main versions match expected
  • Nightly 1.19 versions match expected (workflow dispatch test branch used to target 1.19 PR branch for sourcing Envoy version to emulate post-1.19-backport nightly run)
  • Nightly 1.15 versions match expected (workflow dispatch test branch used to target 1.15 PR branch for sourcing Envoy version to emulate post-1.15-backport nightly run)

Local agent test:
main

❯ curl -s localhost:8500/v1/agent/self | jq '.xDS.SupportedProxies'
{
  "envoy": [
    "1.29.5",
    "1.28.4",
    "1.27.6",
    "1.26.8"
  ]
}

PR branch

❯ curl -s localhost:8500/v1/agent/self | jq '.xDS.SupportedProxies'
{
  "envoy": [
    "1.29.5",
    "1.28.4",
    "1.27.6",
    "1.26.8"
  ]
}

Follow-ups

  • Update release guide to call out upgrade test Envoy version adjustments
  • Verify nightly Ent tests are not broken after merge

Links

Manual backport PRs:

PR Checklist

  • updated test coverage
  • external facing docs updated
  • appropriate backport labels added
  • not a security concern

Overview of commits

Copy link

hashicorp-cla-app bot commented Jul 5, 2024

CLA assistant check

Thank you for your submission! We require that all contributors sign our Contributor License Agreement ("CLA") before we can accept the contribution. Read and sign the agreement

Learn more about why HashiCorp requires a CLA and what the CLA includes


1 out of 2 committers have signed the CLA.

  • sarahalsmiller
  • temp

temp seems not to be a GitHub user.
You need a GitHub account to be able to sign the CLA.
If you have already a GitHub account, please add the email address used for this commit to your account.

Have you signed the CLA already but the status is still pending? Recheck it.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Auto approved Consul Bot automated PR

…date-envoy-version-mgmt/similarly-crisp-mako
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants