Set --max-obj-name-len 256 when execing Envoy (#6202)
* Pass -max-obj-name-len 256 to envoy * Update test expectations. * Add a note about requireing the max-obj-name-len option to be set
This commit is contained in:
parent
200d470f7b
commit
9dd72121e1
|
@ -29,6 +29,8 @@ func TestExecEnvoy(t *testing.T) {
|
||||||
"--config-path",
|
"--config-path",
|
||||||
"{{ got.ConfigPath }}",
|
"{{ got.ConfigPath }}",
|
||||||
"--disable-hot-restart",
|
"--disable-hot-restart",
|
||||||
|
"--max-obj-name-len",
|
||||||
|
"256",
|
||||||
"--fake-envoy-arg",
|
"--fake-envoy-arg",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -42,6 +44,8 @@ func TestExecEnvoy(t *testing.T) {
|
||||||
// that value further below.
|
// that value further below.
|
||||||
"{{ got.ConfigPath }}",
|
"{{ got.ConfigPath }}",
|
||||||
// No --disable-hot-restart
|
// No --disable-hot-restart
|
||||||
|
"--max-obj-name-len",
|
||||||
|
"256",
|
||||||
"--fake-envoy-arg",
|
"--fake-envoy-arg",
|
||||||
"--restart-epoch",
|
"--restart-epoch",
|
||||||
"1",
|
"1",
|
||||||
|
@ -57,6 +61,8 @@ func TestExecEnvoy(t *testing.T) {
|
||||||
// that value further below.
|
// that value further below.
|
||||||
"{{ got.ConfigPath }}",
|
"{{ got.ConfigPath }}",
|
||||||
// No --disable-hot-restart
|
// No --disable-hot-restart
|
||||||
|
"--max-obj-name-len",
|
||||||
|
"256",
|
||||||
"--fake-envoy-arg",
|
"--fake-envoy-arg",
|
||||||
// Restart epoch defaults to 0 if not given and not disabled.
|
// Restart epoch defaults to 0 if not given and not disabled.
|
||||||
"--drain-time-s",
|
"--drain-time-s",
|
||||||
|
@ -73,6 +79,8 @@ func TestExecEnvoy(t *testing.T) {
|
||||||
// that value further below.
|
// that value further below.
|
||||||
"{{ got.ConfigPath }}",
|
"{{ got.ConfigPath }}",
|
||||||
// No --disable-hot-restart
|
// No --disable-hot-restart
|
||||||
|
"--max-obj-name-len",
|
||||||
|
"256",
|
||||||
"--fake-envoy-arg",
|
"--fake-envoy-arg",
|
||||||
// Restart epoch defaults to 0 if not given and not disabled.
|
// Restart epoch defaults to 0 if not given and not disabled.
|
||||||
"--parent-shutdown-time-s",
|
"--parent-shutdown-time-s",
|
||||||
|
@ -89,6 +97,8 @@ func TestExecEnvoy(t *testing.T) {
|
||||||
// that value further below.
|
// that value further below.
|
||||||
"{{ got.ConfigPath }}",
|
"{{ got.ConfigPath }}",
|
||||||
// No --disable-hot-restart
|
// No --disable-hot-restart
|
||||||
|
"--max-obj-name-len",
|
||||||
|
"256",
|
||||||
"--fake-envoy-arg",
|
"--fake-envoy-arg",
|
||||||
// Restart epoch defaults to 0 if not given and not disabled.
|
// Restart epoch defaults to 0 if not given and not disabled.
|
||||||
"--hot-restart-version",
|
"--hot-restart-version",
|
||||||
|
|
|
@ -49,6 +49,17 @@ func hasHotRestartOption(argSets ...[]string) bool {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func hasMaxObjNameLenOption(argSets ...[]string) bool {
|
||||||
|
for _, args := range argSets {
|
||||||
|
for _, opt := range args {
|
||||||
|
if opt == "--max-obj-name-len" {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
func makeBootstrapPipe(bootstrapJSON []byte) (string, error) {
|
func makeBootstrapPipe(bootstrapJSON []byte) (string, error) {
|
||||||
pipeFile := filepath.Join(os.TempDir(),
|
pipeFile := filepath.Join(os.TempDir(),
|
||||||
fmt.Sprintf("envoy-%x-bootstrap.json", time.Now().UnixNano()+int64(os.Getpid())))
|
fmt.Sprintf("envoy-%x-bootstrap.json", time.Now().UnixNano()+int64(os.Getpid())))
|
||||||
|
@ -130,6 +141,9 @@ func execEnvoy(binary string, prefixArgs, suffixArgs []string, bootstrapJSON []b
|
||||||
if disableHotRestart {
|
if disableHotRestart {
|
||||||
envoyArgs = append(envoyArgs, "--disable-hot-restart")
|
envoyArgs = append(envoyArgs, "--disable-hot-restart")
|
||||||
}
|
}
|
||||||
|
if !hasMaxObjNameLenOption(prefixArgs, suffixArgs) {
|
||||||
|
envoyArgs = append(envoyArgs, "--max-obj-name-len", "256")
|
||||||
|
}
|
||||||
envoyArgs = append(envoyArgs, suffixArgs...)
|
envoyArgs = append(envoyArgs, suffixArgs...)
|
||||||
|
|
||||||
// Exec
|
// Exec
|
||||||
|
|
|
@ -26,6 +26,9 @@ As an interim solution, you can add [custom Envoy configuration](#custom-configu
|
||||||
in the [proxy service definition](/docs/connect/registration/service-registration.html) allowing
|
in the [proxy service definition](/docs/connect/registration/service-registration.html) allowing
|
||||||
you to use the more powerful features of Envoy.
|
you to use the more powerful features of Envoy.
|
||||||
|
|
||||||
|
~> **Note:** When using Envoy with Consul and not using the [`consul connect envoy` command](/docs/commands/connect/envoy.html)
|
||||||
|
Envoy must be run with the `--max-obj-name-len` option set to `256` or greater.
|
||||||
|
|
||||||
## Supported Versions
|
## Supported Versions
|
||||||
|
|
||||||
Consul's Envoy support was added in version 1.3.0. The following table shows
|
Consul's Envoy support was added in version 1.3.0. The following table shows
|
||||||
|
|
Loading…
Reference in New Issue