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

[critical][main] [source/server/server.cc:117] error initializing configuration '/etc/envoy.yaml': Didn't find a registered implementation for 'envoy.filters.http.router' with type URL: '' #20919

Closed
zackzhangkai opened this issue Apr 21, 2022 · 6 comments
Labels
triage Issue requires triage

Comments

@zackzhangkai
Copy link
Contributor

Refer this DOC :

https://www.envoyproxy.io/docs/envoy/latest/start/sandboxes/fault_injection.html

image

envoy pod crash, errors :

envoy_1    | [2022-04-21 09:49:55.410][1][critical][main] [source/server/server.cc:117] error initializing configuration '/etc/envoy.yaml': Didn't find a registered implementation for 'envoy.filters.http.router' with type URL: ''

Complete logs:

➜  fault-injection git:(main) ✗ docker logs  fault-injection_envoy_1   | pbcopy
[2022-04-21 09:49:55.390][1][info][main] [source/server/server.cc:390] initializing epoch 0 (base id=0, hot restart version=11.104)
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:392] statically linked extensions:
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.rate_limit_descriptors: envoy.rate_limit_descriptors.expr
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.stats_sinks: envoy.dog_statsd, envoy.graphite_statsd, envoy.metrics_service, envoy.stat_sinks.dog_statsd, envoy.stat_sinks.graphite_statsd, envoy.stat_sinks.hystrix, envoy.stat_sinks.metrics_service, envoy.stat_sinks.statsd, envoy.stat_sinks.wasm, envoy.statsd
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.internal_redirect_predicates: envoy.internal_redirect_predicates.allow_listed_routes, envoy.internal_redirect_predicates.previous_routes, envoy.internal_redirect_predicates.safe_cross_scheme
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.wasm.runtime: envoy.wasm.runtime.null, envoy.wasm.runtime.v8
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.clusters: envoy.cluster.eds, envoy.cluster.logical_dns, envoy.cluster.original_dst, envoy.cluster.static, envoy.cluster.strict_dns, envoy.clusters.aggregate, envoy.clusters.dynamic_forward_proxy, envoy.clusters.redis
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.http.cache: envoy.extensions.http.cache.simple
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.request_id: envoy.request_id.uuid
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.quic.server.crypto_stream: envoy.quic.crypto_stream.server.quiche
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.quic.proof_source: envoy.quic.proof_source.filter_chain
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.matching.network.custom_matchers: envoy.matching.custom_matchers.trie_matcher
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.transport_sockets.upstream: envoy.transport_sockets.alts, envoy.transport_sockets.quic, envoy.transport_sockets.raw_buffer, envoy.transport_sockets.starttls, envoy.transport_sockets.tap, envoy.transport_sockets.tcp_stats, envoy.transport_sockets.tls, envoy.transport_sockets.upstream_proxy_protocol, raw_buffer, starttls, tls
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.thrift_proxy.filters: envoy.filters.thrift.header_to_metadata, envoy.filters.thrift.rate_limit, envoy.filters.thrift.router
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.resolvers: envoy.ip
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.compression.compressor: envoy.compression.brotli.compressor, envoy.compression.gzip.compressor, envoy.compression.zstd.compressor
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.network.dns_resolver: envoy.network.dns_resolver.cares
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.retry_host_predicates: envoy.retry_host_predicates.omit_canary_hosts, envoy.retry_host_predicates.omit_host_metadata, envoy.retry_host_predicates.previous_hosts
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.upstream_options: envoy.extensions.upstreams.http.v3.HttpProtocolOptions, envoy.upstreams.http.http_protocol_options
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.filters.http: envoy.bandwidth_limit, envoy.buffer, envoy.cors, envoy.csrf, envoy.ext_authz, envoy.ext_proc, envoy.fault, envoy.filters.http.adaptive_concurrency, envoy.filters.http.admission_control, envoy.filters.http.alternate_protocols_cache, envoy.filters.http.aws_lambda, envoy.filters.http.aws_request_signing, envoy.filters.http.bandwidth_limit, envoy.filters.http.buffer, envoy.filters.http.cache, envoy.filters.http.cdn_loop, envoy.filters.http.composite, envoy.filters.http.compressor, envoy.filters.http.cors, envoy.filters.http.csrf, envoy.filters.http.decompressor, envoy.filters.http.dynamic_forward_proxy, envoy.filters.http.dynamo, envoy.filters.http.ext_authz, envoy.filters.http.ext_proc, envoy.filters.http.fault, envoy.filters.http.gcp_authn, envoy.filters.http.grpc_http1_bridge, envoy.filters.http.grpc_http1_reverse_bridge, envoy.filters.http.grpc_json_transcoder, envoy.filters.http.grpc_stats, envoy.filters.http.grpc_web, envoy.filters.http.header_to_metadata, envoy.filters.http.health_check, envoy.filters.http.ip_tagging, envoy.filters.http.jwt_authn, envoy.filters.http.local_ratelimit, envoy.filters.http.lua, envoy.filters.http.oauth2, envoy.filters.http.on_demand, envoy.filters.http.original_src, envoy.filters.http.ratelimit, envoy.filters.http.rbac, envoy.filters.http.router, envoy.filters.http.set_metadata, envoy.filters.http.stateful_session, envoy.filters.http.tap, envoy.filters.http.wasm, envoy.grpc_http1_bridge, envoy.grpc_json_transcoder, envoy.grpc_web, envoy.health_check, envoy.http_dynamo_filter, envoy.ip_tagging, envoy.local_rate_limit, envoy.lua, envoy.rate_limit, envoy.router, match-wrapper
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.rbac.matchers: envoy.rbac.matchers.upstream_ip_port
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.matching.network.input: envoy.matching.inputs.application_protocol, envoy.matching.inputs.destination_ip, envoy.matching.inputs.destination_port, envoy.matching.inputs.direct_source_ip, envoy.matching.inputs.server_name, envoy.matching.inputs.source_ip, envoy.matching.inputs.source_port, envoy.matching.inputs.source_type, envoy.matching.inputs.transport_protocol
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.thrift_proxy.transports: auto, framed, header, unframed
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.filters.listener: envoy.filters.listener.http_inspector, envoy.filters.listener.original_dst, envoy.filters.listener.original_src, envoy.filters.listener.proxy_protocol, envoy.filters.listener.tls_inspector, envoy.listener.http_inspector, envoy.listener.original_dst, envoy.listener.original_src, envoy.listener.proxy_protocol, envoy.listener.tls_inspector
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.dubbo_proxy.route_matchers: default
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.retry_priorities: envoy.retry_priorities.previous_priorities
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.guarddog_actions: envoy.watchdog.abort_action, envoy.watchdog.profile_action
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   network.connection.client: default, envoy_internal
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.thrift_proxy.protocols: auto, binary, binary/non-strict, compact, twitter
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.tracers: envoy.dynamic.ot, envoy.lightstep, envoy.tracers.datadog, envoy.tracers.dynamic_ot, envoy.tracers.lightstep, envoy.tracers.opencensus, envoy.tracers.skywalking, envoy.tracers.xray, envoy.tracers.zipkin, envoy.zipkin
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.dubbo_proxy.serializers: dubbo.hessian2
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.transport_sockets.downstream: envoy.transport_sockets.alts, envoy.transport_sockets.quic, envoy.transport_sockets.raw_buffer, envoy.transport_sockets.starttls, envoy.transport_sockets.tap, envoy.transport_sockets.tcp_stats, envoy.transport_sockets.tls, raw_buffer, starttls, tls
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.upstreams: envoy.filters.connection_pools.tcp.generic
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.tls.cert_validator: envoy.tls.cert_validator.default, envoy.tls.cert_validator.spiffe
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.http.stateful_header_formatters: preserve_case
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.compression.decompressor: envoy.compression.brotli.decompressor, envoy.compression.gzip.decompressor, envoy.compression.zstd.decompressor
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.http.original_ip_detection: envoy.http.original_ip_detection.custom_header, envoy.http.original_ip_detection.xff
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.formatter: envoy.formatter.metadata, envoy.formatter.req_without_query
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.config.validators: envoy.config.validators.minimum_clusters, envoy.config.validators.minimum_clusters_validator
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.matching.http.input: envoy.matching.inputs.destination_ip, envoy.matching.inputs.destination_port, envoy.matching.inputs.direct_source_ip, envoy.matching.inputs.request_headers, envoy.matching.inputs.request_trailers, envoy.matching.inputs.response_headers, envoy.matching.inputs.response_trailers, envoy.matching.inputs.server_name, envoy.matching.inputs.source_ip, envoy.matching.inputs.source_port, envoy.matching.inputs.source_type
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.common.key_value: envoy.key_value.file_based
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.resource_monitors: envoy.resource_monitors.fixed_heap, envoy.resource_monitors.injected_resource
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.matching.action: composite-action, skip
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.dubbo_proxy.protocols: dubbo
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.access_loggers: envoy.access_loggers.file, envoy.access_loggers.http_grpc, envoy.access_loggers.open_telemetry, envoy.access_loggers.stderr, envoy.access_loggers.stdout, envoy.access_loggers.tcp_grpc, envoy.access_loggers.wasm, envoy.file_access_log, envoy.http_grpc_access_log, envoy.open_telemetry_access_log, envoy.stderr_access_log, envoy.stdout_access_log, envoy.tcp_grpc_access_log, envoy.wasm_access_log
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.filters.udp_listener: envoy.filters.udp.dns_filter, envoy.filters.udp_listener.udp_proxy
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.bootstrap: envoy.bootstrap.internal_listener, envoy.bootstrap.wasm, envoy.extensions.network.socket_interface.default_socket_interface
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.matching.common_inputs: envoy.matching.common_inputs.environment_variable
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.matching.input_matchers: envoy.matching.matchers.consistent_hashing, envoy.matching.matchers.ip
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.health_checkers: envoy.health_checkers.redis
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.grpc_credentials: envoy.grpc_credentials.aws_iam, envoy.grpc_credentials.default, envoy.grpc_credentials.file_based_metadata
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.http.stateful_session: envoy.http.stateful_session.cookie
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.access_logger.extension_filters: envoy.access_loggers.extension_filters.cel
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.dubbo_proxy.filters: envoy.filters.dubbo.router
[2022-04-21 09:49:55.391][1][info][main] [source/server/server.cc:394]   envoy.filters.network: envoy.client_ssl_auth, envoy.echo, envoy.ext_authz, envoy.filters.network.client_ssl_auth, envoy.filters.network.connection_limit, envoy.filters.network.direct_response, envoy.filters.network.dubbo_proxy, envoy.filters.network.echo, envoy.filters.network.ext_authz, envoy.filters.network.http_connection_manager, envoy.filters.network.local_ratelimit, envoy.filters.network.mongo_proxy, envoy.filters.network.ratelimit, envoy.filters.network.rbac, envoy.filters.network.redis_proxy, envoy.filters.network.sni_cluster, envoy.filters.network.sni_dynamic_forward_proxy, envoy.filters.network.tcp_proxy, envoy.filters.network.thrift_proxy, envoy.filters.network.wasm, envoy.filters.network.zookeeper_proxy, envoy.http_connection_manager, envoy.mongo_proxy, envoy.ratelimit, envoy.redis_proxy, envoy.tcp_proxy
[2022-04-21 09:49:55.397][1][info][main] [source/server/server.cc:442] HTTP header map info:
[2022-04-21 09:49:55.399][1][info][main] [source/server/server.cc:445]   request header map: 656 bytes: :authority,:method,:path,:protocol,:scheme,accept,accept-encoding,access-control-request-headers,access-control-request-method,authentication,authorization,cache-control,cdn-loop,connection,content-encoding,content-length,content-type,expect,grpc-accept-encoding,grpc-timeout,if-match,if-modified-since,if-none-match,if-range,if-unmodified-since,keep-alive,origin,pragma,proxy-connection,proxy-status,referer,te,transfer-encoding,upgrade,user-agent,via,x-client-trace-id,x-envoy-attempt-count,x-envoy-decorator-operation,x-envoy-downstream-service-cluster,x-envoy-downstream-service-node,x-envoy-expected-rq-timeout-ms,x-envoy-external-address,x-envoy-force-trace,x-envoy-hedge-on-per-try-timeout,x-envoy-internal,x-envoy-ip-tags,x-envoy-max-retries,x-envoy-original-path,x-envoy-original-url,x-envoy-retriable-header-names,x-envoy-retriable-status-codes,x-envoy-retry-grpc-on,x-envoy-retry-on,x-envoy-upstream-alt-stat-name,x-envoy-upstream-rq-per-try-timeout-ms,x-envoy-upstream-rq-timeout-alt-response,x-envoy-upstream-rq-timeout-ms,x-envoy-upstream-stream-duration-ms,x-forwarded-client-cert,x-forwarded-for,x-forwarded-host,x-forwarded-proto,x-ot-span-context,x-request-id
[2022-04-21 09:49:55.399][1][info][main] [source/server/server.cc:445]   request trailer map: 128 bytes:
[2022-04-21 09:49:55.399][1][info][main] [source/server/server.cc:445]   response header map: 432 bytes: :status,access-control-allow-credentials,access-control-allow-headers,access-control-allow-methods,access-control-allow-origin,access-control-expose-headers,access-control-max-age,age,cache-control,connection,content-encoding,content-length,content-type,date,etag,expires,grpc-message,grpc-status,keep-alive,last-modified,location,proxy-connection,proxy-status,server,transfer-encoding,upgrade,vary,via,x-envoy-attempt-count,x-envoy-decorator-operation,x-envoy-degraded,x-envoy-immediate-health-check-fail,x-envoy-ratelimited,x-envoy-upstream-canary,x-envoy-upstream-healthchecked-cluster,x-envoy-upstream-service-time,x-request-id
[2022-04-21 09:49:55.399][1][info][main] [source/server/server.cc:445]   response trailer map: 152 bytes: grpc-message,grpc-status
[2022-04-21 09:49:55.402][1][info][main] [source/server/server.cc:786] runtime: layers:
  - name: disk_layer_0
    disk_layer:
      symlink_root: /srv/runtime/current
      subdirectory: envoy
