Uploaded image for project: 'OpenShift Service Mesh'
  1. OpenShift Service Mesh
  2. OSSM-553

OpenShift Service Mesh 2.x on ppc64le: Envoy's Lua filter not working

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Done
    • OSSM 2.1.0
    • None
    • Maistra
    • None

    Description

      In a service mesh, Envoy's Lua filter is a commonly used filter to modify http headers (see https://istio.io/latest/docs/reference/config/networking/envoy-filter/ and https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/lua_filter). However, on ppc64le architecture, http lua filters seem to be missing in the proxyv2-rhel8 image.

      Version-Release number of selected component (if applicable):
      This image includes the problem:

      registry.redhat.io/openshift-service-mesh/proxyv2-rhel8@sha256:dbb1f724333f6892d53f13c9619dcf3eff572b06c944c28fe6ad12fa18a7dc7b

      How reproducible:
      Run the image on a ppc64le system and check the list of available filters - the lua filter is missing. Consequently, no lua-based Envoy Filter resource will work (as in "apiVersion: networking.istio.io/v1alpha3" and "kind: EnvoyFilter").

      Steps to Reproduce:
      1.

      podman run --entrypoint=bash -it registry.redhat.io/openshift-service-mesh/proxyv2-rhel8@sha256:dbb1f724333f6892d53f13c9619dcf3eff572b06c944c28fe6ad12fa18a7dc7b

      2.

      envoy

       

      Actual results:
      In the output (see "Additional info" below), the http lua filter won't appear.

      Expected results:
      "envoy.lua" and "envoy.filters.http.lua" should appear in the output.

      Additional info:
      Example actual results:

      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:258] initializing epoch 0 (hot restart version=11.104)
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:260] statically linked extensions:
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] envoy.filters.udp_listener: envoy.filters.udp.dns_filter, envoy.filters.udp_listener.udp_proxy
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] envoy.wasm.foreign_functions: compress, declare_property, expr_create, expr_delete, expr_evaluate, uncompress
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] envoy.thrift_proxy.filters: envoy.filters.thrift.rate_limit, envoy.filters.thrift.router
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] envoy.thrift_proxy.protocols: auto, binary, binary/non-strict, compact, twitter
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] envoy.transport_sockets.downstream: envoy.transport_sockets.alts, envoy.transport_sockets.raw_buffer, envoy.transport_sockets.tap, envoy.transport_sockets.tls, raw_buffer, tls
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] envoy.retry_priorities: envoy.retry_priorities.previous_priorities
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] 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
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] envoy.grpc_credentials: envoy.grpc_credentials.aws_iam, envoy.grpc_credentials.default, envoy.grpc_credentials.file_based_metadata
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] envoy.tracers: envoy.dynamic.ot, envoy.lightstep, envoy.tracers.datadog, envoy.tracers.dynamic_ot, envoy.tracers.lightstep, envoy.tracers.opencensus, envoy.tracers.xray, envoy.tracers.zipkin, envoy.zipkin
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] envoy.dubbo_proxy.protocols: dubbo
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] envoy.resolvers: envoy.ip
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] 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
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] envoy.wasm.null_vms: envoy.wasm.access_log_policy, envoy.wasm.attributegen, envoy.wasm.metadata_exchange, envoy.wasm.null.stackdriver, envoy.wasm.stats
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] envoy.transport_sockets.upstream: envoy.transport_sockets.alts, envoy.transport_sockets.raw_buffer, envoy.transport_sockets.tap, envoy.transport_sockets.tls, raw_buffer, tls
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] envoy.filters.http: envoy.buffer, envoy.cors, envoy.csrf, envoy.ext_authz, envoy.fault, envoy.filters.http.adaptive_concurrency, envoy.filters.http.aws_lambda, envoy.filters.http.aws_request_signing, envoy.filters.http.buffer, envoy.filters.http.cache, envoy.filters.http.cors, envoy.filters.http.csrf, envoy.filters.http.dynamic_forward_proxy, envoy.filters.http.dynamo, envoy.filters.http.ext_authz, envoy.filters.http.fault, 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.gzip, envoy.filters.http.header_to_metadata, envoy.filters.http.health_check, envoy.filters.http.ip_tagging, envoy.filters.http.jwt_authn, 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.squash, envoy.filters.http.tap, envoy.filters.http.wasm, envoy.grpc_http1_bridge, envoy.grpc_json_transcoder, envoy.grpc_web, envoy.gzip, envoy.health_check, envoy.http_dynamo_filter, envoy.ip_tagging, envoy.rate_limit, envoy.router, envoy.squash, istio.alpn, istio_authn, jwt-auth, mixer
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] envoy.stats_sinks: envoy.dog_statsd, envoy.metrics_service, envoy.stat_sinks.dog_statsd, envoy.stat_sinks.hystrix, envoy.stat_sinks.metrics_service, envoy.stat_sinks.statsd, envoy.statsd
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] envoy.access_loggers: envoy.access_loggers.file, envoy.access_loggers.http_grpc, envoy.access_loggers.tcp_grpc, envoy.access_loggers.wasm, envoy.file_access_log, envoy.http_grpc_access_log, envoy.tcp_grpc_access_log, envoy.wasm_access_log
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] envoy.retry_host_predicates: envoy.retry_host_predicates.omit_canary_hosts, envoy.retry_host_predicates.omit_host_metadata, envoy.retry_host_predicates.previous_hosts
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] envoy.dubbo_proxy.serializers: dubbo.hessian2
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] envoy.health_checkers: envoy.health_checkers.redis
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] envoy.resource_monitors: envoy.resource_monitors.fixed_heap, envoy.resource_monitors.injected_resource
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] envoy.udp_listeners: raw_udp_listener
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] http_cache_factory: envoy.extensions.http.cache.simple
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] envoy.dubbo_proxy.route_matchers: default
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] wasm_vm: envoy.wasm
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] envoy.filters.network: envoy.client_ssl_auth, envoy.echo, envoy.ext_authz, envoy.filters.network.client_ssl_auth, 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.kafka_broker, envoy.filters.network.local_ratelimit, envoy.filters.network.metadata_exchange, envoy.filters.network.mongo_proxy, envoy.filters.network.mysql_proxy, envoy.filters.network.ratelimit, envoy.filters.network.rbac, envoy.filters.network.redis_proxy, envoy.filters.network.sni_cluster, envoy.filters.network.tcp_cluster_rewrite, 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, forward_downstream_sni, mixer, sni_verifier
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] envoy.dubbo_proxy.filters: envoy.filters.dubbo.router
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] envoy.thrift_proxy.transports: auto, framed, header, unframed
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:262] envoy.filters.upstream_network: envoy.filters.network.upstream.metadata_exchange
      [2021-07-29 15:06:03.429][13][critical][main] [external/envoy/source/server/server.cc:98] error initializing configuration '': At least one of --config-path or --config-yaml or Options::configProto() should be non-empty
      [2021-07-29 15:06:03.429][13][info][main] [external/envoy/source/server/server.cc:640] exiting
      At least one of --config-path or --config-yaml or Options::configProto() should be non-empty
      

       

       

      Attachments

        Issue Links

          Activity

            People

              sebastian.lehrig1@ibm.com Sebastian Lehrig
              sebastian.lehrig1@ibm.com Sebastian Lehrig
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: