Skip to content

Add wait loop for web server readiness#112

Open
atodorov wants to merge 5 commits into
masterfrom
wait-for-web-server
Open

Add wait loop for web server readiness#112
atodorov wants to merge 5 commits into
masterfrom
wait-for-web-server

Conversation

@atodorov

Copy link
Copy Markdown
Member

The verify-web-login step sometimes fails because curl attempts a
Negotiate/Kerberos handshake before the web server inside the container
is ready to accept connections, resulting in an empty response (0 bytes).

Add a simple retry loop that waits for the login page to return HTTP 200
before proceeding with the Kerberos login test.

atodorov added 5 commits July 17, 2026 11:42
The verify-web-login step sometimes fails because curl attempts a
Negotiate/Kerberos handshake before the web server inside the container
is ready to accept connections, resulting in an empty response.

Add a simple retry loop that waits for the login page to return
HTTP 200 before proceeding with the Kerberos login test.
- Add -v flag to curl to capture full HTTP exchange details
- Dump container logs before verify-web-login
- Check keytab contents inside container
- Dump krb5.conf from container

This will help diagnose why the Negotiate handshake fails even though
the web server is responding to plain HTTP requests.
- Add -v flag to curl in verify-web-login to capture full HTTP exchange
- Dump container logs, keytab, krb5.conf, httpd error log, and container
  status to stdout (instead of /tmp/*.log files) so they appear in CI output
- This will help diagnose why Negotiate auth fails even though the web
  server is responding to plain HTTP requests
Add krb5-workstation package which provides the klist command.
This allows running 'docker exec web_kiwitcms_org klist -k /Kiwi/application.keytab'
to verify the keytab is correctly set up during CI debugging.
/login/kerberos/ is POST-only with Django 6 + latest social-auth.
curl defaults to GET which returns 405 Method Not Allowed,
preventing the Kerberos Negotiate handshake from completing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant