8.9 peinit.graph.validation.failed

  • Event type: peinit.graph.validation.failed
  • Defined in: peinit.evman
  • Tier: standard
  • Gating: none — every finding is recorded
  • Cardinality: one per finding; a validation with several findings writes several

The service graph failed validation for the reason in outcome.reason. At boot the services named are marked and the boot continues; at reload-config the whole reload is rejected; at phase2-boot the boot plan could not be built.

Formerly graph.validation_error.

8.9.1 Fields #

FieldTypePresenceMeaning
graph.phasestr.enumrequiredWhen the service graph was validated.
outcome.reasonstr.enumrequiredThe finding.

Values here (open set): invalid-service-name · duplicate-service · missing-service-definition · missing-hard-dependency · hard-dependency-blocked · cycle · conflicting-boot-services · invalid-health-check-restart-window · unschedulable-health-check · invalid-timer-schedule · validation-error.
object.service.namestroptionalThe service the finding is about. Absent on cycle, which names several.
graph.servicesstr[]when outcome.reason == cycleThe services a graph finding involves.
object.service.dependency.namestroptionalOn missing-hard-dependency and hard-dependency-blocked.
object.service.dependency.kindstr.enumoptionalPresent exactly when object.service.dependency.name is.
object.service.conflict.namestrwhen outcome.reason == conflicting-boot-servicesThe name of the service this one conflicts with, on a finding that two services both triggered at boot declare a conflict and so cannot both start.
object.service.health-check.intervaluint.durationwhen outcome.reason == invalid-health-check-restart-windowThe configured interval between health checks, in nanoseconds.
object.service.health-check.retriesuintwhen outcome.reason == invalid-health-check-restart-windowThe configured number of consecutive health-check failures at which peinit stops reporting the service unhealthy and acts on it.
object.service.health-check.restart-windowuint.durationwhen outcome.reason == invalid-health-check-restart-windowThe configured restart window of a health check, in nanoseconds.
object.service.typestr.enumwhen outcome.reason == unschedulable-health-checkHow the service's main process is supervised.
object.service.timer.schedulestrwhen outcome.reason == invalid-timer-scheduleThe service's timer schedule, exactly as its definition wrote it.
outcome.detailstroptionalOn invalid-timer-schedule, the parser's message; on validation-error, why the definition was refused.

Every record also carries the header fields of the envelope, which no payload repeats.

Generated from peinit.evman by pkm/tools/gen-events-book.py. Edit the fragment, not this page.

Edit this page