-
Notifications
You must be signed in to change notification settings - Fork 524
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
inconsistent handling of invalid user data #1346
Comments
Should dependencies still try to start with default values? What if your user data was trying to set custom host containers, because you don't want to run the default AWS-based ones? I don't think it's safe to assume. To debug, you're going to be looking at journal output, which you can see on the console in any case, without having to access the node. In the error you pasted it's pretty clear what happened, I think; "unknown field foo" or "error parsing TOML" with some more details. If the real problem is that it's hard / unclear how to check console output, we can improve / document that... |
I've updated the title with what I consider the real issue, which is that the behavior is inconsistent. The failure mode should be the same. |
I agree. It's definitely surprising that the default host containers are used when custom host containers are specified along with an invalid setting. It's not a huge leap from "surprising" to a serious misconfiguration with security or operational implications. The "invalid TOML" path is what we intend. |
I think there is a misunderstanding. For AWS instances, @bcressey In this specific case,
AWS is special currently because it has multiple "sources" for data (even though they're both IMDS). Perhaps we should support PATCH-ing data to the API immediately after we fetch it successfully? In this case, your host containers would have started successfully, but the system still would have been crippled. |
I expect the same behavior from these two cases. I'm aware that the behavior is different, but that's not a misunderstanding, it's a bug. |
We fixed this in #1387 |
Image I'm using:
aws-k8s-1.18 v1.05
What I expected to happen:
I expected the same failure mode for "invalid TOML" as for "unrecognized settings" from
early-boot-config
- in both cases, the desired settings are not usable in the provided form, so the system should respond in the same way.What actually happened:
Invalid TOML triggers a cascading series of service startup failures:
An unrecognized setting triggers a more compact set of failures that allows the default host containers to start:
The system is easier to troubleshoot in this state since the admin container can be enabled to examine logs in more detail.
How to reproduce the problem:
Launch an instance with invalid TOML in the userdata.
The text was updated successfully, but these errors were encountered: