Loadable Cluster Data Model Collectors
In this changeset, I made BaseClusterDataModelCollector instances pluggable. This corresponds to "part 1" of the work items detailed in the specifications. Change-Id: Iab1c7e264add9e2cbbbb767e3fd6e99a0c22c691 Partially-Implements: blueprint cluster-model-objects-wrapper
This commit is contained in:
@@ -75,7 +75,7 @@ class BaseStrategy(loadable.Loadable):
|
||||
self._solution = default.DefaultSolution(goal=self.goal, strategy=self)
|
||||
self._osc = osc
|
||||
self._collector_manager = None
|
||||
self._model = None
|
||||
self._compute_model = None
|
||||
self._goal = None
|
||||
self._input_parameters = utils.Struct()
|
||||
|
||||
@@ -159,24 +159,24 @@ class BaseStrategy(loadable.Loadable):
|
||||
return self.solution
|
||||
|
||||
@property
|
||||
def collector(self):
|
||||
def collector_manager(self):
|
||||
if self._collector_manager is None:
|
||||
self._collector_manager = manager.CollectorManager()
|
||||
return self._collector_manager
|
||||
|
||||
@property
|
||||
def model(self):
|
||||
def compute_model(self):
|
||||
"""Cluster data model
|
||||
|
||||
:returns: Cluster data model the strategy is executed on
|
||||
:rtype model: :py:class:`~.ModelRoot` instance
|
||||
"""
|
||||
if self._model is None:
|
||||
collector = self.collector.get_cluster_model_collector(
|
||||
osc=self.osc)
|
||||
self._model = collector.get_latest_cluster_data_model()
|
||||
if self._compute_model is None:
|
||||
collector = self.collector_manager.get_cluster_model_collector(
|
||||
'compute', osc=self.osc)
|
||||
self._compute_model = collector.get_latest_cluster_data_model()
|
||||
|
||||
return self._model
|
||||
return self._compute_model
|
||||
|
||||
@classmethod
|
||||
def get_schema(cls):
|
||||
|
||||
Reference in New Issue
Block a user