Issue Template
Title: built envoy reports "Didn't find a registered implementation for name: 'mixer':
Description:
I built envoy v1.8.0 and used the built binary to build a new proxy_debug docker image. When using the new proxy_debug, it reports the following warning:
[2019-01-16 09:12:27.151][14][warning][upstream] source/common/config/grpc_mux_impl.cc:226] gRPC config for type.googleapis.com/envoy.api.v2.Listener update rejected: Error adding/updating listener 172.28.0.10_9080: Didn't find a registered implementation for name: 'mixer'
[2019-01-16 09:12:27.151][14][warning][config] bazel-out/k8-opt/bin/source/common/config/_virtual_includes/grpc_mux_subscription_lib/common/config/grpc_mux_subscription_impl.h:70] gRPC config for type.googleapis.com/envoy.api.v2.Listener rejected: Error adding/updating listener 172.28.0.10_9080: Didn't find a registered implementation for name: 'mixer'
[2019-01-16 09:12:27.151][14][info][config] source/server/listener_manager_impl.cc:908] all dependencies initialized. starting workers
[2019-01-16 09:12:28.331][14][warning][upstream] source/common/config/grpc_mux_impl.cc:226] gRPC config for type.googleapis.com/envoy.api.v2.Listener update rejected: Error adding/updating listener 172.28.0.10_9080: Didn't find a registered implementation for name: 'mixer'
[2019-01-16 09:12:28.331][14][warning][config] bazel-out/k8-opt/bin/source/common/config/_virtual_includes/grpc_mux_subscription_lib/common/config/grpc_mux_subscription_impl.h:70] gRPC config for type.googleapis.com/envoy.api.v2.Listener rejected: Error adding/updating listener 172.28.0.10_9080: Didn't find a registered implementation for name: 'mixer'
[optional Relevant Links:]
Bug Template
Title: One line description
Description:
What issue is being seen? Describe what should be happening instead of
the bug, for example: Envoy should not crash, the expected value isn't
returned, etc.
Repro steps:
Include sample requests, environment, etc. All data and inputs
required to reproduce the bug.
# git checkout v1.8.0
# ./ci/run_envoy_docker.sh './ci/do_ci.sh bazel.dev
...
# /tmp/envoy-docker-build/envoy/source/exe/envoy --version
/tmp/envoy-docker-build/envoy/source/exe/envoy version: 5d25f466c3410c0dfa735d7d4358beb76b2da507/1.8.0/Clean/DEBUG
proxy_debug#cat Dockerfile
FROM docker.io/istio/proxy_debug:1.0.5
COPY envoy /usr/local/bin/envoy
Built a new istio/proxy_debug and replaced samples/bookinfo/platform/consul/bookinfo.sidecars.yaml with the new image.
Note: The Envoy_collect tool
gathers a tarball with debug logs, config and the following admin
endpoints: /stats, /clusters and /server_info. Please note if there are
privacy concerns, sanitize the data prior to sharing the tarball/pasting.
Admin and Stats Output:
Include the admin output for the following endpoints: /stats,
/clusters, /routes, /server_info. For more information, refer to the
admin endpoint documentation.
Note: If there are privacy concerns, sanitize the data prior to
sharing.
Config:
Include the config used to configure Envoy.
The config is the same as docker.io/istio/proxy_debug:1.0.5
# cat /var/lib/istio/envoy-rev0.json
{
"node": {
"id": "sidecar~172.28.0.11~172.28.0.11.service.consul~service.consul",
"cluster": "reviews-v1",
"metadata": {"ISTIO_PROXY_SHA":"istio-proxy:930841ca88b15365737acb7eddeea6733d4f98b9","ISTIO_PROXY_VERSION":"1.0.2","ISTIO_VERSION":"1.0.5","istio":"sidecar"}
},
"stats_config": {
"use_all_default_tags": false,
"stats_tags": [{
"tag_name": "cluster_name",
"regex": "^cluster\\.((.+?(\\..+?\\.svc\\.cluster\\.local)?)\\.)"
},
{
"tag_name": "tcp_prefix",
"regex": "^tcp\\.((.*?)\\.)\\w+?$"
},
{
"tag_name": "response_code",
"regex": "_rq(_(\\d{3}))$"
},
{
"tag_name": "response_code_class",
"regex": "_rq(_(\\dxx))$"
},
{
"tag_name": "http_conn_manager_listener_prefix",
"regex": "^listener(?=\\.).*?\\.http\\.(((?:[_.[:digit:]]*|[_\\[\\]aAbBcCdDeEfF[:digit:]]*))\\.)"
},
{
"tag_name": "http_conn_manager_prefix",
"regex": "^http\\.(((?:[_.[:digit:]]*|[_\\[\\]aAbBcCdDeEfF[:digit:]]*))\\.)"
},
{
"tag_name": "listener_address",
"regex": "^listener\\.(((?:[_.[:digit:]]*|[_\\[\\]aAbBcCdDeEfF[:digit:]]*))\\.)"
}
]
},
"admin": {
"access_log_path": "/dev/null",
"address": {
"socket_address": {
"address": "127.0.0.1",
"port_value": 15000
}
}
},
"dynamic_resources": {
"lds_config": {
"ads": {}
},
"cds_config": {
"ads": {}
},
"ads_config": {
"api_type": "GRPC",
"refresh_delay": "1s",
"grpc_services": [
{
"envoy_grpc": {
"cluster_name": "xds-grpc"
}
}
]
}
},
"static_resources": {
"clusters": [
{
"name": "prometheus_stats",
"type": "STATIC",
"connect_timeout": "0.250s",
"lb_policy": "ROUND_ROBIN",
"hosts": [{
"socket_address": {
"protocol": "TCP",
"address": "127.0.0.1",
"port_value": 15000,
}
}],
},
{
"name": "xds-grpc",
"type": "STRICT_DNS",
"connect_timeout": "1s",
"lb_policy": "ROUND_ROBIN",
"hosts": [
{
"socket_address": {"address": "istio-pilot", "port_value": 15010}
}
],
"circuit_breakers": {
"thresholds": [
{
"priority": "DEFAULT",
"max_connections": 100000,
"max_pending_requests": 100000,
"max_requests": 100000
},
{
"priority": "HIGH",
"max_connections": 100000,
"max_pending_requests": 100000,
"max_requests": 100000
}]
},
"upstream_connection_options": {
"tcp_keepalive": {
"keepalive_time": 300
}
},
"http2_protocol_options": { }
}
,
{
"name": "zipkin",
"type": "STRICT_DNS",
"connect_timeout": "1s",
"lb_policy": "ROUND_ROBIN",
"hosts": [
{
"socket_address": {"address": "zipkin", "port_value": 9411}
}
]
}
],
"listeners":[
{
"address": {
"socket_address": {
"protocol": "TCP",
"address": "0.0.0.0",
"port_value": 15090,
}
},
"filter_chains": [{
"filters": [{
"name": "envoy.http_connection_manager",
"config": {
"codec_type": "AUTO",
"stat_prefix": "stats",
"route_config": {
"virtual_hosts": [{
"name": "backend",
"domains": [
"*"
],
"routes": [{
"match": {
"prefix": "/stats/prometheus"
},
"route": {
"cluster": "prometheus_stats"
}
}]
}]
},
"http_filters": {
"name": "envoy.router"
}
}
}]
}],
},
],
},
"tracing": {
"http": {
"name": "envoy.zipkin",
"config": {
"collector_cluster": "zipkin"
}
}
},
}
# curl localhost:15000/config_dump
{
"configs": [
{
"@type": "type.googleapis.com/envoy.admin.v2alpha.BootstrapConfigDump",
"bootstrap": {
"node": {
"id": "sidecar~172.28.0.11~172.28.0.11.service.consul~service.consul",
"cluster": "reviews-v1",
"metadata": {
"ISTIO_PROXY_SHA": "istio-proxy:930841ca88b15365737acb7eddeea6733d4f98b9",
"ISTIO_VERSION": "1.0.5",
"istio": "sidecar",
"ISTIO_PROXY_VERSION": "1.0.2"
},
"build_version": "5d25f466c3410c0dfa735d7d4358beb76b2da507/1.8.0/Clean/RELEASE"
},
"static_resources": {
"listeners": [
{
"address": {
"socket_address": {
"address": "0.0.0.0",
"port_value": 15090
}
},
"filter_chains": [
{
"filters": [
{
"name": "envoy.http_connection_manager",
"config": {
"route_config": {
"virtual_hosts": [
{
"routes": [
{
"route": {
"cluster": "prometheus_stats"
},
"match": {
"prefix": "/stats/prometheus"
}
}
],
"domains": [
"*"
],
"name": "backend"
}
]
},
"codec_type": "AUTO",
"http_filters": {
"name": "envoy.router"
},
"stat_prefix": "stats"
}
}
]
}
]
}
],
"clusters": [
{
"name": "prometheus_stats",
"connect_timeout": "0.250s",
"hosts": [
{
"socket_address": {
"address": "127.0.0.1",
"port_value": 15000
}
}
]
},
{
"name": "xds-grpc",
"type": "STRICT_DNS",
"connect_timeout": "1s",
"hosts": [
{
"socket_address": {
"address": "istio-pilot",
"port_value": 15010
}
}
],
"circuit_breakers": {
"thresholds": [
{
"max_connections": 100000,
"max_pending_requests": 100000,
"max_requests": 100000
},
{
"priority": "HIGH",
"max_connections": 100000,
"max_pending_requests": 100000,
"max_requests": 100000
}
]
},
"http2_protocol_options": {},
"upstream_connection_options": {
"tcp_keepalive": {
"keepalive_time": 300
}
}
},
{
"name": "zipkin",
"type": "STRICT_DNS",
"connect_timeout": "1s",
"hosts": [
{
"socket_address": {
"address": "zipkin",
"port_value": 9411
}
}
]
}
]
},
"dynamic_resources": {
"lds_config": {
"ads": {}
},
"cds_config": {
"ads": {}
},
"ads_config": {
"api_type": "GRPC",
"refresh_delay": "1s",
"grpc_services": [
{
"envoy_grpc": {
"cluster_name": "xds-grpc"
}
}
]
}
},
"tracing": {
"http": {
"name": "envoy.zipkin",
"config": {
"collector_cluster": "zipkin"
}
}
},
"admin": {
"access_log_path": "/dev/null",
"address": {
"socket_address": {
"address": "127.0.0.1",
"port_value": 15000
}
}
},
"stats_config": {
"stats_tags": [
{
"tag_name": "cluster_name",
"regex": "^cluster\\.((.+?(\\..+?\\.svc\\.cluster\\.local)?)\\.)"
},
{
"tag_name": "tcp_prefix",
"regex": "^tcp\\.((.*?)\\.)\\w+?$"
},
{
"tag_name": "response_code",
"regex": "_rq(_(\\d{3}))$"
},
{
"tag_name": "response_code_class",
"regex": "_rq(_(\\dxx))$"
},
{
"tag_name": "http_conn_manager_listener_prefix",
"regex": "^listener(?=\\.).*?\\.http\\.(((?:[_.[:digit:]]*|[_\\[\\]aAbBcCdDeEfF[:digit:]]*))\\.)"
},
{
"tag_name": "http_conn_manager_prefix",
"regex": "^http\\.(((?:[_.[:digit:]]*|[_\\[\\]aAbBcCdDeEfF[:digit:]]*))\\.)"
},
{
"tag_name": "listener_address",
"regex": "^listener\\.(((?:[_.[:digit:]]*|[_\\[\\]aAbBcCdDeEfF[:digit:]]*))\\.)"
}
],
"use_all_default_tags": false
}
},
"last_updated": "2019-01-16T09:15:49.505Z"
},
{
"@type": "type.googleapis.com/envoy.admin.v2alpha.ClustersConfigDump",
"version_info": "2019-01-16T09:27:54Z/4888",
"static_clusters": [
{
"cluster": {
"name": "prometheus_stats",
"connect_timeout": "0.250s",
"hosts": [
{
"socket_address": {
"address": "127.0.0.1",
"port_value": 15000
}
}
]
},
"last_updated": "2019-01-16T09:15:49.508Z"
},
{
"cluster": {
"name": "xds-grpc",
"type": "STRICT_DNS",
"connect_timeout": "1s",
"hosts": [
{
"socket_address": {
"address": "istio-pilot",
"port_value": 15010
}
}
],
"circuit_breakers": {
"thresholds": [
{
"max_connections": 100000,
"max_pending_requests": 100000,
"max_requests": 100000
},
{
"priority": "HIGH",
"max_connections": 100000,
"max_pending_requests": 100000,
"max_requests": 100000
}
]
},
"http2_protocol_options": {},
"upstream_connection_options": {
"tcp_keepalive": {
"keepalive_time": 300
}
}
},
"last_updated": "2019-01-16T09:15:49.509Z"
},
{
"cluster": {
"name": "zipkin",
"type": "STRICT_DNS",
"connect_timeout": "1s",
"hosts": [
{
"socket_address": {
"address": "zipkin",
"port_value": 9411
}
}
]
},
"last_updated": "2019-01-16T09:15:49.509Z"
}
],
"dynamic_active_clusters": [
{
"version_info": "2019-01-16T09:15:50Z/4526",
"cluster": {
"name": "BlackHoleCluster",
"connect_timeout": "1s"
},
"last_updated": "2019-01-16T09:15:50.505Z"
},
{
"version_info": "2019-01-16T09:15:50Z/4526",
"cluster": {
"name": "inbound|3333||mgmtCluster",
"connect_timeout": "1s",
"hosts": [
{
"socket_address": {
"address": "127.0.0.1",
"port_value": 3333
}
}
],
"circuit_breakers": {
"thresholds": [
{}
]
}
},
"last_updated": "2019-01-16T09:15:50.504Z"
},
{
"version_info": "2019-01-16T09:15:50Z/4526",
"cluster": {
"name": "inbound|9080||reviews.service.consul",
"connect_timeout": "1s",
"hosts": [
{
"socket_address": {
"address": "127.0.0.1",
"port_value": 9080
}
}
],
"circuit_breakers": {
"thresholds": [
{}
]
}
},
"last_updated": "2019-01-16T09:15:50.503Z"
},
{
"version_info": "2019-01-16T09:15:50Z/4526",
"cluster": {
"name": "inbound|9999||mgmtCluster",
"connect_timeout": "1s",
"hosts": [
{
"socket_address": {
"address": "127.0.0.1",
"port_value": 9999
}
}
],
"circuit_breakers": {
"thresholds": [
{}
]
}
},
"last_updated": "2019-01-16T09:15:50.504Z"
},
{
"version_info": "2019-01-16T09:15:50Z/4526",
"cluster": {
"name": "outbound|15003||pilot-15003.service.consul",
"type": "EDS",
"eds_cluster_config": {
"eds_config": {
"ads": {}
},
"service_name": "outbound|15003||pilot-15003.service.consul"
},
"connect_timeout": "1s",
"circuit_breakers": {
"thresholds": [
{}
]
}
},
"last_updated": "2019-01-16T09:15:50.502Z"
},
{
"version_info": "2019-01-16T09:15:50Z/4526",
"cluster": {
"name": "outbound|15005||pilot-15005.service.consul",
"type": "EDS",
"eds_cluster_config": {
"eds_config": {
"ads": {}
},
"service_name": "outbound|15005||pilot-15005.service.consul"
},
"connect_timeout": "1s",
"circuit_breakers": {
"thresholds": [
{}
]
}
},
"last_updated": "2019-01-16T09:15:50.495Z"
},
{
"version_info": "2019-01-16T09:15:50Z/4526",
"cluster": {
"name": "outbound|15007||pilot-15007.service.consul",
"type": "EDS",
"eds_cluster_config": {
"eds_config": {
"ads": {}
},
"service_name": "outbound|15007||pilot-15007.service.consul"
},
"connect_timeout": "1s",
"circuit_breakers": {
"thresholds": [
{}
]
}
},
"last_updated": "2019-01-16T09:15:50.496Z"
},
{
"version_info": "2019-01-16T09:15:50Z/4526",
"cluster": {
"name": "outbound|8300||consul.service.consul",
"type": "EDS",
"eds_cluster_config": {
"eds_config": {
"ads": {}
},
"service_name": "outbound|8300||consul.service.consul"
},
"connect_timeout": "1s",
"circuit_breakers": {
"thresholds": [
{}
]
}
},
"last_updated": "2019-01-16T09:15:50.500Z"
},
{
"version_info": "2019-01-16T09:15:50Z/4526",
"cluster": {
"name": "outbound|9080||details.service.consul",
"type": "EDS",
"eds_cluster_config": {
"eds_config": {
"ads": {}
},
"service_name": "outbound|9080||details.service.consul"
},
"connect_timeout": "1s",
"circuit_breakers": {
"thresholds": [
{}
]
}
},
"last_updated": "2019-01-16T09:15:50.501Z"
},
{
"version_info": "2019-01-16T09:15:50Z/4526",
"cluster": {
"name": "outbound|9080||productpage.service.consul",
"type": "EDS",
"eds_cluster_config": {
"eds_config": {
"ads": {}
},
"service_name": "outbound|9080||productpage.service.consul"
},
"connect_timeout": "1s",
"circuit_breakers": {
"thresholds": [
{}
]
}
},
"last_updated": "2019-01-16T09:15:50.496Z"
},
{
"version_info": "2019-01-16T09:15:50Z/4526",
"cluster": {
"name": "outbound|9080||ratings.service.consul",
"type": "EDS",
"eds_cluster_config": {
"eds_config": {
"ads": {}
},
"service_name": "outbound|9080||ratings.service.consul"
},
"connect_timeout": "1s",
"circuit_breakers": {
"thresholds": [
{}
]
}
},
"last_updated": "2019-01-16T09:15:50.497Z"
},
{
"version_info": "2019-01-16T09:15:50Z/4526",
"cluster": {
"name": "outbound|9080||reviews.service.consul",
"type": "EDS",
"eds_cluster_config": {
"eds_config": {
"ads": {}
},
"service_name": "outbound|9080||reviews.service.consul"
},
"connect_timeout": "1s",
"circuit_breakers": {
"thresholds": [
{}
]
}
},
"last_updated": "2019-01-16T09:15:50.498Z"
},
{
"version_info": "2019-01-16T09:15:50Z/4526",
"cluster": {
"name": "outbound|9410||zipkin-9410.service.consul",
"type": "EDS",
"eds_cluster_config": {
"eds_config": {
"ads": {}
},
"service_name": "outbound|9410||zipkin-9410.service.consul"
},
"connect_timeout": "1s",
"circuit_breakers": {
"thresholds": [
{}
]
}
},
"last_updated": "2019-01-16T09:15:50.499Z"
},
{
"version_info": "2019-01-16T09:15:50Z/4526",
"cluster": {
"name": "outbound|9411||zipkin-9411.service.consul",
"type": "EDS",
"eds_cluster_config": {
"eds_config": {
"ads": {}
},
"service_name": "outbound|9411||zipkin-9411.service.consul"
},
"connect_timeout": "1s",
"circuit_breakers": {
"thresholds": [
{}
]
}
},
"last_updated": "2019-01-16T09:15:50.500Z"
}
]
},
{
"@type": "type.googleapis.com/envoy.admin.v2alpha.ListenersConfigDump",
"static_listeners": [
{
"listener": {
"address": {
"socket_address": {
"address": "0.0.0.0",
"port_value": 15090
}
},
"filter_chains": [
{
"filters": [
{
"name": "envoy.http_connection_manager",
"config": {
"http_filters": {
"name": "envoy.router"
},
"stat_prefix": "stats",
"route_config": {
"virtual_hosts": [
{
"routes": [
{
"route": {
"cluster": "prometheus_stats"
},
"match": {
"prefix": "/stats/prometheus"
}
}
],
"domains": [
"*"
],
"name": "backend"
}
]
},
"codec_type": "AUTO"
}
}
]
}
]
},
"last_updated": "2019-01-16T09:15:49.513Z"
}
]
},
{
"@type": "type.googleapis.com/envoy.admin.v2alpha.RoutesConfigDump",
"static_route_configs": [
{
"route_config": {
"virtual_hosts": [
{
"name": "backend",
"domains": [
"*"
],
"routes": [
{
"match": {
"prefix": "/stats/prometheus"
},
"route": {
"cluster": "prometheus_stats"
}
}
]
}
]
},
"last_updated": "2019-01-16T09:15:49.512Z"
}
]
}
]
}
The config_dump does not include mixer as the original proxy_debug:1.0.5 does
Logs:
[2019-01-16 09:12:27.151][14][warning][upstream] source/common/config/grpc_mux_impl.cc:226] gRPC config for type.googleapis.com/envoy.api.v2.Listener update rejected: Error adding/updating listener 172.28.0.10_9080: Didn't find a registered implementation for name: 'mixer'
[2019-01-16 09:12:27.151][14][warning][config] bazel-out/k8-opt/bin/source/common/config/_virtual_includes/grpc_mux_subscription_lib/common/config/grpc_mux_subscription_impl.h:70] gRPC config for type.googleapis.com/envoy.api.v2.Listener rejected: Error adding/updating listener 172.28.0.10_9080: Didn't find a registered implementation for name: 'mixer'
[2019-01-16 09:12:27.151][14][info][config] source/server/listener_manager_impl.cc:908] all dependencies initialized. starting workers
[2019-01-16 09:12:28.331][14][warning][upstream] source/common/config/grpc_mux_impl.cc:226] gRPC config for type.googleapis.com/envoy.api.v2.Listener update rejected: Error adding/updating listener 172.28.0.10_9080: Didn't find a registered implementation for name: 'mixer'
[2019-01-16 09:12:28.331][14][warning][config] bazel-out/k8-opt/bin/source/common/config/_virtual_includes/grpc_mux_subscription_lib/common/config/grpc_mux_subscription_impl.h:70] gRPC config for type.googleapis.com/envoy.api.v2.Listener rejected: Error adding/updating listener 172.28.0.10_9080: Didn't find a registered implementation for name: 'mixer'
Note: If there are privacy concerns, sanitize the data prior to
sharing.
Call Stack:
If the Envoy binary is crashing, a call stack is required.
Please refer to the Bazel Stack trace documentation.
@harryge00
The mixer is an envoy filter implemented by the isito community. The default envoy is without this filter. You should use the envoy version provided by the istio community. https://github.com/istio/proxy
Closing as answered, mixer is an extension that doesn't exist here, builds from https://github.com/istio/proxy will contains it.