LBAAS-713 Change the "counter" database commits to be best effort
Change-Id: I8a07737d7f94bdbee1ad7989e3f52bb8578821e1
This commit is contained in:
		@@ -76,11 +76,14 @@ class HealthMonitorController(RestController):
 | 
			
		||||
            if monitor.path:
 | 
			
		||||
                monitor_data['path'] = monitor.path
 | 
			
		||||
 | 
			
		||||
            counter = session.query(Counters).\
 | 
			
		||||
                filter(Counters.name == 'api_healthmonitor_get').first()
 | 
			
		||||
            counter.value += 1
 | 
			
		||||
            try:
 | 
			
		||||
                counter = session.query(Counters).\
 | 
			
		||||
                    filter(Counters.name == 'api_healthmonitor_get').first()
 | 
			
		||||
                counter.value += 1
 | 
			
		||||
 | 
			
		||||
            session.commit()
 | 
			
		||||
                session.commit()
 | 
			
		||||
            except:
 | 
			
		||||
                pass
 | 
			
		||||
        return monitor_data
 | 
			
		||||
 | 
			
		||||
    @wsme_pecan.wsexpose(LBMonitorResp, body=LBMonitorPut, status_code=202)
 | 
			
		||||
@@ -244,10 +247,13 @@ class HealthMonitorController(RestController):
 | 
			
		||||
            if ((data["path"] is not None) and (len(data["path"]) > 0)):
 | 
			
		||||
                return_data.path = data["path"]
 | 
			
		||||
 | 
			
		||||
            counter = session.query(Counters).\
 | 
			
		||||
                filter(Counters.name == 'api_healthmonitor_modify').first()
 | 
			
		||||
            counter.value += 1
 | 
			
		||||
            session.commit()
 | 
			
		||||
            try:
 | 
			
		||||
                counter = session.query(Counters).\
 | 
			
		||||
                    filter(Counters.name == 'api_healthmonitor_modify').first()
 | 
			
		||||
                counter.value += 1
 | 
			
		||||
                session.commit()
 | 
			
		||||
            except:
 | 
			
		||||
                pass
 | 
			
		||||
            submit_job(
 | 
			
		||||
                'UPDATE', device.name, device.id, lb.id
 | 
			
		||||
            )
 | 
			
		||||
@@ -296,10 +302,13 @@ class HealthMonitorController(RestController):
 | 
			
		||||
            ).join(LoadBalancer.devices).\
 | 
			
		||||
                filter(LoadBalancer.id == self.lbid).\
 | 
			
		||||
                first()
 | 
			
		||||
            counter = session.query(Counters).\
 | 
			
		||||
                filter(Counters.name == 'api_healthmonitor.delete').first()
 | 
			
		||||
            counter.value += 1
 | 
			
		||||
            session.commit()
 | 
			
		||||
            try:
 | 
			
		||||
                counter = session.query(Counters).\
 | 
			
		||||
                    filter(Counters.name == 'api_healthmonitor.delete').first()
 | 
			
		||||
                counter.value += 1
 | 
			
		||||
                session.commit()
 | 
			
		||||
            except:
 | 
			
		||||
                pass
 | 
			
		||||
            submit_job(
 | 
			
		||||
                'UPDATE', device.name, device.id, self.lbid
 | 
			
		||||
            )
 | 
			
		||||
 
 | 
			
		||||
@@ -40,8 +40,11 @@ class LimitsController(RestController):
 | 
			
		||||
                resp['maxLoadBalancers'] = tenant_lblimit
 | 
			
		||||
 | 
			
		||||
            resp = {"limits": {"absolute": {"values": resp}}}
 | 
			
		||||
            counter = session.query(Counters).\
 | 
			
		||||
                filter(Counters.name == 'api_limits_get').first()
 | 
			
		||||
            counter.value += 1
 | 
			
		||||
            session.commit()
 | 
			
		||||
            try:
 | 
			
		||||
                counter = session.query(Counters).\
 | 
			
		||||
                    filter(Counters.name == 'api_limits_get').first()
 | 
			
		||||
                counter.value += 1
 | 
			
		||||
                session.commit()
 | 
			
		||||
            except:
 | 
			
		||||
                pass
 | 
			
		||||
            return resp
 | 
			
		||||
 
 | 
			
		||||
@@ -206,10 +206,13 @@ class LoadBalancersController(RestController):
 | 
			
		||||
                del(load_balancers['timeout'])
 | 
			
		||||
                del(load_balancers['retries'])
 | 
			
		||||
 | 
			
		||||
            counter = session.query(Counters).\
 | 
			
		||||
                filter(Counters.name == 'api_loadbalancers_get').first()
 | 
			
		||||
            counter.value += 1
 | 
			
		||||
            session.commit()
 | 
			
		||||
            try:
 | 
			
		||||
                counter = session.query(Counters).\
 | 
			
		||||
                    filter(Counters.name == 'api_loadbalancers_get').first()
 | 
			
		||||
                counter.value += 1
 | 
			
		||||
                session.commit()
 | 
			
		||||
            except:
 | 
			
		||||
                pass
 | 
			
		||||
            response.status = 200
 | 
			
		||||
            return load_balancers
 | 
			
		||||
 | 
			
		||||
