|
tests / pest (push) Failing after 9m23s
Details
tests / assets (push) Successful in 28s
Details
tests / release (push) Has been skipped
Details
Auf echter Hardware blieb jede Messkachel leer, während der Host sichtbar online war und vor zwei Minuten geantwortet hatte. Kein Zufall und kein Aussetzer: ein Entwurfsfehler. Nur der queue-provisioning-Container hängt im WireGuard-Netz — NET_ADMIN, /dev/net/tun, das wireguard-Volume. Der app-Container, der die Konsole rendert, hat überhaupt keine Route zu 10.66.0.x. Ich hatte den Proxmox-Aufruf in render() gelegt, also in den einen Container, der die Management-Adresse nicht erreichen kann. Ein Aufruf von dort konnte nie etwas anderes sein als eine Zeitüberschreitung. PingHosts schreibt dieselbe Regel seit Langem in seinen Kopf: "runs on the provisioning queue, which is where the Proxmox credentials are usable." Ich habe sie gelesen und nicht angewendet. Verschlimmert hat es mein eigenes catch (Throwable): der Grund wurde verschluckt, und die Kachel sagte "keine Messwerte" — ununterscheidbar davon, dass der Host schweigt. Auf dem Testhost fiel nichts auf, weil TEST-NET ohnehin nie antwortet. Jetzt zwei Hälften: - HostLoadSeries::collect() holt und legt ab, aus Jobs\CollectHostLoad auf der provisioning-Warteschlange, minütlich — der Takt, in dem Proxmox einen frischen Messwert schreibt. Ein Fehlschlag wird protokolliert, mit Host, Node und Grund. - HostLoadSeries::forHost() liest nur aus dem Zwischenspeicher und öffnet nie eine Verbindung. Ein Test hält das mit Http::assertNothingSent() fest. Der Eintrag lebt fünf Minuten bei minütlichem Sammeln: länger als der Takt, damit ein ausgefallener Lauf keine Seite leert, die eine Sekunde vorher in Ordnung war — und kurz genug, dass ein stehengebliebener Sammler die Zahlen mitnimmt, statt eine alte Stunde als aktuell stehenzulassen. Der Sammler ist ShouldBeUnique (Codex-Befund, P1). Die provisioning-Warteschlange ist DIESELBE, auf der Kunden-Bereitstellung läuft; ein stiller Host kostet den vollen HTTP-Zeitablauf, und ohne diese Sperre stauten sich minütlich neue Läufe hinter dem alten und verzögerten bezahlte Arbeit. Dasselbe Mittel, das CollectInstanceTraffic nebenan schon benutzt. Dazu: der Zustands-Punkt war mit 62 px so groß wie der Speicher-Ring nebenan. Eine gefüllte Scheibe wiegt optisch weit mehr als ein dünner Ring und erschlug die Kachel — jetzt 32 px. Und ein Test, der aus Versehen recht behielt: die Kachel-Prüfung verglich mit "50", was auch die 500 GB in der Instanzenliste darunter trifft. Sie prüft jetzt Zahlen, die sonst nirgends auf der Seite vorkommen. Noch offen, nicht hier angefasst: VmTemplateCheck fragt die Proxmox-API ebenfalls aus dem app-Container heraus, von der Bereitschaftsseite aus. Selber Fehler, Bestand, eigener Punkt. Geprüft: 2299 Tests grün, Pint sauber, Codex ohne Befund. Im Browser mit eingespielten Messwerten: sechs gefüllte Kacheln, Zustands-Scheibe in Proportion. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Admin | ||
| Auth | ||
| Billing | ||
| Console | ||
| Host | ||
| Portal | ||
| Provisioning | ||
| Readiness | ||
| BillingTest.php | ||
| BladeCommentsTest.php | ||
| CartTest.php | ||
| ChartLiveUpdateTest.php | ||
| CheckoutPageTest.php | ||
| CheckoutWithoutStripeKeyTest.php | ||
| ComponentTest.php | ||
| ConfirmInModalTest.php | ||
| ConnectionStateTest.php | ||
| CustomDomainServingTest.php | ||
| CustomDomainTest.php | ||
| CustomerTwoFactorTest.php | ||
| DashboardTest.php | ||
| DeliveryPromiseTest.php | ||
| DeploymentRunsAsTheAppUserTest.php | ||
| DisplayTimezoneTest.php | ||
| DoubleOptInTest.php | ||
| DowngradeTest.php | ||
| EditInModalTest.php | ||
| EnsureCustomerActiveTest.php | ||
| ErrorPagesTest.php | ||
| ExampleTest.php | ||
| GrossPricingTest.php | ||
| HostStepTest.php | ||
| IconLayoutTest.php | ||
| IdentitySeparationTest.php | ||
| ImpersonationTest.php | ||
| InstanceMetricsTest.php | ||
| LandingPriceSheetTest.php | ||
| MailSenderOwnershipTest.php | ||
| MailTemplatesTest.php | ||
| ModalHeightTest.php | ||
| MonitoringStatusSyncTest.php | ||
| NewDeviceWarningTest.php | ||
| OfficialDomainsTest.php | ||
| OperatingModeTest.php | ||
| PasswordPolicyTest.php | ||
| PortalHostTest.php | ||
| PortalTabsTest.php | ||
| ProcessingAgreementTest.php | ||
| ProgressStepperTest.php | ||
| PublicSiteGateTest.php | ||
| ReadinessPageTest.php | ||
| ReleaseComparisonTest.php | ||
| ReleaseVersionTest.php | ||
| SeatsTest.php | ||
| SecretSlotMigrationTest.php | ||
| SecretVaultModeTest.php | ||
| SelfServiceOrderTest.php | ||
| ServerMarketTest.php | ||
| SessionListTest.php | ||
| SettingsTest.php | ||
| SignInMailOnceTest.php | ||
| SiteDesignSystemTest.php | ||
| SparkGapTest.php | ||
| StatusHistoryTest.php | ||
| StripeStrictModeTest.php | ||
| StripeWebhookSecretByModeTest.php | ||
| SupportRequestTest.php | ||
| SwitchOperatingModeTest.php | ||
| TrafficTest.php | ||
| TranslationParityTest.php | ||
| WelcomeTest.php | ||