NSXT: Remove redundant code, add logging

1. Remove extra init methods which have no functionality
2. Add method logging calls to LBaaS driver

Change-Id: I6ef4510290248188a68079b5f06191f25f403210
This commit is contained in:
Kobi Samoray 2019-01-09 14:52:56 +02:00 committed by Adit Sarfaty
parent d7f6e0d2d2
commit 0f1d9d95d6
8 changed files with 52 additions and 22 deletions

View File

@ -30,11 +30,6 @@ LOG = logging.getLogger(__name__)
class EdgeHealthMonitorManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
@log_helpers.log_method_call
def __init__(self):
super(EdgeHealthMonitorManagerFromDict, self).__init__()
@log_helpers.log_method_call
def _build_monitor_args(self, hm):
if hm['type'] in lb_const.NSXV3_MONITOR_MAP:
@ -61,6 +56,7 @@ class EdgeHealthMonitorManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
# body['response_status'] = hm['expected_codes']
return body
@log_helpers.log_method_call
def create(self, context, hm, completor):
lb_id = hm['pool']['loadbalancer_id']
pool_id = hm['pool']['id']
@ -106,6 +102,7 @@ class EdgeHealthMonitorManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
completor(success=True)
@log_helpers.log_method_call
def update(self, context, old_hm, new_hm, completor):
lb_id = new_hm['pool']['loadbalancer_id']
pool_id = new_hm['pool']['id']
@ -128,6 +125,7 @@ class EdgeHealthMonitorManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
completor(success=True)
@log_helpers.log_method_call
def delete(self, context, hm, completor):
lb_id = hm['pool']['loadbalancer_id']
pool_id = hm['pool']['id']

View File