[2022-04-21 09:49:55.402][1][warning][main] [source/server/server.cc:643] No admin address given, so no admin HTTP server started.
[2022-04-21 09:49:55.402][1][info][config] [source/server/configuration_impl.cc:127] loading tracing configuration
[2022-04-21 09:49:55.402][1][info][config] [source/server/configuration_impl.cc:87] loading 0 static secret(s)
[2022-04-21 09:49:55.402][1][info][config] [source/server/configuration_impl.cc:93] loading 1 cluster(s)
[2022-04-21 09:49:55.404][1][info][config] [source/server/configuration_impl.cc:97] loading 1 listener(s)
[2022-04-21 09:49:55.410][1][critical][main] [source/server/server.cc:117] error initializing configuration '/etc/envoy.yaml': Didn't find a registered implementation for 'envoy.filters.http.router' with type URL: ''
[2022-04-21 09:49:55.411][1][info][main] [source/server/server.cc:939] exiting
Didn't find a registered implementation for 'envoy.filters.http.router' with type URL: ''
@zackzhangkai zackzhangkai added the triage Issue requires triage label Apr 21, 2022
@soulxu
Copy link
Member

soulxu commented Apr 21, 2022

This is due to https://www.envoyproxy.io/docs/envoy/latest/version_history/v1.22.0#minor-behavior-changes

