LBAAS-713 Change the "counter" database commits to be best effort

Change-Id: I8a07737d7f94bdbee1ad7989e3f52bb8578821e1
This commit is contained in:
Michael Johnson
2014-09-03 23:24:51 +00:00
parent a5f7e2ccf4
commit d643531d80
6 changed files with 106 additions and 57 deletions

View File

@@ -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
)

View File

@@ -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

View File

@@ -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.

View File

@@ -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

View File

@@ -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
)

View File

@@ -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