diff --git a/vmware_nsx/services/lbaas/nsx_v3/implementation/healthmonitor_mgr.py b/vmware_nsx/services/lbaas/nsx_v3/implementation/healthmonitor_mgr.py index fb378f138a..d3e8541319 100644 --- a/vmware_nsx/services/lbaas/nsx_v3/implementation/healthmonitor_mgr.py +++ b/vmware_nsx/services/lbaas/nsx_v3/implementation/healthmonitor_mgr.py @@ -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'] diff --git a/vmware_nsx/services/lbaas/nsx_v3/implementation/l7policy_mgr.py b/vmware_nsx/services/lbaas/nsx_v3/implementation/l7policy_mgr.py index d4a942eed1..a04d8e8bb3 100644 --- a/vmware_nsx/services/lbaas/nsx_v3/implementation/l7policy_mgr.py +++ b/vmware_nsx/services/lbaas/nsx_v3/implementation/l7policy_mgr.py @@ -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 diff --git a/vmware_nsx/services/lbaas/nsx_v3/implementation/l7rule_mgr.py b/vmware_nsx/services/lbaas/nsx_v3/implementation/l7rule_mgr.py index 908114ab3b..5a11338173 100644 --- a/vmware_nsx/services/lbaas/nsx_v3/implementation/l7rule_mgr.py +++ b/vmware_nsx/services/lbaas/nsx_v3/implementation/l7rule_mgr.py @@ -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) diff --git a/vmware_nsx/services/lbaas/nsx_v3/implementation/lb_utils.py b/vmware_nsx/services/lbaas/nsx_v3/implementation/lb_utils.py index df0c4723b5..e7ef1f4418 100644 --- a/vmware_nsx/services/lbaas/nsx_v3/implementation/lb_utils.py +++ b/vmware_nsx/services/lbaas/nsx_v3/implementation/lb_utils.py @@ -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 diff --git a/vmware_nsx/services/lbaas/nsx_v3/implementation/listener_mgr.py b/vmware_nsx/services/lbaas/nsx_v3/implementation/listener_mgr.py index 416b2e26d0..3c9304793e 100644 --- a/vmware_nsx/services/lbaas/nsx_v3/implementation/listener_mgr.py +++ b/vmware_nsx/services/lbaas/nsx_v3/implementation/listener_mgr.py @@ -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 = [] diff --git a/vmware_nsx/services/lbaas/nsx_v3/implementation/loadbalancer_mgr.py b/vmware_nsx/services/lbaas/nsx_v3/implementation/loadbalancer_mgr.py index c8f49ba792..bb72d62b91 100644 --- a/vmware_nsx/services/lbaas/nsx_v3/implementation/loadbalancer_mgr.py +++ b/vmware_nsx/services/lbaas/nsx_v3/implementation/loadbalancer_mgr.py @@ -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 = [] diff --git a/vmware_nsx/services/lbaas/nsx_v3/implementation/member_mgr.py b/vmware_nsx/services/lbaas/nsx_v3/implementation/member_mgr.py index 684cec55ed..dc16ca3d12 100644 --- a/vmware_nsx/services/lbaas/nsx_v3/implementation/member_mgr.py +++ b/vmware_nsx/services/lbaas/nsx_v3/implementation/member_mgr.py @@ -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'] diff --git a/vmware_nsx/services/lbaas/nsx_v3/implementation/pool_mgr.py b/vmware_nsx/services/lbaas/nsx_v3/implementation/pool_mgr.py index 5f65e96141..d4fca6cb87 100644 --- a/vmware_nsx/services/lbaas/nsx_v3/implementation/pool_mgr.py +++ b/vmware_nsx/services/lbaas/nsx_v3/implementation/pool_mgr.py @@ -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