diff --git a/lib/cmdlib/cluster.py b/lib/cmdlib/cluster.py index 14d8621a47c05dd4f9b65add1904f5e504951082..6e94ca17c5e288f83d57b440530dc6423c55206d 100644 --- a/lib/cmdlib/cluster.py +++ b/lib/cmdlib/cluster.py @@ -1866,6 +1866,9 @@ class LUClusterVerifyConfig(NoHooksLU, _VerifyErrors): self.bad = False self._feedback_fn = feedback_fn + # Force the configuration to be fully distributed before doing any tests + self.cfg.FlushConfig() + feedback_fn("* Verifying cluster config") for msg in self.cfg.VerifyConfig(): diff --git a/lib/config.py b/lib/config.py index fe234fbfc2ea19f03b32ff4aaefbdf96e3437192..83d587e406c85543e75fa00ca9a73ffabdef290a 100644 --- a/lib/config.py +++ b/lib/config.py @@ -3470,3 +3470,13 @@ class ConfigWriter(object): " in the candidate map." % node_uuid) return del cluster.candidate_certs[node_uuid] + + def FlushConfig(self): + """Force the distribution of configuration to master candidates. + + It is not necessary to hold a lock for this operation, it is handled + internally by WConfd. + + """ + if not self._offline: + self._wconfd.FlushConfig()