Envoy: Didn't find a registered implementation for name: 'mixer'

Created on 16 Jan 2019  路  2Comments  路  Source: envoyproxy/envoy

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.

  1. build envoy
# 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
  1. build 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.

question

All 2 comments

@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.

Was this page helpful?
0 / 5 - 0 ratings