HealthPolicy skeleton for checking

This commit is contained in:
tengqm 2015-01-02 17:38:44 +08:00
parent b4e19d8a9a
commit 714cc8ad3e

View File

@ -10,10 +10,11 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from senlin.common import senlin_consts as consts
from senlin.policies import base from senlin.policies import base
class HealthPolicy(base.PolicyBase): class HealthPolicy(base.Policy):
''' '''
Policy for health checking for members of a cluster. Policy for health checking for members of a cluster.
''' '''
@ -29,7 +30,10 @@ class HealthPolicy(base.PolicyBase):
) )
TARGET = [ TARGET = [
('AFTER', 'CLUSTER', 'ADD_MEMBER') ('AFTER', consts.CLUSTER_SCALE_UP),
('AFTER', consts.CLUSTER_ADD_NODES),
('BEFORE', consts.CLUSTER_SCALE_DOWN),
('BEFORE', consts.CLUSTER_DEL_NODES),
] ]
PROFILE_TYPE = [ PROFILE_TYPE = [
@ -45,12 +49,23 @@ class HealthPolicy(base.PolicyBase):
self.check_type = self.spec.get('check_type') self.check_type = self.spec.get('check_type')
def pre_op(self, cluster_id, action, **args): def pre_op(self, cluster_id, action, **args):
pass # Ignore actions that are not required to be processed at this stage
if action not in (consts.CLUSTER_SCALE_DOWN,
consts.CLUSTER_DEL_NODES):
return True
# TODO(anyone): Unsubscribe nodes from backend health monitoring
# infrastructure
return True
def enforce(self, cluster_id, action, **args): def enforce(self, cluster_id, action, **args):
pass pass
def post_op(self, cluster_id, action, **args): def post_op(self, cluster_id, action, **args):
# TODO(Qiming): subscribe to vm-lifecycle-events for the specified VM # Ignore irrelevant action here
# or add vm to the list of VM status polling if action not in (consts.CLUSTER_SCALE_UP, consts.CLUSTER_ADD_NODES):
pass return True
# TODO(anyone): subscribe to vm-lifecycle-events for the specified VM
# or add vm to the list of VM status polling
return True