Cluster Service Configuration Management via Schema Persistence
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current configuration management systems for complex systems, such as those with multiple services, cannot track and persist configuration actions performed by users, making it difficult to manage and revert configurations, especially at large scales.
Innovation Solution
A method that uses a configuration schema to store and manage configurations for multiple system services across hosts, employing a key-value store to persist configurations and internal states, allowing for tracking and reverting to desired configuration states through API calls and schema management.
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 reboot or before the configuration state changes. This ensures that configuration history is captured in advance, allowing the system to later determine previously performed configuration tasks and revert to previous states if needed.
2Adaptability or versatility
If the number of configurations that must be set and monitored increases, then the system can support more services, but the complexity of managing the system grows
Solution Approach 1:
The system applies universality by using a single database and unified configuration management approach that can handle multiple services and their configurations. Instead of separate management mechanisms for each service, the same database infrastructure manages configurations for NTP, SSH, authentication, firewall, network, storage, and keyboard services, reducing overall complexity while supporting diverse services.
3Reliability
If configuration actions 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 all different services separately
Solution Approach 1:
The system merges configuration management for all different services into a single unified approach using one database. Instead of managing configurations for NTP, SSH, authentication, firewall, network, storage, and keyboard services separately, the system combines them all into one centralized configuration management system, making it easier to operate while maintaining reliable tracking of all configuration changes.
Data Source
AI summary
A method of managing configurations of a plurality of system services, including a first system service and a second system service, in each of a plurality of hosts, wherein each of the hosts is configured with a virtualization software for supporting execution of virtual machines therein includes steps of: upon receiving an application programming interface (API) call to apply configurations of the system services defined in a desired configuration file to the system services, parsing the desired configuration file to identify a first configuration for the first system service and a second configuration for the second system service, and storing the first and second configurations in accordance with a configuration schema defined for the first and second system services, wherein the first system service executes with the stored first configuration applied thereto and the second system service executes with the stored second configuration applied thereto.


