Closed hanxiaop closed 10 months ago
cc @adisuissa @htuch
Thanks for filing this bug. Some clarifying questions:
@adisuissa Sorry for the late reply.
- Is it correct to assume that this doesn't happen if the same filter-config is statically defined?
This is correct.
- Is it possible to test this with State-of-the-World? - FWIW, State-of-the-world and delta shouldn't be an issue in this case, but I just want to cover all the use-cases.
I think State-of-the-World works in this case. Completely removing delta makes envoy work as expected. The situation I observed is as follows: if we have envoy ready and later push with a delta ECDS, envoy works fine. However, if envoy is in an initializing state and we push a delta ECDS, the error I mentioned occurs. If it doesn't make sense, I can provide more test results/details.
This might be a bug in delta client for ECDS if I recall. It only handles a single add/remove I think. Do you have trace/debug logs from Envoy to see if ECDS is rejected for some reason?
I've attached the trace log.
BTW from the init config dump it shows:
{
"unready_targets_dumps": [
...
{
"name": "init manager Listener-local-init-manager main_internal 9736802669137004450",
"target_names": [
"shared target FilterConfigSubscription init bookinfo.hello"
]
}
]
}
Not sure if it's related.
@kyessenov I've tested again, and it affects both istio sidecar and waypoint when delta xDS is enabled. If using delta xDS without ECDS, everything works smoothly. However, if sending a delta ECDS config along with other delta configs before envoy is ready, envoy will never reach a ready state, and if sending a delta ECDS config after envoy is ready, envoy only contains the name, without the vm_config:
{
"@type": "type.googleapis.com/envoy.admin.v3.EcdsConfigDump",
"ecds_filters": [
{
"ecds_filter": {
"@type": "type.googleapis.com/envoy.config.core.v3.TypedExtensionConfig",
"name": "default.hello"
},
"last_updated": "2023-11-10T03:26:48.882Z"
}
]
},
it's a config still not wroking as expected.
BTW stow doesn't have this issue, and everything works good.
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions.
This issue has been automatically closed because it has not had activity in the last 37 days. If this issue is still valid, please ping a maintainer and ask them to label it as "help wanted" or "no stalebot". Thank you for your contributions.
@hanxiaop is this still an issue
@hanxiaop is this still an issue
@howardjohn Will try tomorrow to see what is happening.
If you are reporting any crash or any potential security issue, do not open an issue in this repo. Please report the issue via emailing envoy-security@googlegroups.com where the issue will be triaged appropriately.
Title: One line description
When initializing the envoy, I have some configs along with the delta ecds config:
the envoy is always in the initializing state without being ready. Also to note: some of the config in my initial ecds config is missing.
Description:
Envoy should not crash, should be in the ready state with the correct ecds config.
Repro steps:
I'm using Istio to configure envoy, basically the steps are to have all the config with delta ecds, and when all the configs are sent to envoy, the envoy is always in the initializing state without being ready.
Admin and Stats Output:
Config:
Other configs are shown in the config dump I provided, and the correct ecds configis :
The actual ecds config has some fields missing:
The init config is:
configdump.json
Logs:
wp.log
Call Stack: