-
Notifications
You must be signed in to change notification settings - Fork 101
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
Ensure NGINX reload actually happens #664
Comments
Logs could be the solution to this problem. |
Logs should not be written to disk. Log rotate cron jobs do not run in containers. So tailing a log should be avoided. |
Our k8s Golang client has the ability to get a Pod's logs at any point (we would need to instantiate a |
What if, instead of looking to logs, you noticed the NGINX workers changed? It does not solve the problem of applying configurations through the N+ API. Which would not have either of these signals. |
If the PIDs change, then maybe. I'm not sure if they do though. (I guess if the reload creates new workers, then they probably do) EDIT: verified that at least the single worker process PID in my deployment did change on a reload. |
When we reload NGINX, we do not check whether the reload succeeds. We just sleep for a second to wait for the new workers to spin up. We need to verify that a reload was successful and return an error if it fails. Additionally, we should retry on failure.
Acceptance:
This work should resolve the following FIXME: https://github.com/nginxinc/nginx-kubernetes-gateway/blob/b00216eeac0f8edfb054d45ad073c9c004788762/internal/nginx/runtime/manager.go#L52
The text was updated successfully, but these errors were encountered: