Configuration Dependency Graph for System Service Remediation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current configuration management systems for large-scale systems lack the ability to track and revert configuration tasks over time, leading to increased complexity and difficulty in managing dependencies among various system services, which can result in configuration failures.
Innovation Solution
A method is introduced that constructs a high-level dependency graph with super nodes to identify and manage dependencies among system services, allowing for the determination of an update order for configurations, ensuring correct and sequential updates to prevent service failures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If configuration actions are not persisted while the system is live, then the system can report current configuration state, but it is impossible to determine previously performed configuration tasks or revert to previous states
Solution Approach 1:
The system performs preliminary action by persisting configuration actions to a database before the system state changes. This allows the system to track what configuration tasks have been performed, enabling both historical tracking and the ability to revert to previous states while maintaining manageable complexity through structured persistence.
2Reliability
If configuration changes are tracked by storing updates in a database, then configuration changes can be detected while the system is live, but it becomes burdensome to manage configurations for multiple different services separately
Solution Approach 1:
The system merges the management of configurations across multiple services by implementing a unified configuration management mechanism. The same database persistence and tracking approach is applied across all services (NTP, SSH, authentication, firewall, network, storage, keyboard services), allowing configuration changes to be detected and managed consistently across the entire system rather than requiring separate management for each service.
3Adaptability or versatility
If the system updates configurations for multiple services, then the system can adapt to new requirements, but updating configurations out of order could result in failure of system services
Solution Approach 1:
The system performs preliminary action by determining the correct update order for configurations before applying them. By analyzing dependencies among configurations across multiple services and establishing the proper sequence in advance, the system can adapt to new configuration requirements while ensuring that updates are applied in an order that maintains system service stability and prevents failures.
Data Source
AI summary
A method of remediating system services relies on a first dependency graph with super nodes, to each of which a set of system services are assigned, and second dependency graphs, each of which represents dependencies among the system services that are in one of the sets. The method includes the steps of: comparing an actual configuration state of the system services to a desired configuration state of the system services to identify configurations that are in drift; identifying system services corresponding to the configurations that are in drift; determining an order of updating configurations of the identified system services using the first and second dependency graphs; and applying the desired configurations of the identified system services in the order determined, wherein after the configurations of an identified system service are updated, the system service executes with the updated configurations.


