-
Notifications
You must be signed in to change notification settings - Fork 18
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
bug(tests): wait for router to reload before testing config change #119
Conversation
I am conflicted b/c I want the tests to be reliable/dependable but I also am hesitant to add too many test 'workarounds' in instances like these because here, for example, the cli has returned and a user would reasonably assume they can begin interacting with it immediately (w/o any wait). Maybe a compromise would be add this as well as a |
I think if we set an application Without a healthcheck we would need to have controller validate that the app and router are up by guessing. |
Setting Controller will always verify that k8s has green lit all the probes, the default ones or ours. Right now the controller has no insight into when the router is ready and if that hostname is routable. The router is on a 10 second loop I believe to wait for new namespaces and routable information to come up |
Understand the router issue. The only way to fix that is to also have controller hit the app through the router as the final check (most likely to the HEALTHCHECK_URL). We need to define the no-check behavior for k8s. I'm betting it just leans on Pod state. I still think HEALTHCHECK_URL in test is a "good idea" (and will push the total loop > 10s so router will have a chance to reload). |
Given we ditch the concept of a I'm looking at the no-check behaviour now |
Hitting the router svc address with the appropriate |
Yeah, that's fair. Please open up a ticket for it since I do agree it's a good idea, if nothing else than a last check after all of k8s has gone green based on our own checks. |
For the no-check version see http://kubernetes.io/docs/user-guide/pod-states/
So no probes = assumed state for both is |
This shouldn't be required anymore if the controller changes are doing their thing |
Is this |
Closing this, probably not needed anymore. |
Test: "can set and list environment variables"
Jenkins job: https://ci.deis.io/job/workflow-beta1-test-e2e/17/
It looks like we are hitting the app before the router has had a chance to reload, causing a 404:
Looking at the router logs, there is a reload, but we immediately see the 404 later in the logs:
There are further router reloads at (but it is difficult to tell what the router knows about at any given moment):