Desired state management of software-defined data center
A method of managing configurations of a data center according to a desired state of the configurations includes retrieving a running state of the configurations, comparing the running state against a first desired state of the configurations and determining a drift of the running state from the first desired state, notifying a cloud control plane of the drift, and in response to an instruction issued by the cloud control plane to apply the desired state, configuring the data center according to a second desired state.
1. A method of managing configurations of a plurality of data centers according to instructions from a cloud control plane and according to a desired state of the configurations, said method comprising the following steps carried out in each of the data centers:
retrieving a running state of the configurations and notifying the cloud control plane of the running state of the configurations;
comparing the running state against a first desired state of the configurations specified in a first desired state document, determining a drift of the running state from the first desired state, and notifying the cloud control plane of the drift; and
accessing a second desired state document that specifies a second desired state of the configurations and applying the second desired state of the configuration, wherein the second desired state is different from the first desired state.
2. The method of claim 1 , wherein each of the data centers is a software-defined data center that is managed by one or more management servers including a virtual infrastructure management server.
3. The method of claim 2 , wherein the configurations include configurations of software components running in the virtual infrastructure management server.
4. The method of claim 3 , wherein
each of the software components has a corresponding plug-in and is configured by issuing a set command to the corresponding plug-in, and
the running state is retrieved by issuing a get command to each of the plug-ins of the software components.
5. The method of claim 2 , wherein the one or more management servers further include a virtual network management server and the configurations further include configurations of software components running in the virtual network management server.
6. The method of claim 1 , wherein the cloud control plane is notified through a configuration agent running in a gateway appliance and the instructions issued by the cloud control plane are received through the configuration agent.
7. The method of claim 6 , wherein the second desired state document is retrieved by the configuration agent from a location specified in an instruction to apply the desired state issued by the cloud control plane.
8. A non-transitory computer readable medium comprising instructions to be executed in a computer system located in one of a plurality of data centers to carry out a method of managing configurations of the plurality of data centers according to instructions from a cloud control plane and according to a desired state of the configurations, said method comprising:
retrieving a running state of the configurations and notifying the cloud control plane of the running state of the configurations;
comparing the running state against a first desired state of the configurations specified in a first desired state document, determining a drift of the running state from the first desired state, and notifying the cloud control plane of the drift; and
accessing a second desired state document that specifies a second desired state of the configurations and applying the second desired state of the configuration, wherein the second desired state is different from the first desired state.
9. The non-transitory computer readable medium of claim 8 , wherein each of the data centers is a software-defined data center that is managed by one or more management servers including a virtual infrastructure management server.
10. The non-transitory computer readable medium of claim 9 , wherein the configurations include configurations of software components running in the virtual infrastructure management server.
11. The non-transitory computer readable medium of claim 10 , wherein
each of the software components has a corresponding plug-in and is configured by issuing a set command to the corresponding plug-in, and
the running state is retrieved by issuing a get command to each of the plug-ins of the software components.
12. The non-transitory computer readable medium of claim 9 , wherein the one or more management servers further include a virtual network management server and the configurations further include configurations of software components running in the virtual network management server.
13. The non-transitory computer readable medium of claim 8 , wherein the cloud control plane is notified through a configuration agent running in a gateway appliance and the instructions issued by the cloud control plane are received through the configuration agent.
14. The non-transitory computer readable medium of claim 13 , wherein the second desired state document is retrieved by the configuration agent from a location specified in an instruction to apply the desired state issued by the cloud control plane.
15. A virtual infrastructure management server located in one of a plurality of software-defined data centers to carry out a method of managing configurations of the plurality of software-defined data centers according to instructions from a cloud control plane and according to a desired state of the configurations, wherein the virtual infrastructure management server includes a processor that is programmed to carry out the steps of:
retrieving a running state of the configurations and notifying the cloud control plane of the running state of the configurations;
comparing the running state against a first desired state of the configurations specified in a first desired state document, determining a drift of the running state from the first desired state, and notifying the cloud control plane of the drift; and
accessing a second desired state document that specifies a second desired state of the configurations and applying the second desired state of the configuration, wherein the second desired state is different from the first desired state.
16. The virtual infrastructure management server of claim 15 , wherein the configurations include configurations of software components running in the virtual infrastructure management server.
17. The virtual infrastructure management server of claim 16 , wherein
the configuration further include configurations of a cluster of host computers from which the software-defined data center is provisioned and the software components include a configuration manager of the host computers.
18. The virtual infrastructure management server of claim 16 , wherein
each of the software components has a corresponding plug-in and is configured by issuing a set command to the corresponding plug-in, and
the running state is retrieved by issuing a get command to each of the plug-ins of the software components.
19. The virtual infrastructure management server of claim 15 , wherein the cloud control plane is notified through a configuration agent running in a gateway appliance and the instructions issued by the cloud control plane are received through the configuration agent.
20. The virtual infrastructure management server of claim 19 , wherein the second desired state document is retrieved by the configuration agent from a location specified in an instruction to apply the desired state issued by the cloud control plane.