18.0-improve-http-checks #7
Reference in New Issue
Block a user
No description provided.
Delete Branch "18.0-improve-http-checks"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Previously, a single ``maintenance.request`` was created per equipment, regardless of how many services were down on that equipment. The name was ``[HTTP KO] {equipment.name}`` and deduplication relied on a name+date+equipment search that was fragile (manual clear of the field would lose the reference to an existing open request). This commit reworks the whole creation logic: - **1 request per KO service** instead of 1 per equipment. Each failing ``service.instance`` gets its own ``maintenance.request``, allowing fine-grained tracking and independent resolution. - **Request name** is now ``[HTTP KO] {service_url}``, making it immediately identifiable without opening the record. - **Description** includes the error detail: ``HTTP {status_code}`` for HTTP errors, or a human-readable network error label when ``last_http_status_code == -1`` (timeout / DNS / SSL failures). - **Deduplication** is now based solely on whether an open (non-done) ``maintenance.request`` already exists on the ``service.instance`` via the new ``http_maintenance_request`` field. No date boundary — as long as the request is open, no new one is created. - **``http_maintenance_request``** field moved from ``maintenance.equipment`` to ``service.instance``, where it belongs given the 1-request-per-service model. It is exposed as an optional hidden column in the service instance list view. - ``_build_ko_services_description()`` is removed (no longer needed). - ``create_http_maintenance_request()`` now receives a single ``service.instance`` recordset instead of a list. Tests updated accordingly (14 tests total): - Tests 2, 4, 9, 10, 12, 13 now assert on ``service_instance.http_maintenance_request``. - Test 2 also verifies the request name contains the service URL and the description contains the HTTP status code. - New test 14 asserts that two KO services on the same equipment produce two distinct requests with the correct names.Testé sur test.elabore.coop
App mis à jour + test d’execution manuel : les checks sont fonctionnels et les demandes de maintenances se sont crées