mirror of
https://github.com/ansible/ansible.git
synced 2026-08-04 08:03:41 +02:00
Ensure ansible-galaxy test server shutdown (#86880)
* Accidental reuse on test retry usually timed out prematurely
This commit is contained in:
@@ -3,6 +3,7 @@
|
|||||||
git_install: '{{ lookup("file", lookup("env", "OUTPUT_DIR") + "/git_install.json") | from_json }}'
|
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 }}'
|
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 }}'
|
ws_dir: '{{ lookup("file", lookup("env", "OUTPUT_DIR") + "/ws_dir.json") | from_json }}'
|
||||||
|
testserver_pid: '{{ lookup("file", ws_dir ~ "/testserver.json") | from_json }}'
|
||||||
tasks:
|
tasks:
|
||||||
- name: cleanup
|
- name: cleanup
|
||||||
include_tasks: "{{ cleanup_filename }}"
|
include_tasks: "{{ cleanup_filename }}"
|
||||||
@@ -12,6 +13,9 @@
|
|||||||
loop_control:
|
loop_control:
|
||||||
loop_var: cleanup_filename
|
loop_var: cleanup_filename
|
||||||
|
|
||||||
|
- name: stop testserver
|
||||||
|
raw: kill -2 {{ testserver_pid }}
|
||||||
|
|
||||||
- name: Remove default collection directories
|
- name: Remove default collection directories
|
||||||
file:
|
file:
|
||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import http.server
|
import http.server
|
||||||
|
import os
|
||||||
|
import pathlib
|
||||||
import socketserver
|
import socketserver
|
||||||
import ssl
|
import ssl
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
Handler = http.server.SimpleHTTPRequestHandler
|
Handler = http.server.SimpleHTTPRequestHandler
|
||||||
context = ssl.SSLContext()
|
context = ssl.SSLContext()
|
||||||
@@ -11,4 +14,11 @@ if __name__ == '__main__':
|
|||||||
httpd = socketserver.TCPServer(("", 4443), Handler)
|
httpd = socketserver.TCPServer(("", 4443), Handler)
|
||||||
httpd.socket = context.wrap_socket(httpd.socket, server_side=True)
|
httpd.socket = context.wrap_socket(httpd.socket, server_side=True)
|
||||||
|
|
||||||
|
pf = pathlib.Path('./testserver.json')
|
||||||
|
|
||||||
|
try:
|
||||||
|
pf.write_text(str(os.getpid()))
|
||||||
httpd.serve_forever()
|
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)
|
async: 120 # this test set can take ~1m to run on FreeBSD (via Shippable)
|
||||||
poll: 0
|
poll: 0
|
||||||
|
|
||||||
- wait_for: port=4443
|
- wait_for:
|
||||||
|
path: '{{ ws_dir }}/testserver.json'
|
||||||
|
timeout: 10
|
||||||
|
|
||||||
|
- wait_for:
|
||||||
|
port: 4443
|
||||||
|
timeout: 10
|
||||||
|
|
||||||
- name: save results
|
- name: save results
|
||||||
copy:
|
copy:
|
||||||
|
|||||||
Reference in New Issue
Block a user