ensure hooks run after restart (#494)

This commit is contained in:
Christoph Haas 2025-08-11 21:32:27 +02:00
parent 9884d8c002
commit 5d190988f3
No known key found for this signature in database

View File

@ -225,6 +225,15 @@ func (m Manager) RestoreInterfaceState(
if err != nil && !iface.IsDisabled() { if err != nil && !iface.IsDisabled() {
slog.Debug("creating missing interface", "interface", iface.Identifier) slog.Debug("creating missing interface", "interface", iface.Identifier)
// temporarily disable interface in database so that the current state is reflected correctly
_ = m.db.SaveInterface(ctx, iface.Identifier,
func(in *domain.Interface) (*domain.Interface, error) {
now := time.Now()
in.Disabled = &now // set
in.DisabledReason = domain.DisabledReasonInterfaceMissing
return in, nil
})
// try to create a new interface // try to create a new interface
_, err = m.saveInterface(ctx, &iface) _, err = m.saveInterface(ctx, &iface)
if err != nil { if err != nil {