config: type URL is used to lookup extensions regardless of the name field. This may cause problems for empty filter configurations or mis-matched protobuf as the typed configurations. This behavioral change can be temporarily reverted by setting runtime guard envoy.reloadable_features.no_extension_lookup_by_name to false.

You should write router filter as below:

http_filters:
          - name: envoy.filters.http.router
            typed_config:
              "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router

or set envoy.reloadable_features.no_extension_lookup_by_name as false

@zackzhangkai
Copy link
Contributor Author

zackzhangkai commented Apr 22, 2022

Thanks for your replying. It works.

@iheng
Copy link

iheng commented Oct 18, 2022

@soulxu, @zackzhangkai had same issue with version 1.23.1. with

 http_filters:
          - name: envoy.filters.http.router
            typed_config:
              "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router

it's not working. how we suppose to set envoy.reloadable_features.no_extension_lookup_by_name as false. I'm running as docker container

@phlax
Copy link
Member

phlax commented Oct 18, 2022

im wondering where the confusion is coming from here - checking the docs and it seems they are correct

@iheng you would be better to just get the typed_config working - the example config in examples/fault-injection/envoy.yaml should work i believe

@rmendal
Copy link

rmendal commented Oct 18, 2022

@soulxu, @zackzhangkai had same issue with version 1.23.1. with

 http_filters:
          - name: envoy.filters.http.router
            typed_config:
              "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router

it's not working. how we suppose to set envoy.reloadable_features.no_extension_lookup_by_name as false. I'm running as docker container

I'm also using 1.23.1 and needed all 3 of the type_configs in this comment.

Also consider running your envoy.yaml through this.

@phlax
Copy link
Member

phlax commented Oct 18, 2022

are there any current Envoy docs that suggest running without the typed_config ?

perhaps the source of confusion is from 3rd party sites showing old config - if not i would like to update our docs

kerrickstaley added a commit to kerrickstaley/path-data that referenced this issue Nov 19, 2022
As-of Envoy 1.22 this configuration is necessary for Envoy to start. See
e.g. envoyproxy/envoy#20919.
mrazza pushed a commit to mrazza/path-data that referenced this issue Dec 6, 2022
As-of Envoy 1.22 this configuration is necessary for Envoy to start. See
e.g. envoyproxy/envoy#20919.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triage Issue requires triage
Projects
None yet
Development

No branches or pull requests

5 participants