Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

To get EMCO closer to production state, we need a few initiatives across the community. Two important areas that need enhancements are Observability and Resiliency.

Observability

Observability is the property of a system that allows an external observer to deduce its current state and the history leading to that state by observing the externally visible attributes of the system. The main factors relating to observability are: logging, tracing, metrics, events and alerts. See the Observability page for more details.

Resiliency

Database persistence

Today, db persistence is not enabled by default. We need to validate with persistence enabled.

  • We have tested with NFS-based PV in the past, and we still have the NFS-related YAMLs. If there is consensus on NFS as default storage, we need to set up NFS environment.
  • With persistence enabled, we cannot rely anymore upon developer-oriented troubleshooting and workarounds based on re-installing EMCO to blow away the db. Developers should also
    test with persistence enabled.

Recovery from crashes/disruptions

The scenarios that need to be validated:

...

rsync can restart after a crash. Aarna, as part of EMCO backup/restore presentation, has tested blowing away the EMCO namespace (incl. EMCO pods and db), and restoring it.

Graceful handling of cluster connectivity failure

Without the GitOps model, rsync should apply configurable retry/timeout policies to handle cluster connectivity loss. We have the
/projects/.../{dig}/stop API but that is a workaround -- the user needs to invoke that API manually.

...