From 6dbcf4b06b5f923f4e34361981f59b1054a3e5a3 Mon Sep 17 00:00:00 2001 From: varun_lodaya Date: Tue, 22 Mar 2016 20:28:41 -0700 Subject: [PATCH] LBaaS member status reflected incorrectly This fix checks if status of any requested member uve is "ACTIVE", it generates the overall member status as "ACTIVE". Change-Id: I17409f70f81d9373f9e064b665196d4956c0c2ee Closes-Bug: #1560741 --- .../opencontrail/loadbalancer/loadbalancer_member.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/neutron_plugin_contrail/plugins/opencontrail/loadbalancer/loadbalancer_member.py b/neutron_plugin_contrail/plugins/opencontrail/loadbalancer/loadbalancer_member.py index c4a88f1..8d6f001 100644 --- a/neutron_plugin_contrail/plugins/opencontrail/loadbalancer/loadbalancer_member.py +++ b/neutron_plugin_contrail/plugins/opencontrail/loadbalancer/loadbalancer_member.py @@ -64,10 +64,16 @@ def _get_object_status(self, member): except Exception: member_stats = [] + # In case of missing analytics, return ACTIVE + if not member_stats: + return constants.ACTIVE + for member_stat in member_stats: - if member_stat['uuid'] == member.uuid: - return member_stat['status'] - return constants.ACTIVE + if member_stat['uuid'] == member.uuid and \ + member_stat['status'] == 'ACTIVE': + return member_stat['status'] + + return constants.DOWN def make_dict(self, member, fields=None): res = {'id': member.uuid,