Ensure that security group agent is bound prior to accessing
When the Neutron agents start and the security group agent callbacks are not registered there may be exceptions. Fixes bug: #1232758 Change-Id: I4c1ff96b8acfcee4c84a73c9400040c96f8418a9
This commit is contained in:
parent
358e1770bd
commit
0e4dd8c7d0
@ -65,6 +65,11 @@ class SecurityGroupAgentRpcCallbackMixin(object):
|
|||||||
#mix-in object should be have sg_agent
|
#mix-in object should be have sg_agent
|
||||||
sg_agent = None
|
sg_agent = None
|
||||||
|
|
||||||
|
def _security_groups_agent_not_set(self):
|
||||||
|
LOG.warning(_("Security group agent binding currently not set. "
|
||||||
|
"This should be set by the end of the init "
|
||||||
|
"process."))
|
||||||
|
|
||||||
def security_groups_rule_updated(self, context, **kwargs):
|
def security_groups_rule_updated(self, context, **kwargs):
|
||||||
"""Callback for security group rule update.
|
"""Callback for security group rule update.
|
||||||
|
|
||||||
@ -73,6 +78,8 @@ class SecurityGroupAgentRpcCallbackMixin(object):
|
|||||||
security_groups = kwargs.get('security_groups', [])
|
security_groups = kwargs.get('security_groups', [])
|
||||||
LOG.debug(
|
LOG.debug(
|
||||||
_("Security group rule updated on remote: %s"), security_groups)
|
_("Security group rule updated on remote: %s"), security_groups)
|
||||||
|
if not self.sg_agent:
|
||||||
|
return self._security_groups_agent_not_set()
|
||||||
self.sg_agent.security_groups_rule_updated(security_groups)
|
self.sg_agent.security_groups_rule_updated(security_groups)
|
||||||
|
|
||||||
def security_groups_member_updated(self, context, **kwargs):
|
def security_groups_member_updated(self, context, **kwargs):
|
||||||
@ -83,11 +90,15 @@ class SecurityGroupAgentRpcCallbackMixin(object):
|
|||||||
security_groups = kwargs.get('security_groups', [])
|
security_groups = kwargs.get('security_groups', [])
|
||||||
LOG.debug(
|
LOG.debug(
|
||||||
_("Security group member updated on remote: %s"), security_groups)
|
_("Security group member updated on remote: %s"), security_groups)
|
||||||
|
if not self.sg_agent:
|
||||||
|
return self._security_groups_agent_not_set()
|
||||||
self.sg_agent.security_groups_member_updated(security_groups)
|
self.sg_agent.security_groups_member_updated(security_groups)
|
||||||
|
|
||||||
def security_groups_provider_updated(self, context, **kwargs):
|
def security_groups_provider_updated(self, context, **kwargs):
|
||||||
"""Callback for security group provider update."""
|
"""Callback for security group provider update."""
|
||||||
LOG.debug(_("Provider rule updated"))
|
LOG.debug(_("Provider rule updated"))
|
||||||
|
if not self.sg_agent:
|
||||||
|
return self._security_groups_agent_not_set()
|
||||||
self.sg_agent.security_groups_provider_updated()
|
self.sg_agent.security_groups_provider_updated()
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user