@@ -610,10 +613,13 @@ class LoadBalancersController(RestController):
 | 
			
		||||
            return_data.options = LBOptions(timeout=timeout_ms,
 | 
			
		||||
                                            retries=retries)
 | 
			
		||||
 | 
			
		||||
            counter = session.query(Counters).\
 | 
			
		||||
                filter(Counters.name == 'api_loadbalancers_create').first()
 | 
			
		||||
            counter.value += 1
 | 
			
		||||
            session.commit()
 | 
			
		||||
            try:
 | 
			
		||||
                counter = session.query(Counters).\
 | 
			
		||||
                    filter(Counters.name == 'api_loadbalancers_create').first()
 | 
			
		||||
                counter.value += 1
 | 
			
		||||
                session.commit()
 | 
			
		||||
            except:
 | 
			
		||||
                pass
 | 
			
		||||
            # trigger gearman client to create new lb
 | 
			
		||||
            submit_job(
 | 
			
		||||
                'UPDATE', device.name, device.id, lb.id
 | 
			
		||||
@@ -693,14 +699,19 @@ class LoadBalancersController(RestController):
 | 
			
		||||
            ).join(LoadBalancer.devices).\
 | 
			
		||||
                filter(LoadBalancer.id == self.lbid).\
 | 
			
		||||
                first()
 | 
			
		||||
            counter = session.query(Counters).\
 | 
			
		||||
                filter(Counters.name == 'api_loadbalancers_modify').first()
 | 
			
		||||
            counter.value += 1
 | 
			
		||||
            session.commit()
 | 
			
		||||
            submit_job(
 | 
			
		||||
                'UPDATE', device.name, device.id, lb.id
 | 
			
		||||
            )
 | 
			
		||||
            return ''
 | 
			
		||||
        with db_session() as session:
 | 
			
		||||
            try:
 | 
			
		||||
                counter = session.query(Counters).\
 | 
			
		||||
                    filter(Counters.name == 'api_loadbalancers_modify').first()
 | 
			
		||||
                counter.value += 1
 | 
			
		||||
                session.commit()
 | 
			
		||||
            except:
 | 
			
		||||
                pass
 | 
			
		||||
        return ''
 | 
			
		||||
 | 
			
		||||
    @wsme_pecan.wsexpose(None, status_code=202)
 | 
			
		||||
    def delete(self):
 | 
			
		||||
@@ -743,10 +754,6 @@ class LoadBalancersController(RestController):
 | 
			
		||||
            ).join(LoadBalancer.devices).\
 | 
			
		||||
                filter(LoadBalancer.id == load_balancer_id).\
 | 
			
		||||
                first()
 | 
			
		||||
            counter = session.query(Counters).\
 | 
			
		||||
                filter(Counters.name == 'api_loadbalancers_delete').first()
 | 
			
		||||
            counter.value += 1
 | 
			
		||||
 | 
			
		||||
            if device is None:
 | 
			
		||||
                # This can happen if a device was manually deleted from the DB
 | 
			
		||||
                lb.status = 'DELETED'
 | 
			
		||||
@@ -764,7 +771,16 @@ class LoadBalancersController(RestController):
 | 
			
		||||
                    'DELETE', device.name, device.id, lb.id
 | 
			
		||||
                )
 | 
			
		||||
 | 
			
		||||
            return None
 | 
			
		||||
        with db_session() as session:
 | 
			
		||||
            try:
 | 
			
		||||
                counter = session.query(Counters).\
 | 
			
		||||
                    filter(Counters.name == 'api_loadbalancers_delete').first()
 | 
			
		||||
                counter.value += 1
 | 
			
		||||
                session.commit()
 | 
			
		||||
            except:
 | 
			
		||||
                pass
 | 
			
		||||
 | 
			
		||||
        return None
 | 
			
		||||
 | 
			
		||||
    def usage(self, load_balancer_id):
 | 
			
		||||
        """List current and historical usage.
 | 
			
		||||
 
 | 
			
		||||
@@ -59,9 +59,6 @@ class LogsController(RestController):
 | 
			
		||||
            ).join(LoadBalancer.devices).\
 | 
			
		||||
                filter(LoadBalancer.id == self.lbid).\
 | 
			
		||||
                first()
 | 
			
		||||
            counter = session.query(Counters).\
 | 
			
		||||
                filter(Counters.name == 'api_log_archive').first()
 | 
			
		||||
            counter.value += 1
 | 
			
		||||
            session.commit()
 | 
			
		||||
            data = {
 | 
			
		||||
                'deviceid': device.id
 | 
			
		||||
@@ -90,4 +87,13 @@ class LogsController(RestController):
 | 
			
		||||
            submit_job(
 | 
			
		||||
                'ARCHIVE', device.name, data, self.lbid
 | 
			
		||||
            )
 | 
			
		||||
            return
 | 
			
		||||
        with db_session() as session:
 | 
			
		||||
            try:
 | 
			
		||||
                load_balancer = session.query(LoadBalancer).\
 | 
			
		||||
                counter = session.query(Counters).\
 | 
			
		||||
                    filter(Counters.name == 'api_log_archive').first()
 | 
			
		||||
                counter.value += 1
 | 
			
		||||
                session.commit()
 | 
			
		||||
            except:
 | 
			
		||||
                pass
 | 
			
		||||
        return
 | 
			
		||||
 
 | 
			
		||||
@@ -100,10 +100,13 @@ class NodesController(RestController):
 | 
			
		||||
                del node_response['enabled']
 | 
			
		||||
                if node_response['weight'] == 1:
 | 
			
		||||
                    del node_response['weight']
 | 
			
		||||
            counter = session.query(Counters).\
 | 
			
		||||
                filter(Counters.name == 'api_node_get').first()
 | 
			
		||||
            counter.value += 1
 | 
			
		||||
            session.commit()
 | 
			
		||||
            try:
 | 
			
		||||
                counter = session.query(Counters).\
 | 
			
		||||
                    filter(Counters.name == 'api_node_get').first()
 | 
			
		||||
                counter.value += 1
 | 
			
		||||
                session.commit()
 | 
			
		||||
            except:
 | 
			
		||||
                pass
 | 
			
		||||
            response.status = 200
 | 
			
		||||
            return node_response
 | 
			
		||||
 | 
			
		||||
@@ -258,10 +261,13 @@ class NodesController(RestController):
 | 
			
		||||
            ).join(LoadBalancer.devices).\
 | 
			
		||||
                filter(LoadBalancer.id == self.lbid).\
 | 
			
		||||
                first()
 | 
			
		||||
            counter = session.query(Counters).\
 | 
			
		||||
                filter(Counters.name == 'api_node_create').first()
 | 
			
		||||
            counter.value += 1
 | 
			
		||||
            session.commit()
 | 
			
		||||
            try:
 | 
			
		||||
                counter = session.query(Counters).\
 | 
			
		||||
                    filter(Counters.name == 'api_node_create').first()
 | 
			
		||||
                counter.value += 1
 | 
			
		||||
                session.commit()
 | 
			
		||||
            except:
 | 
			
		||||
                pass
 | 
			
		||||
            submit_job(
 | 
			
		||||
                'UPDATE', device.name, device.id, self.lbid
 | 
			
		||||
            )
 | 
			
		||||
@@ -340,10 +346,13 @@ class NodesController(RestController):
 | 
			
		||||
            ).join(LoadBalancer.devices).\
 | 
			
		||||
                filter(LoadBalancer.id == self.lbid).\
 | 
			
		||||
                first()
 | 
			
		||||
            counter = session.query(Counters).\
 | 
			
		||||
                filter(Counters.name == 'api_node_modify').first()
 | 
			
		||||
            counter.value += 1
 | 
			
		||||
            session.commit()
 | 
			
		||||
            try:
 | 
			
		||||
                counter = session.query(Counters).\
 | 
			
		||||
                    filter(Counters.name == 'api_node_modify').first()
 | 
			
		||||
                counter.value += 1
 | 
			
		||||
                session.commit()
 | 
			
		||||
            except:
 | 
			
		||||
                pass
 | 
			
		||||
            submit_job(
 | 
			
		||||
                'UPDATE', device.name, device.id, lb.id
 | 
			
		||||
            )
 | 
			
		||||
@@ -419,10 +428,13 @@ class NodesController(RestController):
 | 
			
		||||
            ).join(LoadBalancer.devices).\
 | 
			
		||||
                filter(LoadBalancer.id == self.lbid).\
 | 
			
		||||
                first()
 | 
			
		||||
            counter = session.query(Counters).\
 | 
			
		||||
                filter(Counters.name == 'api_node_delete').first()
 | 
			
		||||
            counter.value += 1
 | 
			
		||||
            session.commit()
 | 
			
		||||
            try:
 | 
			
		||||
                counter = session.query(Counters).\
 | 
			
		||||
                    filter(Counters.name == 'api_node_delete').first()
 | 
			
		||||
                counter.value += 1
 | 
			
		||||
                session.commit()
 | 
			
		||||
            except:
 | 
			
		||||
                pass
 | 
			
		||||
            submit_job(
 | 
			
		||||
                'UPDATE', device.name, device.id, self.lbid
 | 
			
		||||
            )
 | 
			
		||||
 
 | 
			
		||||
@@ -66,8 +66,11 @@ class VipsController(RestController):
 | 
			
		||||
                    "ipVersion": "IPV4"
 | 
			
		||||
                }]
 | 
			
		||||
            }
 | 
			
		||||
            counter = session.query(Counters).\
 | 
			
		||||
                filter(Counters.name == 'api_vips_get').first()
 | 
			
		||||
            counter.value += 1
 | 
			
		||||
            session.rollback()
 | 
			
		||||
            try:
 | 
			
		||||
                counter = session.query(Counters).\
 | 
			
		||||
                    filter(Counters.name == 'api_vips_get').first()
 | 
			
		||||
                counter.value += 1
 | 
			
		||||
                session.commit()
 | 
			
		||||
            except:
 | 
			
		||||
                pass
 | 
			
		||||
            return resp
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user