def delete_pool_health_monitor(self, context, id, pool_id):
with context.session.begin(subtransactions=True):
- assoc = self.get_pool_health_monitor(context, id, pool_id)
+ assoc = self._get_pool_health_monitor(context, id, pool_id)
pool = self._get_resource(context, Pool, pool_id)
pool.monitors.remove(assoc)
- def get_pool_health_monitor(self, context, id, pool_id, fields=None):
+ def _get_pool_health_monitor(self, context, id, pool_id):
try:
assoc_qry = context.session.query(PoolMonitorAssociation)
return assoc_qry.filter_by(monitor_id=id, pool_id=pool_id).one()
raise loadbalancer.PoolMonitorAssociationNotFound(
monitor_id=id, pool_id=pool_id)
+ def get_pool_health_monitor(self, context, id, pool_id, fields=None):
+ pool_hm = self._get_pool_health_monitor(context, id, pool_id)
+ # need to add tenant_id for admin_or_owner policy check to pass
+ hm = self.get_health_monitor(context, id)
+ res = {'pool_id': pool_id,
+ 'monitor_id': id,
+ 'status': pool_hm['status'],
+ 'status_description': pool_hm['status_description'],
+ 'tenant_id': hm['tenant_id']}
+ return self._fields(res, fields)
+
def update_pool_health_monitor(self, context, id, pool_id,
status, status_description=None):
with context.session.begin(subtransactions=True):
- assoc = self.get_pool_health_monitor(context, id, pool_id)
+ assoc = self._get_pool_health_monitor(context, id, pool_id)
self.assert_modification_allowed(assoc)
assoc.status = status
assoc.status_description = status_description
health_mon2['health_monitor']['id']]},
res)
+ res = self.plugin.get_pool_health_monitor(
+ context.get_admin_context(),
+ health_mon2['health_monitor']['id'], pool['pool']['id'])
+ self.assertEqual(res['tenant_id'],
+ health_mon1['health_monitor']['tenant_id'])
+
def test_driver_call_create_pool_health_monitor(self):
with mock.patch.object(self.plugin.drivers['lbaas'],
'create_pool_health_monitor') as driver_call: