Ensure ansible-galaxy test server shutdown (#86880)

* Accidental reuse on test retry usually timed out prematurely
pull/86923/head
Matt Davis 4 weeks ago committed by GitHub
parent 44aa5b8936
commit b401c9246e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -3,6 +3,7 @@
git_install: '{{ lookup("file", lookup("env", "OUTPUT_DIR") + "/git_install.json") | from_json }}'
openssl_install: '{{ lookup("file", lookup("env", "OUTPUT_DIR") + "/openssl_install.json") | from_json }}'
ws_dir: '{{ lookup("file", lookup("env", "OUTPUT_DIR") + "/ws_dir.json") | from_json }}'
testserver_pid: '{{ lookup("file", ws_dir ~ "/testserver.json") | from_json }}'
tasks:
- name: cleanup
include_tasks: "{{ cleanup_filename }}"
@ -12,6 +13,9 @@
loop_control:
loop_var: cleanup_filename
- name: stop testserver
raw: kill -2 {{ testserver_pid }}
- name: Remove default collection directories
file:
path: "{{ item }}"

@ -1,9 +1,12 @@
from __future__ import annotations
import http.server
import os
import pathlib
import socketserver
import ssl
if __name__ == '__main__':
Handler = http.server.SimpleHTTPRequestHandler
context = ssl.SSLContext()
@ -11,4 +14,11 @@ if __name__ == '__main__':
httpd = socketserver.TCPServer(("", 4443), Handler)
httpd.socket = context.wrap_socket(httpd.socket, server_side=True)
httpd.serve_forever()
pf = pathlib.Path('./testserver.json')
try:
pf.write_text(str(os.getpid()))
httpd.serve_forever()
except BaseException:
pf.unlink(missing_ok=True)
raise

@ -42,7 +42,13 @@
async: 120 # this test set can take ~1m to run on FreeBSD (via Shippable)
poll: 0
- wait_for: port=4443
- wait_for:
path: '{{ ws_dir }}/testserver.json'
timeout: 10
- wait_for:
port: 4443
timeout: 10
- name: save results
copy:

Loading…
Cancel
Save