From 0e4c94c052d90d7212ef3affe9546b413b4a2ec3 Mon Sep 17 00:00:00 2001 From: Gyuho Lee Date: Wed, 25 Apr 2018 11:15:43 -0700 Subject: [PATCH] CHANGELOG: highlight "--log-outputs" flag Signed-off-by: Gyuho Lee --- CHANGELOG-3.1.md | 2 +- CHANGELOG-3.2.md | 16 ++++++++-------- CHANGELOG-3.3.md | 18 +++++++++--------- CHANGELOG-3.4.md | 49 ++++++++++++++++++++++++++++-------------------- CHANGELOG-3.5.md | 2 +- 5 files changed, 48 insertions(+), 39 deletions(-) diff --git a/CHANGELOG-3.1.md b/CHANGELOG-3.1.md index d0f74834a..a47ea7dec 100644 --- a/CHANGELOG-3.1.md +++ b/CHANGELOG-3.1.md @@ -8,7 +8,7 @@ See [code changes](https://github.com/coreos/etcd/compare/v3.1.13...v3.1.14) and - Add [`etcd_server_is_leader`](https://github.com/coreos/etcd/pull/9587) Prometheus metric. -### Added: `etcd` +### `etcd` - Add [`--initial-election-tick-advance`](https://github.com/coreos/etcd/pull/9591) flag to configure initial election tick fast-forward. - By default, `--initial-election-tick-advance=true`, then local member fast-forwards election ticks to speed up "initial" leader election trigger. diff --git a/CHANGELOG-3.2.md b/CHANGELOG-3.2.md index 0238473fd..8b99f068d 100644 --- a/CHANGELOG-3.2.md +++ b/CHANGELOG-3.2.md @@ -17,7 +17,7 @@ See [code changes](https://github.com/coreos/etcd/compare/v3.2.18...v3.2.19) and - However, a certificate whose SAN field does [not include any domain names but only IP addresses](https://github.com/coreos/etcd/issues/9541) would request `*tls.ClientHelloInfo` with an empty `ServerName` field, thus failing to trigger the TLS reload on initial TLS handshake; this becomes a problem when expired certificates need to be replaced online. - Now, `(*tls.Config).Certificates` is created empty on initial TLS client handshake, first to trigger `(*tls.Config).GetCertificate`, and then to populate rest of the certificates on every new TLS connection, even when client SNI is empty (e.g. cert only includes IPs). -### Added: `etcd` +### `etcd` - Add [`--initial-election-tick-advance`](https://github.com/coreos/etcd/pull/9591) flag to configure initial election tick fast-forward. - By default, `--initial-election-tick-advance=true`, then local member fast-forwards election ticks to speed up "initial" leader election trigger. @@ -153,7 +153,7 @@ See [code changes](https://github.com/coreos/etcd/compare/v3.2.11...v3.2.12) and - Fix [error message of `Revision` compactor](https://github.com/coreos/etcd/pull/8999) in server-side. -### Added: `clientv3` +### `clientv3` - Add [`MaxCallSendMsgSize` and `MaxCallRecvMsgSize`](https://github.com/coreos/etcd/pull/9047) fields to [`clientv3.Config`](https://godoc.org/github.com/coreos/etcd/clientv3#Config). - Fix [exceeded response size limit error in client-side](https://github.com/coreos/etcd/issues/9043). @@ -299,7 +299,7 @@ See [code changes](https://github.com/coreos/etcd/compare/v3.2.5...v3.2.6) and [ See [code changes](https://github.com/coreos/etcd/compare/v3.2.4...v3.2.5) and [v3.2 upgrade guide](https://github.com/coreos/etcd/blob/master/Documentation/upgrades/upgrade_3_2.md) for any breaking changes. -### Added: v3 `etcdctl` +### v3 `etcdctl` - Return non-zero exit code on unhealthy `endpoint health`. @@ -457,7 +457,7 @@ See [security doc](https://github.com/coreos/etcd/blob/master/Documentation/op-g - Logging, monitoring - Server warns large snapshot operations. -### Added: `etcd` +### `etcd` - Add `--enable-v2` flag to enable v2 API server. - `--enable-v2=true` by default. @@ -472,14 +472,14 @@ See [security doc](https://github.com/coreos/etcd/blob/master/Documentation/op-g - If compaction succeeds or requested revision has already been compacted, it resets period timer and removes used compacted revision from historical revision records (e.g. start next revision collect and compaction from previously collected revisions). - If compaction fails, it retries in 5 minutes. -### Added: `clientv3` +### `clientv3` - STM prefetching. - Add namespace feature. - Add `ErrOldCluster` with server version checking. - Translate `WithPrefix()` into `WithFromKey()` for empty key. -### Added: v3 `etcdctl` +### v3 `etcdctl` - Add `check perf` command. - Add `--from-key` flag to role grant-permission command. @@ -489,13 +489,13 @@ See [security doc](https://github.com/coreos/etcd/blob/master/Documentation/op-g - Allow snapshot over 512MB. -### Added: `grpc-proxy` +### `grpc-proxy` - Proxy endpoint discovery. - Namespaces. - Coalesce lease requests. -### Added: `gateway` +### `gateway` - Support [DNS SRV priority](https://github.com/coreos/etcd/pull/7882) for [smart proxy routing](https://github.com/coreos/etcd/issues/4378). diff --git a/CHANGELOG-3.3.md b/CHANGELOG-3.3.md index 6011895ae..c1d4b3e6a 100644 --- a/CHANGELOG-3.3.md +++ b/CHANGELOG-3.3.md @@ -17,7 +17,7 @@ See [code changes](https://github.com/coreos/etcd/compare/v3.3.3...v3.3.4) and [ - However, a certificate whose SAN field does [not include any domain names but only IP addresses](https://github.com/coreos/etcd/issues/9541) would request `*tls.ClientHelloInfo` with an empty `ServerName` field, thus failing to trigger the TLS reload on initial TLS handshake; this becomes a problem when expired certificates need to be replaced online. - Now, `(*tls.Config).Certificates` is created empty on initial TLS client handshake, first to trigger `(*tls.Config).GetCertificate`, and then to populate rest of the certificates on every new TLS connection, even when client SNI is empty (e.g. cert only includes IPs). -### Added: `etcd` +### `etcd` - Add [`--initial-election-tick-advance`](https://github.com/coreos/etcd/pull/9591) flag to configure initial election tick fast-forward. - By default, `--initial-election-tick-advance=true`, then local member fast-forwards election ticks to speed up "initial" leader election trigger. @@ -29,7 +29,7 @@ See [code changes](https://github.com/coreos/etcd/compare/v3.3.3...v3.3.4) and [ - If single-node, it advances ticks regardless. - Address [disruptive rejoining follower node](https://github.com/coreos/etcd/issues/9333). -### Added: `embed` +### Package `embed` - Add [`embed.Config.InitialElectionTickAdvance`](https://github.com/coreos/etcd/pull/9591) to enable/disable initial election tick fast-forward. - `embed.NewConfig()` would return `*embed.Config` with `InitialElectionTickAdvance` as true by default. @@ -205,7 +205,7 @@ See [security doc](https://github.com/coreos/etcd/blob/master/Documentation/op-g - Provide user's role on [auth permission error](https://github.com/coreos/etcd/pull/8164). - Fix [auth store panic with disabled token](https://github.com/coreos/etcd/pull/8695). -### Added: `etcd` +### `etcd` - Add [`--experimental-initial-corrupt-check`](https://github.com/coreos/etcd/pull/8554) flag to [check cluster database hashes before serving client/peer traffic](https://github.com/coreos/etcd/issues/8313). - `--experimental-initial-corrupt-check=false` by default. @@ -253,7 +253,7 @@ See [security doc](https://github.com/coreos/etcd/blob/master/Documentation/op-g - Address [error on shadowed environment variables](https://github.com/coreos/etcd/issues/8380). - etcd v3.4 will exit on this error. -### Added: API +### API - Support [ranges in transaction comparisons](https://github.com/coreos/etcd/pull/8025) for [disconnected linearized reads](https://github.com/coreos/etcd/issues/7924). - Add [nested transactions](https://github.com/coreos/etcd/pull/8102) to extend [proxy use cases](https://github.com/coreos/etcd/issues/7857). @@ -261,7 +261,7 @@ See [security doc](https://github.com/coreos/etcd/blob/master/Documentation/op-g - Add [lease list](https://github.com/coreos/etcd/pull/8358). - Add [hash by revision](https://github.com/coreos/etcd/pull/8263) for [better corruption checking against boltdb](https://github.com/coreos/etcd/issues/8016). -### Added: `clientv3` +### `clientv3` - Add [health balancer](https://github.com/coreos/etcd/pull/8545) to fix [watch API hangs](https://github.com/coreos/etcd/issues/7247), improve [endpoint switch under network faults](https://github.com/coreos/etcd/issues/7941). - [Refactor balancer](https://github.com/coreos/etcd/pull/8840) and add [client-side keepalive pings](https://github.com/coreos/etcd/pull/8199) to handle [network partitions](https://github.com/coreos/etcd/issues/8711). @@ -285,7 +285,7 @@ See [security doc](https://github.com/coreos/etcd/blob/master/Documentation/op-g - Fix [`concurrency/stm` `Put` with serializable snapshot](https://github.com/coreos/etcd/pull/8439). - Use store revision from first fetch to resolve write conflicts instead of modified revision. -### Added: v3 `etcdctl` +### v3 `etcdctl` - Add [`--discovery-srv`](https://github.com/coreos/etcd/pull/8462) flag. - Add [`--keepalive-time`, `--keepalive-timeout`](https://github.com/coreos/etcd/pull/8663) flags. @@ -311,11 +311,11 @@ See [security doc](https://github.com/coreos/etcd/blob/master/Documentation/op-g - Handle [empty key permission](https://github.com/coreos/etcd/pull/8514) in `etcdctl`. -### Added: v2 `etcdctl` +### v2 `etcdctl` - Add [`backup --with-v3`](https://github.com/coreos/etcd/pull/8479) flag. -### Added: `grpc-proxy` +### `grpc-proxy` - Add [`grpc-proxy start --experimental-leasing-prefix`](https://github.com/coreos/etcd/pull/8341) flag. - For disconnected linearized reads. @@ -336,7 +336,7 @@ See [security doc](https://github.com/coreos/etcd/blob/master/Documentation/op-g - Fix [KV API `PrevKv` flag handling](https://github.com/coreos/etcd/pull/8366). - Fix [KV API `KeysOnly` flag handling](https://github.com/coreos/etcd/pull/8552). -### Added: gRPC gateway +### gRPC gateway - Replace [gRPC gateway](https://github.com/grpc-ecosystem/grpc-gateway) endpoint `/v3alpha` with [`/v3beta`](https://github.com/coreos/etcd/pull/8880). - To deprecate [`/v3alpha`](https://github.com/coreos/etcd/issues/8125) in v3.4. diff --git a/CHANGELOG-3.4.md b/CHANGELOG-3.4.md index 18db2ce63..1d58009c3 100644 --- a/CHANGELOG-3.4.md +++ b/CHANGELOG-3.4.md @@ -58,10 +58,12 @@ See [code changes](https://github.com/coreos/etcd/compare/v3.3.0...v3.4.0) and [ - Change [`embed.Config.CorsInfo` in `*cors.CORSInfo` type to `embed.Config.CORS` in `map[string]struct{}` type](https://github.com/coreos/etcd/pull/9490). - Remove [`embed.Config.SetupLogging`](https://github.com/coreos/etcd/pull/9572). - Now logger is set up automatically based on [`embed.Config.Logger`, `embed.Config.LogOutputs`, `embed.Config.Debug` fields](https://github.com/coreos/etcd/pull/9572). +- Rename [`etcd --log-output` to `--log-outputs`](https://github.com/coreos/etcd/pull/9624) to support multiple log outputs. + - **`etcd --log-output`** will be deprecated in v3.5. - Rename [**`embed.Config.LogOutput`** to **`embed.Config.LogOutputs`**](https://github.com/coreos/etcd/pull/9624) to support multiple log outputs. - Change [**`embed.Config.LogOutputs`** type from `string` to `[]string`](https://github.com/coreos/etcd/pull/9579) to support multiple log outputs. - - Now that `--log-output` accepts multiple writers, etcd configuration YAML file `log-output` field must be changed to `[]string` type. - - Previously, `--config-file etcd.config.yaml` can have `log-output: default` field, now must be `log-output: [default]`. + - Now that `--log-outputs` accepts multiple writers, etcd configuration YAML file `log-outputs` field must be changed to `[]string` type. + - Previously, `--config-file etcd.config.yaml` can have `log-outputs: default` field, now must be `log-outputs: [default]`. - Change v3 `etcdctl snapshot` exit codes with [`snapshot` package](https://github.com/coreos/etcd/pull/9118/commits/df689f4280e1cce4b9d61300be13ca604d41670a). - Exit on error with exit code 1 (no more exit code 5 or 6 on `snapshot save/restore` commands). - Migrate dependency management tool from `glide` to [`golang/dep`](https://github.com/coreos/etcd/pull/9155). @@ -79,10 +81,10 @@ See [code changes](https://github.com/coreos/etcd/compare/v3.3.0...v3.4.0) and [ - Previously, `Repair(dirpath string) bool`, now `Repair(lg *zap.Logger, dirpath string) bool`. - Previously, `Create(dirpath string, metadata []byte) (*WAL, error)`, now `Create(lg *zap.Logger, dirpath string, metadata []byte) (*WAL, error)`. - Remove [`pkg/cors` package](https://github.com/coreos/etcd/pull/9490). -- Move `"github.com/coreos/etcd/snap"` to [`"github.com/coreos/etcd/raftsnap"`](https://github.com/coreos/etcd/pull/9211). -- Move `"github.com/coreos/etcd/etcdserver/auth"` to [`"github.com/coreos/etcd/etcdserver/v2auth"`](https://github.com/coreos/etcd/pull/9275). -- Move `"github.com/coreos/etcd/error"` to [`"github.com/coreos/etcd/etcdserver/v2error"`](https://github.com/coreos/etcd/pull/9274). -- Move `"github.com/coreos/etcd/store"` to [`"github.com/coreos/etcd/etcdserver/v2store"`](https://github.com/coreos/etcd/pull/9274). +- Move internal package `"github.com/coreos/etcd/snap"` to [`"github.com/coreos/etcd/raftsnap"`](https://github.com/coreos/etcd/pull/9211). +- Move internal package `"github.com/coreos/etcd/etcdserver/auth"` to [`"github.com/coreos/etcd/etcdserver/v2auth"`](https://github.com/coreos/etcd/pull/9275). +- Move internal package `"github.com/coreos/etcd/error"` to [`"github.com/coreos/etcd/etcdserver/v2error"`](https://github.com/coreos/etcd/pull/9274). +- Move internal package `"github.com/coreos/etcd/store"` to [`"github.com/coreos/etcd/etcdserver/v2store"`](https://github.com/coreos/etcd/pull/9274). ### Dependency @@ -124,7 +126,7 @@ See [security doc](https://github.com/coreos/etcd/blob/master/Documentation/op-g - However, a certificate whose SAN field does [not include any domain names but only IP addresses](https://github.com/coreos/etcd/issues/9541) would request `*tls.ClientHelloInfo` with an empty `ServerName` field, thus failing to trigger the TLS reload on initial TLS handshake; this becomes a problem when expired certificates need to be replaced online. - Now, `(*tls.Config).Certificates` is created empty on initial TLS client handshake, first to trigger `(*tls.Config).GetCertificate`, and then to populate rest of the certificates on every new TLS connection, even when client SNI is empty (e.g. cert only includes IPs). -### Added: `etcd` +### `etcd` - Add [`--initial-election-tick-advance`](https://github.com/coreos/etcd/pull/9591) flag to configure initial election tick fast-forward. - By default, `--initial-election-tick-advance=true`, then local member fast-forwards election ticks to speed up "initial" leader election trigger. @@ -154,25 +156,32 @@ See [security doc](https://github.com/coreos/etcd/blob/master/Documentation/op-g - If `--discovery-srv-name="foo"`, then query `_etcd-server-ssl-foo._tcp.[YOUR_HOST]` and `_etcd-server-foo._tcp.[YOUR_HOST]`. - Useful for operating multiple etcd clusters under the same domain. - Support [`etcd --cors`](https://github.com/coreos/etcd/pull/9490) in v3 HTTP requests (gRPC gateway). +- Rename [`etcd --log-output` to `--log-outputs`](https://github.com/coreos/etcd/pull/9624) to support multiple log outputs. + - **`etcd --log-output`** will be deprecated in v3.5. - Add [`--logger`](https://github.com/coreos/etcd/pull/9572) flag to support [structured logger and logging to file](https://github.com/coreos/etcd/issues/9438) in server-side. - - e.g. `--logger=capnslog --log-output=default` is the default setting and same as previous etcd server logging format. - - e.g. `--logger=zap --log-output=default` will log server operations in [JSON-encoded format](https://godoc.org/go.uber.org/zap#NewProductionEncoderConfig) and writes logs to `os.Stderr` (detect systemd journald TODO). - - e.g. If etcd parent process ID (`ppid`) is 1 (e.g. run with systemd), `--logger=zap --log-output=default` will [redirect server logs to local systemd journal](https://github.com/coreos/etcd/pull/9624) in [JSON-encoded format](https://godoc.org/go.uber.org/zap#NewProductionEncoderConfig). And if write to journald fails, it writes to `os.Stderr` as a fallback. - - e.g. `--logger=zap --log-output=stderr` will log server operations in [JSON-encoded format](https://godoc.org/go.uber.org/zap#NewProductionEncoderConfig) and writes logs to `os.Stderr`. Use this to override journald log redirects. - - e.g. `--logger=zap --log-output=stdout` will log server operations in [JSON-encoded format](https://godoc.org/go.uber.org/zap#NewProductionEncoderConfig) and writes logs to `os.Stdout` Use this to override journald log redirects. - - e.g. `--logger=zap --log-output=a.log` will log server operations in [JSON-encoded format](https://godoc.org/go.uber.org/zap#NewProductionEncoderConfig) and writes logs to the specified file `a.log`. - - e.g. `--logger=zap --log-output=a.log,b.log,c.log,stdout` [writes server logs to multiple files `a.log`, `b.log` and `c.log` at the same time](https://github.com/coreos/etcd/pull/9579) and outputs to `stdout`, in [JSON-encoded format](https://godoc.org/go.uber.org/zap#NewProductionEncoderConfig). - - e.g. `--logger=zap --log-output=/dev/null` will discard all server logs. + - e.g. `--logger=capnslog --log-outputs=default` is the default setting and same as previous etcd server logging format. + - e.g. `--logger=zap --log-outputs=default` will log server operations in [JSON-encoded format](https://godoc.org/go.uber.org/zap#NewProductionEncoderConfig) and writes logs to `os.Stderr`. + - e.g. If etcd parent process ID (`ppid`) is 1 (e.g. run with systemd), `--logger=zap --log-outputs=default` will [redirect server logs to local systemd journal](https://github.com/coreos/etcd/pull/9624) in [JSON-encoded format](https://godoc.org/go.uber.org/zap#NewProductionEncoderConfig). And if write to journald fails, it writes to `os.Stderr` as a fallback. + - e.g. `--logger=zap --log-outputs=stderr` will log server operations in [JSON-encoded format](https://godoc.org/go.uber.org/zap#NewProductionEncoderConfig) and writes logs to `os.Stderr`. Use this to override journald log redirects. + - e.g. `--logger=zap --log-outputs=stdout` will log server operations in [JSON-encoded format](https://godoc.org/go.uber.org/zap#NewProductionEncoderConfig) and writes logs to `os.Stdout` Use this to override journald log redirects. + - e.g. `--logger=zap --log-outputs=a.log` will log server operations in [JSON-encoded format](https://godoc.org/go.uber.org/zap#NewProductionEncoderConfig) and writes logs to the specified file `a.log`. + - e.g. `--logger=zap --log-outputs=a.log,b.log,c.log,stdout` [writes server logs to multiple files `a.log`, `b.log` and `c.log` at the same time](https://github.com/coreos/etcd/pull/9579) and outputs to `stdout`, in [JSON-encoded format](https://godoc.org/go.uber.org/zap#NewProductionEncoderConfig). + - e.g. `--logger=zap --log-outputs=/dev/null` will discard all server logs. -### Added: `embed` +### Package `embed` - Add [`embed.Config.InitialElectionTickAdvance`](https://github.com/coreos/etcd/pull/9591) to enable/disable initial election tick fast-forward. - `embed.NewConfig()` would return `*embed.Config` with `InitialElectionTickAdvance` as true by default. - Add [`embed.Config.Logger`](https://github.com/coreos/etcd/pull/9518) to support [structured logger `zap`](https://github.com/uber-go/zap) in server-side. - Define [`embed.CompactorModePeriodic`](https://godoc.org/github.com/coreos/etcd/embed#pkg-variables) for `compactor.ModePeriodic`. - Define [`embed.CompactorModeRevision`](https://godoc.org/github.com/coreos/etcd/embed#pkg-variables) for `compactor.ModeRevision`. +- Change [`embed.Config.CorsInfo` in `*cors.CORSInfo` type to `embed.Config.CORS` in `map[string]struct{}` type](https://github.com/coreos/etcd/pull/9490). +- Remove [`embed.Config.SetupLogging`](https://github.com/coreos/etcd/pull/9572). + - Now logger is set up automatically based on [`embed.Config.Logger`, `embed.Config.LogOutputs`, `embed.Config.Debug` fields](https://github.com/coreos/etcd/pull/9572). +- Rename [**`embed.Config.LogOutput`** to **`embed.Config.LogOutputs`**](https://github.com/coreos/etcd/pull/9624) to support multiple log outputs. +- Change [**`embed.Config.LogOutputs`** type from `string` to `[]string`](https://github.com/coreos/etcd/pull/9579) to support multiple log outputs. -### Added: API +### API - Add [`snapshot`](https://github.com/coreos/etcd/pull/9118) package for snapshot restore/save operations (see [`godoc.org/github.com/etcd/snapshot`](https://godoc.org/github.com/coreos/etcd/snapshot) for more). - Add [`watch_id` field to `etcdserverpb.WatchCreateRequest`](https://github.com/coreos/etcd/pull/9065), allow user-provided watch ID to `mvcc`. @@ -182,7 +191,7 @@ See [security doc](https://github.com/coreos/etcd/blob/master/Documentation/op-g - e.g. `"etcdserver: no leader", "NOSPACE", "CORRUPT"` - Add [`dbSizeInUse` field to `etcdserverpb.StatusResponse`](https://github.com/coreos/etcd/pull/9256) for actual DB size after compaction. -### Added: v3 `etcdctl` +### v3 `etcdctl` - Add [`check datascale`](https://github.com/coreos/etcd/pull/9185) command. - Add [`check datascale --auto-compact, --auto-defrag`](https://github.com/coreos/etcd/pull/9351) flags. @@ -193,7 +202,7 @@ See [security doc](https://github.com/coreos/etcd/blob/master/Documentation/op-g - Add [`endpoint health --write-out` support](https://github.com/coreos/etcd/pull/9540). - Previously, [`endpoint health --write-out json` did not work](https://github.com/coreos/etcd/issues/9532). -### Added: gRPC gateway +### gRPC gateway - Replace [gRPC gateway](https://github.com/grpc-ecosystem/grpc-gateway) endpoint `/v3beta` with [`/v3`](https://github.com/coreos/etcd/pull/9298). - Deprecated [`/v3alpha`](https://github.com/coreos/etcd/pull/9298). @@ -236,5 +245,5 @@ See [security doc](https://github.com/coreos/etcd/blob/master/Documentation/op-g ### Go - Require *Go 1.10+*. -- Compile with [*Go 1.10*](https://golang.org/doc/devel/release.html#go1.10). +- Compile with [*Go 1.10.1*](https://golang.org/doc/devel/release.html#go1.10). diff --git a/CHANGELOG-3.5.md b/CHANGELOG-3.5.md index 64540dc0f..e25d1c02c 100644 --- a/CHANGELOG-3.5.md +++ b/CHANGELOG-3.5.md @@ -10,7 +10,7 @@ See [code changes](https://github.com/coreos/etcd/compare/v3.4.0...v3.5.0) and [ - Deprecated [`/v3beta`](https://github.com/coreos/etcd/pull/9298). - `curl -L http://localhost:2379/v3beta/kv/put -X POST -d '{"key": "Zm9v", "value": "YmFy"}'` does work in v3.5. Use `curl -L http://localhost:2379/v3/kv/put -X POST -d '{"key": "Zm9v", "value": "YmFy"}'` instead. -### Added: gRPC gateway +### gRPC gateway - [gRPC gateway](https://github.com/grpc-ecosystem/grpc-gateway) only supports [`/v3`](TODO) endpoint. - Deprecated [`/v3beta`](https://github.com/coreos/etcd/pull/9298).