Skip to content

Commit

Permalink
Merge branch 'etcd-io:main' into pr5
Browse files Browse the repository at this point in the history
  • Loading branch information
geetasg authored Jul 25, 2023
2 parents e29461f + 0ba8b0f commit fc52969
Show file tree
Hide file tree
Showing 156 changed files with 5,213 additions and 883 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@6c089f53dd51dc3fc7e599c3cb5356453a52ca9e # v2.20.0
uses: github/codeql-action/init@1813ca74c3faaa3a2da2070b9b8a0b3e7373a0d8 # v2.21.0
with:
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
Expand All @@ -50,6 +50,6 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@6c089f53dd51dc3fc7e599c3cb5356453a52ca9e # v2.20.0
uses: github/codeql-action/autobuild@1813ca74c3faaa3a2da2070b9b8a0b3e7373a0d8 # v2.21.0
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@6c089f53dd51dc3fc7e599c3cb5356453a52ca9e # v2.20.0
uses: github/codeql-action/analyze@1813ca74c3faaa3a2da2070b9b8a0b3e7373a0d8 # v2.21.0
19 changes: 19 additions & 0 deletions .github/workflows/e2e-arm64-nightly.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: E2E Arm64 Nightly
permissions: read-all
on:
# schedules always run against the main branch, hence we have to create separate jobs
# with individual checkout actions for each of the active release branches
schedule:
- cron: '30 1 * * *' # runs daily at 1:30 am.
jobs:
main-arm64:
uses: ./.github/workflows/e2e-arm64-template.yaml
with:
etcdBranch: main
e2eTestCmd: make test-e2e-release
release-35-arm64:
uses: ./.github/workflows/e2e-arm64-template.yaml
with:
etcdBranch: release-3.5
e2eTestCmd: PASSES='build release e2e' COVER='false' ./test.sh
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
---
name: E2E-arm64
name: Reusable Arm64 E2E Workflow
on:
schedule:
- cron: '0 1 * * *' # runs daily at 1am.
workflow_call:
inputs:
etcdBranch:
required: true
type: string
e2eTestCmd:
required: false
type: string
permissions: read-all
jobs:
test:
Expand All @@ -20,6 +26,8 @@ jobs:
- linux-arm64-e2e
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
with:
ref: "${{ inputs.etcdBranch }}"
# https://github.com/actions/checkout/issues/1169
- run: git config --system --add safe.directory '*'
- id: goversion
Expand All @@ -36,7 +44,7 @@ jobs:
echo "${TARGET}"
case "${TARGET}" in
linux-arm64-e2e)
GOOS=linux GOARCH=arm64 CPU=4 EXPECT_DEBUG=true RACE=true make test-e2e-release
GOOS=linux GOARCH=arm64 CPU=4 EXPECT_DEBUG=true RACE=true ${{ inputs.e2eTestCmd }}
;;
*)
echo "Failed to find target"
Expand Down
7 changes: 7 additions & 0 deletions .github/workflows/robustness-nightly.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,13 @@ jobs:
count: 100
testTimeout: 200m
artifactName: release-35
release-35-arm64:
uses: ./.github/workflows/robustness-template-arm64.yaml
with:
etcdBranch: release-3.5
count: 100
testTimeout: 200m
artifactName: release-35-arm64
release-34:
uses: ./.github/workflows/robustness-template.yaml
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/robustness-template-arm64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ jobs:
exit 1
;;
esac
- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce
- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
if: always()
with:
name: ${{ inputs.artifactName }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/robustness-template.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ jobs:
exit 1
;;
esac
- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce
- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
if: always()
with:
name: ${{ inputs.artifactName }}
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/scorecards.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@ jobs:

steps:
- name: "Checkout code"
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # tag=v3.0.0
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
with:
persist-credentials: false

- name: "Run analysis"
uses: ossf/scorecard-action@80e868c13c90f172d68d1f4501dee99e2479f7af # tag=v2.1.3
uses: ossf/scorecard-action@08b4669551908b1024bb425080c797723083c031 # v2.2.0
with:
results_file: results.sarif
results_format: sarif
Expand All @@ -42,14 +42,14 @@ jobs:
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: "Upload artifact"
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # tag=v3.0.0
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
with:
name: SARIF file
path: results.sarif
retention-days: 5

# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@6c089f53dd51dc3fc7e599c3cb5356453a52ca9e # tag=v1.0.26
uses: github/codeql-action/upload-sarif@1813ca74c3faaa3a2da2070b9b8a0b3e7373a0d8 # v2.21.0
with:
sarif_file: results.sarif
4 changes: 2 additions & 2 deletions .github/workflows/static-analysis.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@ jobs:
- name: golangci-lint
uses: golangci/golangci-lint-action@639cd343e1d3b897ff35927a75193d57cfcba299 # v3.6.0
with:
version: v1.49.0
version: v1.53.3
args: --config tools/.golangci.yaml
- name: protoc
uses: arduino/setup-protoc@149f6c87b92550901b26acd1632e11c3662e381f # v1.3.0
with:
version: '3.14.0'
version: '3.20.3'
repo-token: ${{ secrets.GITHUB_TOKEN }}
- run: |
set -euo pipefail
Expand Down
22 changes: 22 additions & 0 deletions .github/workflows/tests-arm64-nightly.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: Integration Arm64 Nightly
permissions: read-all
on:
# schedules always run against the main branch, hence we have to create separate jobs
# with individual checkout actions for each of the active release branches
schedule:
- cron: '30 2 * * *' # runs daily at 2:30 am.
jobs:
main-arm64:
uses: ./.github/workflows/tests-arm64-template.yaml
with:
etcdBranch: main
integrationTestCmd: make test-integration
unitTestCmd: GO_TEST_FLAGS='-p=2' make test-unit
release-35-arm64:
uses: ./.github/workflows/tests-arm64-template.yaml
with:
etcdBranch: release-3.5
integrationTestCmd: PASSES='integration' RACE='false' ./test.sh
unitTestCmd: PASSES='unit' CPU='4' ./test.sh -p=2
gofailMake: "no"
Original file line number Diff line number Diff line change
@@ -1,9 +1,23 @@
---
name: Tests-arm64
name: Reusable Arm64 Integration Workflow
on:
schedule:
- cron: '30 1 * * *' # runs daily at 1:30 am.
workflow_call:
inputs:
etcdBranch:
required: true
type: string
integrationTestCmd:
required: true
type: string
unitTestCmd:
required: true
type: string
gofailMake:
required: false
type: string
default: "yes"
permissions: read-all

jobs:
test:
# this is to prevent the job to run at forked projects
Expand All @@ -23,6 +37,8 @@ jobs:
- linux-arm64-unit-4-cpu-race
steps:
- uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
with:
ref: "${{ inputs.etcdBranch }}"
# https://github.com/actions/checkout/issues/1169
- run: git config --system --add safe.directory '*'
- id: goversion
Expand All @@ -40,19 +56,19 @@ jobs:
export JUNIT_REPORT_DIR=$(realpath ${TARGET})
case "${TARGET}" in
linux-arm64-integration-1-cpu)
make gofail-enable
GOOS=linux GOARCH=arm64 CPU=1 make test-integration
if [ "${{ inputs.gofailMake }}" == "yes" ]; then make gofail-enable; fi
GOOS=linux GOARCH=arm64 CPU=1 ${{ inputs.integrationTestCmd }}
;;
linux-arm64-integration-2-cpu)
make gofail-enable
GOOS=linux GOARCH=arm64 CPU=2 make test-integration
if [ "${{ inputs.gofailMake }}" == "yes" ]; then make gofail-enable; fi
GOOS=linux GOARCH=arm64 CPU=2 ${{ inputs.integrationTestCmd }}
;;
linux-arm64-integration-4-cpu)
make gofail-enable
GOOS=linux GOARCH=arm64 CPU=4 make test-integration
if [ "${{ inputs.gofailMake }}" == "yes" ]; then make gofail-enable; fi
GOOS=linux GOARCH=arm64 CPU=4 ${{ inputs.integrationTestCmd }}
;;
linux-arm64-unit-4-cpu-race)
GOOS=linux GOARCH=arm64 CPU=4 RACE=true GO_TEST_FLAGS='-p=2' make test-unit
GOOS=linux GOARCH=arm64 CPU=4 RACE=true ${{ inputs.unitTestCmd }}
;;
*)
echo "Failed to find target"
Expand Down
2 changes: 1 addition & 1 deletion .go-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.19.10
1.19.11
22 changes: 21 additions & 1 deletion CHANGELOG/CHANGELOG-3.4.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,33 @@

Previous change logs can be found at [CHANGELOG-3.3](https://github.com/etcd-io/etcd/blob/main/CHANGELOG/CHANGELOG-3.3.md).

## v3.4.28 (tbd)

### Dependencies
- Compile binaries using [go 1.19.11](https://github.com/etcd-io/etcd/pull/16228).

### etcd server
- Improve [Skip getting authInfo from incoming context when auth is disabled](https://github.com/etcd-io/etcd/pull/16240)

### Package `clientv3`
- Fix [Reset auth token when failing to authenticate due to auth being disabled](https://github.com/etcd-io/etcd/pull/16240)

<hr>

## v3.4.27 (tbd)
## v3.4.27 (2023-07-11)

### etcd server
- Fix [corruption check may get a `ErrCompacted` error when server has just been compacted](https://github.com/etcd-io/etcd/pull/16047)
- Improve [Lease put performance for the case that auth is disabled or the user is admin](https://github.com/etcd-io/etcd/pull/16020)
- Fix [embed: nil pointer dereference when stopServer](https://github.com/etcd-io/etcd/pull/16195)

### etcdctl v3
- Add [optional --bump-revision and --mark-compacted flag to etcdctl snapshot restore operation](https://github.com/etcd-io/etcd/pull/16193).

### Dependencies
- Compile binaries using [go 1.19.10](https://github.com/etcd-io/etcd/pull/16038).

<hr>

## v3.4.26 (2023-05-12)

Expand Down
15 changes: 15 additions & 0 deletions CHANGELOG/CHANGELOG-3.5.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,25 @@ Previous change logs can be found at [CHANGELOG-3.4](https://github.com/etcd-io/
### etcd server
- Fix [corruption check may get a `ErrCompacted` error when server has just been compacted](https://github.com/etcd-io/etcd/pull/16048)
- Improve [Lease put performance for the case that auth is disabled or the user is admin](https://github.com/etcd-io/etcd/pull/16019)
- Improve [Skip getting authInfo from incoming context when auth is disabled](https://github.com/etcd-io/etcd/pull/16241)

### etcdutl v3
- Add [optional --bump-revision and --mark-compacted flag to etcdutl snapshot restore operation](https://github.com/etcd-io/etcd/pull/16165).

### etcdctl v3
- Add [optional --bump-revision and --mark-compacted flag to etcdctl snapshot restore operation](https://github.com/etcd-io/etcd/pull/16165).

### etcd grpc-proxy
- Fix [Memberlist results not updated when proxy node down](https://github.com/etcd-io/etcd/pull/15907).

### Package `clientv3`
- Fix [Multiple endpoints with same prefix got mixed up](https://github.com/etcd-io/etcd/pull/15939)
- Fix [Unexpected blocking when barrier waits on a nonexistent key](https://github.com/etcd-io/etcd/pull/16188)
- Fix [Reset auth token when failing to authenticate due to auth being disabled](https://github.com/etcd-io/etcd/pull/16241)

### Dependencies
- Compile binaries using [go 1.19.11](https://github.com/etcd-io/etcd/pull/16227).

<hr>

## v3.5.9 (2023-05-11)
Expand Down
3 changes: 2 additions & 1 deletion CHANGELOG/CHANGELOG-3.6.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ See [code changes](https://github.com/etcd-io/etcd/compare/v3.5.0...v3.6.0).

- Add command to generate [shell completion](https://github.com/etcd-io/etcd/pull/13142).
- Add `migrate` command for downgrading/upgrading etcd data dir files.
- Add [optional --bump-revision and --mark-compacted flag to etcdutl snapshot restore operation](https://github.com/etcd-io/etcd/pull/16029).

### Package `clientv3`

Expand Down Expand Up @@ -72,7 +73,7 @@ See [code changes](https://github.com/etcd-io/etcd/compare/v3.5.0...v3.6.0).
- Add [Protection on maintenance request when auth is enabled](https://github.com/etcd-io/etcd/pull/14663).
- Graduated [`--experimental-warning-unary-request-duration` to `--warning-unary-request-duration`](https://github.com/etcd-io/etcd/pull/14414). Note the experimental flag is deprecated and will be decommissioned in v3.7.
- Add [field `hash_revision` into `HashKVResponse`](https://github.com/etcd-io/etcd/pull/14537).
- Add [`etcd --experimental-snapshot-catch-up-entries`](https://github.com/etcd-io/etcd/pull/15033) flag to configure number of entries for a slow follower to catch up after compacting the the raft storage entries and defaults to 5k.
- Add [`etcd --experimental-snapshot-catch-up-entries`](https://github.com/etcd-io/etcd/pull/15033) flag to configure number of entries for a slow follower to catch up after compacting the raft storage entries and defaults to 5k.
- Decreased [`--snapshot-count` default value from 100,000 to 10,000](https://github.com/etcd-io/etcd/pull/15408)
- Add [`etcd --tls-min-version --tls-max-version`](https://github.com/etcd-io/etcd/pull/15156) to enable support for TLS 1.3.

Expand Down
2 changes: 1 addition & 1 deletion Documentation/contributor-guide/triage_issues.md
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ New feature requests should be created via the etcd feature request template and

### Test flakes

Test flakes are a specific type of bug that the etcd project tracks seperately as these are a priority to address. These should be created via the test flake template and in theory already have the `type/flake` label, however if this is missing for an issue you determine to be related to a flaking test please add the label manually.
Test flakes are a specific type of bug that the etcd project tracks separately as these are a priority to address. These should be created via the test flake template and in theory already have the `type/flake` label, however if this is missing for an issue you determine to be related to a flaking test please add the label manually.

## Step 4 - Define the areas impacted

Expand Down
6 changes: 3 additions & 3 deletions Documentation/infra-guide/arm64-infra.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ Access to the infrastructure is defined by the infra admins table below:

| Name | Github | K8s Slack | Email |
|---------------------------|----------------|--------------------|--------------------|
| Marek Siarkowicz | @serathius | @ Serathius | Ref MAINTAINERS.md |
| Benjamin Wang | @ahrtr | @ Benjamin Wang | Ref MAINTAINERS.md |
| Marek Siarkowicz | @serathius | @ Serathius | Ref MAINTAINERS |
| Benjamin Wang | @ahrtr | @ Benjamin Wang | Ref MAINTAINERS |
| Davanum Srinivas | @dimns | @ Dims | [email protected] |
| Chao Chen | @chaochn47 | @ Chao Chen | [email protected] |
| James Blair | @jmhbnz | @ James Blair | [email protected] |
| James Blair | @jmhbnz | @ James Blair | Ref MAINTAINERS |

Individuals in this table are granted access to the infrastructure in two ways:

Expand Down
4 changes: 3 additions & 1 deletion MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,12 @@
# Please keep the list sorted.

# MAINTAINERS
Benjamin Wang <[email protected]> (ahrtr@) pkg:*
Benjamin Wang <[email protected]> (@ahrtr) pkg:*
Hitoshi Mitake <[email protected]> (@mitake) pkg:*
Marek Siarkowicz <[email protected]> <[email protected]> (@serathius) pkg:*
Piotr Tabor <[email protected]> (@ptabor) pkg:*
Sahdev Zala <[email protected]> (@spzala) pkg:*
Wenjia Zhang <[email protected]> <[email protected]> (@wenjiaswe) pkg:*

# REVIEWERS
James Blair <[email protected]> <[email protected]> (@jmhbnz) pkg:*
9 changes: 2 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,11 +103,7 @@ This will bring up 3 etcd members `infra1`, `infra2` and `infra3` and optionally

Every cluster member and proxy accepts key value reads and key value writes.

Follow the steps in [Procfile.learner](./Procfile.learner) to add a learner node to the cluster. Start the learner node with:

```bash
goreman -f ./Procfile.learner start
```
Follow the comments in [Procfile script](./Procfile) to add a learner node to the cluster.

### Install etcd client v3

Expand Down Expand Up @@ -144,7 +140,7 @@ Now it's time to dig into the full etcd API and other guides.

### Community meetings

etcd contributors and maintainers have monthly (every four weeks) meetings at 11:00 AM (USA Pacific) on Thursday.
etcd contributors and maintainers meet every two weeks at 11:00 AM (USA Pacific) on Thursday.

An initial agenda will be posted to the [shared Google docs][shared-meeting-notes] a day before each meeting, and everyone is welcome to suggest additional topics or other agendas.

Expand Down Expand Up @@ -191,7 +187,6 @@ These emeritus maintainers dedicated a part of their career to etcd and reviewed
* Joe Betz
* Gyuho Lee
* Jingyi Hu
* Wenjia Zhang
* Xiang Li
* Ben Darnell
* Sam Batschelet
Expand Down
Loading

0 comments on commit fc52969

Please sign in to comment.