chris
c7c379e52e
embed: expose ZapLoggerBuilder
...
This exposes the ZapLoggerBuilder in the embed.Config to allow for
custom loggers to be defined and used by embedded etcd.
Fixes #11144
2019-09-13 14:09:54 -04:00
Gyuho Lee
8b053b0f44
embed: fix secure server logging message
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-09-03 09:43:08 -07:00
Gyuho Lee
9f8a1edf38
embed: fix "--log-outputs" setup without "stderr"
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-27 09:50:17 -07:00
Joe Betz
1e213b7ab6
*: Add experimental-compaction-batch-limit flag
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-15 13:31:39 -07:00
Gyuho Lee
b9de4bddda
embed: add "LogLevel", deprecate "Debug" in v3.5
...
Make log level configurable, and deprecate "debug" flag in v3.5.
And adds more warnings on flags that's being deprecated in v3.5.
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-29 15:43:19 -07:00
Gyuho Lee
348b0d40a6
embed: do not expose "zapLoggerBuilder"
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-29 15:43:19 -07:00
Gyuho Lee
ecb915617d
embed: disable v2 by default
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-28 19:36:51 -05:00
Gyuho Lee
a6b105a907
embed: use new "credentials" package
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-26 08:56:45 -07:00
chris
2223142685
embed: fix oob panic in zap logger
...
This fixes an index out-of-bounds panic caused when using the embed
package and the zap logger. When a TLS handshake error is logged, the
slice for cert ip addresses is allocated with capacity but no length, so
subsequent index access causes the panic, and doesn't surface the TLS
handshake error to the user.
Fixes #10932
2019-07-25 09:42:42 -04:00
Jingyi Hu
e67b9829b6
*: enable lease checkpoint via experimental flag
...
Primary lessor persist lease remainingTTL only if experimental flag
"--experimental-enable-lease-checkpoint" is set.
2019-06-05 15:30:03 -07:00
Gyuho Lee
34bd797e67
*: revert module import paths
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-05-28 15:39:35 -07:00
rohitsardesai83
42a7ea6d33
etcd: Replace ghodss/yaml with sigs.k8s.io/yaml
...
To remove the dependency on ghodss/yaml. Replaced this dependency with sigs.k8s.io/yaml.
This wil help to remove the ghodss/yaml dependency from main kubernetes repository.
xref: https://github.com/kubernetes/kubernetes/issues/77024
2019-05-02 12:34:36 +05:30
shivaramr
9150bf52d6
go modules: Fix module path version to include version number
2019-04-26 15:29:50 -07:00
Ben McIlwain
b3dd3d3856
embed: Fix HTTPs -> HTTPS in error message
2019-04-17 09:38:53 -04:00
caoming
874532c2da
embed: Modify the comments to be more precise.
2019-03-14 10:59:52 +08:00
Gyuho Lee
8d1a62e7ef
*: use default log configuration for server
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-02-21 10:57:26 -08:00
WizardCXY
e6c6d8492e
*: add flag to let etcd use the new boltdb freelistType feature
2019-02-14 11:07:08 +08:00
Hitoshi Mitake
11fb62ecb4
embed: requests for grpc gateway must have empty CN if --client-cert-auth is passed
...
This commit lets grpc gateway return a correct error to clients.
Even if a client has a cert with non empty CN, current gateway returns
an error like below:
```
$ curl --cacert ./integration/fixtures/ca.crt --cert ./integration/fixtures/server.crt --key ./integration/fixtures/server.key.insecure https://localhost:2379/v3/kv/put -X POST -d '{"key": "fromcurl", "value": "test"}'
{"error":"etcdserver: user name is empty","code":3}
```
This is because etcd ignores CN from gateway connection.
The error will be like this:
```
$ curl --cacert ./integration/fixtures/ca.crt --cert ./integration/fixtures/server.crt --key ./integration/fixtures/server.key.insecure https://localhost:2379/v3/kv/put -X POST -d '{"key": "fromcurl", "value": "test"}'
CommonName of client sending a request against gateway will be ignored and not used as expected
```
The error will be returned if the server is enabling auth and gRPC
gateway.
2019-01-23 03:26:34 +09:00
Hitoshi Mitake
72dd4a18c5
*: add a new option --enable-grpc-gateway for enabling/disabling grpc gateway
2019-01-23 03:26:34 +09:00
Mark McLoughlin
fcc29894c2
config: multiple logging fixes
...
First, don't panic with invalid --log-outputs. For example:
$> ./bin/etcd --log-outputs foo
2018-12-20 15:05:47.988652 C | embed: unknown log-output "foo" (only supports "default", "stderr", "stdout")
panic: unknown log-output "foo" (only supports "default", "stderr", "stdout")
goroutine 1 [running]:
go.etcd.io/etcd/vendor/github.com/coreos/pkg/capnslog.(*PackageLogger).Panicf(0xc000294b00, 0x10fe067, 0x30, 0xc0001fa398, 0x4, 0x4)
go.etcd.io/etcd/vendor/github.com/coreos/pkg/capnslog/pkg_logger.go:75 +0x161
go.etcd.io/etcd/embed.(*Config).setupLogging(0xc000291400, 0xc0002a85b0, 0x1)
go.etcd.io/etcd/embed/config_logging.go:120 +0x1939
...
Or:
$> ./bin/etcd --log-outputs foo,default --logger zap
panic: multi logoutput for "default" is not supported yet
goroutine 1 [running]:
go.etcd.io/etcd/embed.(*Config).setupLogging(0xc000314500, 0xc0001b2f70, 0x1)
go.etcd.io/etcd/embed/config_logging.go:129 +0x2437
go.etcd.io/etcd/embed.(*Config).Validate(0xc000314500, 0xc000268a98, 0x127e440)
go.etcd.io/etcd/embed/config.go:543 +0x43
Second, don't exit in embed.setupLogging(). Before:
$> ./bin/etcd --log-outputs foo,bar
--logger=capnslog supports only 1 value in '--log-outputs', got ["bar" "foo"]
and after:
$> ./bin/etcd --log-outputs foo,bar
2018-12-20 15:10:24.317982 E | etcdmain: error verifying flags, --logger=capnslog supports only 1 value in '--log-outputs', got ["bar" "foo"]. See 'etcd --help'.
Third, remove duplicated unique strings code. UniqueStringsFromFlag()
is already available to return a sorted slice of values, so just use
that.
Lastly, fix a tiny logging typo in config.
2019-01-17 15:09:26 -05:00
nolouch
ac090fe326
embed: add zap logger builder
...
Signed-off-by: nolouch <nolouch@gmail.com>
2019-01-15 23:22:04 +08:00
caoming
e7b5f2de26
embed: add test cases in TestAutoCompactionModeParse.
2019-01-02 17:08:15 +08:00
Gyuho Lee
c58f5cfeda
test: disable "unparam" for now
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-12-17 11:30:28 -08:00
caoming
6744c57de3
embed: set log-outputs 'default' to 'stderr' config when zap mode
2018-12-06 09:33:51 +08:00
Xiang Li
3faed211e5
*: add flags to setup backend related config
2018-11-26 15:50:26 -08:00
Shin'ya Ueoka
aa4313a55a
*: fix github links
2018-11-10 11:14:18 +09:00
Gyuho Lee
d37f1521b7
*: update import paths to "go.etcd.io/etcd"
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 17:47:55 -07:00
Gyuho Lee
3ac4d208ac
embed: combine all info-print functions
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-09 12:32:47 -07:00
Gyuho Lee
3125c0c3e8
embed: support custom cipher suites
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-05 12:50:29 -07:00
Gyuho Lee
1ebaeed5c1
embed: fix typo
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-25 11:15:47 -07:00
Gyuho Lee
7940113906
*: move internal "etcdserver/api/rafthttp"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-21 10:31:16 -07:00
Gyuho Lee
2dd555c983
*: move "etcdserver/api/v3compactor"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-21 10:31:16 -07:00
Gyuho Lee
afe511945e
embed: rename "SnapshotCount", add "SnapshotCatchUpEntries"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-18 14:38:39 -07:00
Gyuho Lee
15fcd6d599
embed: do not support "--log-outputs=default" for zap logger
...
systemd/journal should be configured manually.
Interpreting PPID 1 as systemd unit is wrong,
especially when embedded etcd runs under Docker
container. For such case, every single log write
will error and fall back to stderr, which is
inefficient.
Instead, add "systemd/journal" log output option
and returns error if systemd/journal socket cannot
be found.
"--logger=zap --log-outputs=default" will only error
for v3.4, since zap logger is still experimental.
v3.5 deprecates capnslog and changes "--log-outputs"
default value to "--log-outputs=stderr".
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-16 14:47:43 -07:00
Gyuho Lee
3a80499da4
*: rename to "journal"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-16 14:38:27 -07:00
Gyuho Lee
5a61dc8008
embed: error when it cannot find journal socket
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-16 14:35:11 -07:00
Jiang Xuan
bf432648ae
*: make bcrypt-cost configurable
2018-05-03 11:43:32 -07:00
Gyuho Lee
5828efda38
*: use "zap.Field"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 13:26:39 -07:00
Gyuho Lee
154d7ca4f2
embed: use structured logging in peer handler
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 12:53:46 -07:00
Gyuho Lee
26b0c84d29
embed: support structured logging in "v2http"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-02 11:57:23 -07:00
Gyuho Lee
c316e6773b
embed: clean up structured logging calls
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-26 14:36:22 -07:00
Gyuho Lee
6d0f71e4c2
embed: improve "--log-outputs" error message, add godoc
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-26 11:54:00 -07:00
Gyuho Lee
b6578c8f4d
embed: error when different values are specified in "--log-output"
...
"--log-output default,a.log" should error out when etcd
runs as a systemd unit. We expect 'default' to be overridden
explicitly.
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 17:09:22 -07:00
Gyuho Lee
154e2ac38e
embed: do not import journald dependencies on windows
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 13:52:53 -07:00
Gyuho Lee
88c70d0ca9
embed,integration,snapshot: use "LogOutputs"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 13:27:31 -07:00
Gyuho Lee
58a603448a
*: rename to "--log-outputs" in docs
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 13:20:26 -07:00
Gyuho Lee
af5bc439b3
embed,etcdmain: rename to "--log-outputs" flag
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 13:20:26 -07:00
Gyuho Lee
f99cb35d29
embed: rename "LogOutput" to "LogOutputs"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 10:28:13 -07:00
Gyuho Lee
d33a74d380
embed: add "loggerCore" field for Raft logger
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 10:16:51 -07:00
Gyuho Lee
69c51e2c4a
embed: change "loggerConfig" to "*zap.Config"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-25 10:05:12 -07:00