Comments (6)
I filed istio/old_mixer_repo#796 but at second look that may be a red herring. I think we may have a bug using adapter produced attributes in selector
clauses; I'll need to do some testing to confirm.
Mixer has two mechanism for injecting attributes into a request's context: we get a bag of attributes from Envoy, and attributes
type adapters can produce more attributes in Mixer at runtime. source.labels
happens to be one of the attributes produced in Mixer by an adapter (in a default deployment, the kubernetes
adapter produces the source.labels
attribute; you determine this by looking at the manifest). We know that using adapter-produced attributes is fine in general (by default Mixer ships with metrics that use source.labels
as a dimension), but I'm not confident we've tested using them in selection clauses. I'll do some manual testing and update this issue.
from old_issues_repo.
@douglas-reid FYI
from old_issues_repo.
To provide a bit more context, the specific error you're getting is returned in two cases:
- When an attribute is used in an expression (
selector
clauses are expressions) but is not present in a manifest. This is akin to using a variable name that hasn't been declared, is caught by our static validation when a new config is pushed to Mixer. - When an attribute is declared in a manifest but doesn't actually have a value at runtime. This can occur per request.
I suspect that due to the special nature of the source.labels
attribute (that it's produced by Mixer at runtime, not by Envoy when it calls Mixer), we're incorrectly falling in to case 2 even though we actually do have values for source.labels
in hand.
from old_issues_repo.
If an attribute is missing from manifest, you get a config validation error
.
This error occurs on the request path which is 2.
from old_issues_repo.
hey @christopherL91, thanks for reporting this.
How did you apply the rule?
You should apply it with scope=global
and subject=fqdn of the service
if you applied to global
/ global
then it overwrote all the global rules with your rule.
One of those rules produce kubernetes label attributes. It could explain what you are seeing.
If it is not that, can you provide us with logs and full configuration from Mixer?
Thanks.
from old_issues_repo.
closing this for now assuming mandar's comment resolved the issue, if not please reopen
from old_issues_repo.
Related Issues (20)
- [BUG] Bookinfo tracing broken HOT 2
- BUG: Mirroring not working in Istio 0.8.0? HOT 2
- Istio 0.8.0 exposes Jaeger tracing page to the external world
- When multiple gateways are defined, only the first one is being used. HOT 5
- kubernetesenv adapter clusterDomain check HOT 1
- Istio sidecar-injector not ready after deploying istio release-0.8
- External services connectivity problem HOT 5
- How get client external ip to extrapolate geolocation HOT 2
- Deploying with rbac disabled causes pilot to never deploy HOT 1
- .0.8 latest can't pull the docker image HOT 21
- make tracing endpoint configuration straightforward HOT 2
- Traffic Management: ALL https requests work (even without a ServiceEntry) HOT 7
- High latency at scale HOT 1
- istio-pilot pod restart 60 times in nine days HOT 1
- Service Entry Not Working HOT 9
- Requests hang in fresh helm install on k8s v1.10.2-gke.3 HOT 5
- EgressRule not working for AMQP (RabbitMQ) HOT 4
- Unable to access the grafana dashboard. HOT 2
- Error: customresourcedefinitions.apiextensions.k8s.io "gateways.networking.istio.io" already exists HOT 1
- istio circuit breaker doesn't work HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from old_issues_repo.