@ -29,10 +29,6 @@ LOG = logging.getLogger(__name__)
class EdgeL7PolicyManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
@log_helpers.log_method_call
def __init__(self):
super(EdgeL7PolicyManagerFromDict, self).__init__()
@log_helpers.log_method_call
def _update_policy_position(self, vs_id, rule_id, position):
vs_client = self.core_plugin.nsxlib.load_balancer.virtual_server
@ -46,6 +42,7 @@ class EdgeL7PolicyManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
lb_rules.insert(position - 1, rule_id)
vs_client.update(vs_id, rule_ids=lb_rules)
@log_helpers.log_method_call
def create(self, context, policy, completor):
lb_id = policy['listener']['loadbalancer_id']
listener_id = policy['listener_id']
@ -84,6 +81,7 @@ class EdgeL7PolicyManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
context.session, policy['id'], lb_rule['id'], vs_id)
completor(success=True)
@log_helpers.log_method_call
def update(self, context, old_policy, new_policy, completor):
rule_client = self.core_plugin.nsxlib.load_balancer.rule
binding = nsx_db.get_nsx_lbaas_l7policy_binding(context.session,
@ -111,6 +109,7 @@ class EdgeL7PolicyManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
completor(success=True)
@log_helpers.log_method_call
def delete(self, context, policy, completor):
vs_client = self.core_plugin.nsxlib.load_balancer.virtual_server
rule_client = self.core_plugin.nsxlib.load_balancer.rule

View File

@ -28,9 +28,6 @@ LOG = logging.getLogger(__name__)
class EdgeL7RuleManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
@log_helpers.log_method_call
def __init__(self):
super(EdgeL7RuleManagerFromDict, self).__init__()
def _update_l7rule_change(self, context, rule, completor,
delete=False):
rule_client = self.core_plugin.nsxlib.load_balancer.rule
@ -60,11 +57,14 @@ class EdgeL7RuleManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
completor(success=True)
@log_helpers.log_method_call
def create(self, context, rule, completor):
self._update_l7rule_change(context, rule, completor)
@log_helpers.log_method_call
def update(self, context, old_rule, new_rule, completor):
self._update_l7rule_change(context, new_rule, completor)
@log_helpers.log_method_call
def delete(self, context, rule, completor):
self._update_l7rule_change(context, rule, completor, delete=True)

View File

@ -16,6 +16,7 @@
from neutron.db import l3_db
from neutron.services.flavors import flavors_plugin
from neutron_lib import exceptions as n_exc
from oslo_log import helpers as log_helpers
from vmware_nsx._i18n import _
from vmware_nsx.db import db as nsx_db
@ -25,6 +26,7 @@ from vmware_nsxlib.v3 import nsx_constants
ADV_RULE_NAME = 'LB external VIP advertisement'
@log_helpers.log_method_call
def get_tags(plugin, resource_id, resource_type, project_id, project_name):
resource = {'project_id': project_id,
'id': resource_id}
@ -34,12 +36,14 @@ def get_tags(plugin, resource_id, resource_type, project_id, project_name):
return tags
@log_helpers.log_method_call
def get_network_from_subnet(context, plugin, subnet_id):
subnet = plugin.get_subnet(context, subnet_id)
if subnet:
return plugin.get_network(context, subnet['network_id'])
@log_helpers.log_method_call
def get_router_from_network(context, plugin, subnet_id):
subnet = plugin.get_subnet(context, subnet_id)
network_id = subnet['network_id']
@ -52,6 +56,7 @@ def get_router_from_network(context, plugin, subnet_id):
return router['id']
@log_helpers.log_method_call
def get_lb_flavor_size(flavor_plugin, context, flavor_id):
if not flavor_id:
return lb_const.DEFAULT_LB_SIZE
@ -68,6 +73,7 @@ def get_lb_flavor_size(flavor_plugin, context, flavor_id):
raise n_exc.InvalidInput(error_message=err_msg)
@log_helpers.log_method_call
def validate_lb_subnet(context, plugin, subnet_id):
'''Validate LB subnet before creating loadbalancer on it.
@ -90,6 +96,7 @@ def validate_lb_subnet(context, plugin, subnet_id):
return False
@log_helpers.log_method_call
def validate_lb_member_subnet(context, plugin, subnet_id, lb):
'''Validate LB member subnet before creating a member.
@ -123,6 +130,7 @@ def validate_lb_member_subnet(context, plugin, subnet_id, lb):
return False
@log_helpers.log_method_call
def get_rule_match_conditions(policy):
match_conditions = []
# values in rule have already been validated in LBaaS API,
@ -166,6 +174,7 @@ def get_rule_match_conditions(policy):
return match_conditions
@log_helpers.log_method_call
def get_rule_actions(context, l7policy):
lb_id = l7policy['listener']['loadbalancer_id']
if l7policy['action'] == lb_const.L7_POLICY_ACTION_REDIRECT_TO_POOL:
@ -194,6 +203,7 @@ def get_rule_actions(context, l7policy):
return actions
@log_helpers.log_method_call
def convert_l7policy_to_lb_rule(context, policy):
return {
'match_conditions': get_rule_match_conditions(policy),
@ -203,16 +213,19 @@ def convert_l7policy_to_lb_rule(context, policy):
}
@log_helpers.log_method_call
def remove_rule_from_policy(rule):
l7rules = rule['policy']['rules']
rule['policy']['rules'] = [r for r in l7rules if r['id'] != rule['id']]
@log_helpers.log_method_call
def update_rule_in_policy(rule):
remove_rule_from_policy(rule)
rule['policy']['rules'].append(rule)
@log_helpers.log_method_call
def update_router_lb_vip_advertisement(context, core_plugin, router,
nsx_router_id):
# Add a rule to advertise external vips on the router

View File

@ -34,9 +34,6 @@ LOG = logging.getLogger(__name__)
class EdgeListenerManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
@log_helpers.log_method_call
def __init__(self):
super(EdgeListenerManagerFromDict, self).__init__()
def _get_virtual_server_kwargs(self, context, listener, vs_name, tags,
app_profile_id, certificate=None):
# If loadbalancer vip_port already has floating ip, use floating
@ -74,6 +71,7 @@ class EdgeListenerManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
kwargs.update(ssl_profile_binding)
return kwargs
@log_helpers.log_method_call
def _get_ssl_profile_binding(self, tags, certificate=None):
tm_client = self.core_plugin.nsxlib.trust_management
if certificate:
@ -97,6 +95,7 @@ class EdgeListenerManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
}
}
@log_helpers.log_method_call
def _get_listener_tags(self, context, listener):
tags = lb_utils.get_tags(self.core_plugin, listener['id'],
lb_const.LB_LISTENER_TYPE,
@ -110,6 +109,7 @@ class EdgeListenerManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
'tag': listener['loadbalancer_id']})
return tags
@log_helpers.log_method_call
def create(self, context, listener, completor,
certificate=None):
lb_id = listener['loadbalancer_id']
@ -165,6 +165,7 @@ class EdgeListenerManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
virtual_server['id'])
completor(success=True)
@log_helpers.log_method_call
def update(self, context, old_listener, new_listener, completor,
certificate=None):
nsxlib_lb = self.core_plugin.nsxlib.load_balancer
@ -203,6 +204,7 @@ class EdgeListenerManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
'error %(error)s',
{'listener': old_listener['id'], 'error': e})
@log_helpers.log_method_call
def delete(self, context, listener, completor):
lb_id = listener['loadbalancer_id']
nsxlib_lb = self.core_plugin.nsxlib.load_balancer
@ -285,6 +287,7 @@ class EdgeListenerManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
completor(success=True)
@log_helpers.log_method_call
def stats_getter(context, core_plugin, ignore_list=None):
"""Update Octavia statistics for each listener (virtual server)"""
stat_list = []

View File

@ -15,6 +15,7 @@
from neutron_lib import exceptions as n_exc
from oslo_log import helpers as log_helpers
from oslo_log import log as logging
from oslo_utils import excutils
@ -31,6 +32,7 @@ LOG = logging.getLogger(__name__)
class EdgeLoadBalancerManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
@log_helpers.log_method_call
def create(self, context, lb, completor):
if lb_utils.validate_lb_subnet(context, self.core_plugin,
lb['vip_subnet_id']):
@ -42,6 +44,7 @@ class EdgeLoadBalancerManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
{'sub': lb['vip_subnet_id'], 'lb': lb['id']})
raise n_exc.BadRequest(resource='lbaas-subnet', msg=msg)
@log_helpers.log_method_call
def update(self, context, old_lb, new_lb, completor):
vs_client = self.core_plugin.nsxlib.load_balancer.virtual_server
app_client = self.core_plugin.nsxlib.load_balancer.application_profile
@ -75,6 +78,7 @@ class EdgeLoadBalancerManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
completor(success=True)
@log_helpers.log_method_call
def delete(self, context, lb, completor):
service_client = self.core_plugin.nsxlib.load_balancer.service
lb_binding = nsx_db.get_nsx_lbaas_loadbalancer_binding(
@ -116,10 +120,12 @@ class EdgeLoadBalancerManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
router_id)
completor(success=True)
@log_helpers.log_method_call
def refresh(self, context, lb):
# TODO(tongl): implement
pass
@log_helpers.log_method_call
def _nsx_status_to_lb_status(self, nsx_status):
if not nsx_status:
# default fallback
@ -139,6 +145,7 @@ class EdgeLoadBalancerManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
LOG.debug("NSX LB status %s - interpreted as ONLINE", nsx_status)
return lb_const.ONLINE
@log_helpers.log_method_call
def get_lb_pool_members_statuses(self, nsx_pool_id, members_statuses):
# Combine the NSX pool members data and the NSX statuses to provide
# member statuses list
@ -169,6 +176,7 @@ class EdgeLoadBalancerManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
statuses.append({'id': member_id, 'status': member_status})
return statuses
@log_helpers.log_method_call
def get_operating_status(self, context, id, with_members=False):
"""Return a map of the operating status of all connected LB objects """
service_client = self.core_plugin.nsxlib.load_balancer.service
@ -230,6 +238,7 @@ class EdgeLoadBalancerManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
return statuses
@log_helpers.log_method_call
def stats(self, context, lb):
# Since multiple LBaaS loadbalancer can share the same LB service,
# get the corresponding virtual servers' stats instead of LB service.
@ -263,6 +272,7 @@ class EdgeLoadBalancerManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
raise n_exc.BadRequest(resource='lbaas-lb', msg=msg)
return stats
@log_helpers.log_method_call
def _get_lb_virtual_servers(self, context, lb):
# Get all virtual servers that belong to this loadbalancer
vs_list = []

View File

@ -32,10 +32,6 @@ LOG = logging.getLogger(__name__)
class EdgeMemberManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
@log_helpers.log_method_call
def __init__(self):
super(EdgeMemberManagerFromDict, self).__init__()
@log_helpers.log_method_call
def _get_info_from_fip(self, context, fip):
filters = {'floating_ip_address': [fip]}
@ -80,6 +76,7 @@ class EdgeMemberManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
return lb_service
@log_helpers.log_method_call
def _get_updated_pool_members(self, context, lb_pool, member):
network = lb_utils.get_network_from_subnet(
context, self.core_plugin, member['subnet_id'])
@ -109,11 +106,13 @@ class EdgeMemberManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
LOG.debug("LB binding has already been added, and no need "
"to add here.")
@log_helpers.log_method_call
def create(self, context, member, completor):
with locking.LockManager.get_lock(
'member-%s' % str(member['pool']['loadbalancer_id'])):
self._member_create(context, member, completor)
@log_helpers.log_method_call
def _member_create(self, context, member, completor):
lb_id = member['pool']['loadbalancer_id']
pool_id = member['pool']['id']
@ -229,6 +228,7 @@ class EdgeMemberManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
completor(success=True)
@log_helpers.log_method_call
def update(self, context, old_member, new_member, completor):
lb_id = old_member['pool']['loadbalancer_id']
pool_id = old_member['pool']['id']
@ -253,6 +253,7 @@ class EdgeMemberManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
{'member': old_member['id'], 'err': e})
completor(success=True)
@log_helpers.log_method_call
def delete(self, context, member, completor):
lb_id = member['pool']['loadbalancer_id']
pool_id = member['pool']['id']

View File

@ -35,9 +35,6 @@ LOG = logging.getLogger(__name__)
class EdgePoolManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
@log_helpers.log_method_call
def __init__(self):
super(EdgePoolManagerFromDict, self).__init__()
def _get_pool_kwargs(self, name=None, tags=None, algorithm=None,
description=None):
kwargs = {}
@ -52,6 +49,7 @@ class EdgePoolManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
kwargs['snat_translation'] = {'type': "LbSnatAutoMap"}
return kwargs
@log_helpers.log_method_call
def _build_persistence_profile_tags(self, pool_tags, listener):
tags = pool_tags[:]
tags.append({
@ -65,6 +63,7 @@ class EdgePoolManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
'tag': listener['id']})
return tags
@log_helpers.log_method_call
def _validate_session_persistence(self, pool, listener, completor,
old_pool=None):
sp = pool.get('session_persistence')
@ -102,6 +101,7 @@ class EdgePoolManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
'old_sp_type': oldsp['type']})
raise n_exc.BadRequest(resource='lbaas-pool', msg=msg)
@log_helpers.log_method_call
def _setup_session_persistence(self, pool, pool_tags,
listener, vs_data):
sp = pool.get('session_persistence')
@ -166,12 +166,14 @@ class EdgePoolManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
return pp_data['id'], None
return None, None
@log_helpers.log_method_call
def _remove_persistence(self, vs_data):
pp_client = self.core_plugin.nsxlib.load_balancer.persistence_profile
persistence_profile_id = vs_data.get('persistence_profile_id')
if persistence_profile_id:
pp_client.delete(persistence_profile_id)
@log_helpers.log_method_call
def _process_vs_update(self, context, pool, listener,
nsx_pool_id, nsx_vs_id, completor):
vs_client = self.core_plugin.nsxlib.load_balancer.virtual_server
@ -210,11 +212,13 @@ class EdgePoolManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
LOG.error('Failed to attach pool %s to virtual '
'server %s', nsx_pool_id, nsx_vs_id)
@log_helpers.log_method_call
def _get_pool_tags(self, context, pool):
return lb_utils.get_tags(self.core_plugin, pool['id'],
lb_const.LB_POOL_TYPE, pool['tenant_id'],
context.project_name)
@log_helpers.log_method_call
def create(self, context, pool, completor):
lb_id = pool['loadbalancer_id']
pool_client = self.core_plugin.nsxlib.load_balancer.pool
@ -265,6 +269,7 @@ class EdgePoolManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
raise nsx_exc.NsxPluginException(err_msg=msg)
completor(success=True)
@log_helpers.log_method_call
def update(self, context, old_pool, new_pool, completor):
pool_client = self.core_plugin.nsxlib.load_balancer.pool
pool_name = None
@ -315,6 +320,7 @@ class EdgePoolManagerFromDict(base_mgr.Nsxv3LoadbalancerBaseManager):
'error %(error)s',
{'pool': old_pool['id'], 'error': e})
@log_helpers.log_method_call
def delete(self, context, pool, completor):
lb_id = pool['loadbalancer_id']
pool_client = self.core_plugin.nsxlib.load_balancer.pool