Merge "Don't run periodic actions for StaticScheduler"

This commit is contained in:
Zuul 2022-08-18 09:28:17 +00:00 committed by Gerrit Code Review
commit ddac34b384
2 changed files with 9 additions and 4 deletions

View File

@ -69,10 +69,11 @@ class BgpDrAgentSchedulerDbMixin(bgp_dras_ext.BgpDrSchedulerPluginBase,
def add_periodic_dragent_status_check(self):
if self.bgp_drscheduler:
self.add_agent_status_check_worker(
self.remove_bgp_speaker_from_down_dragents)
self.add_agent_status_check_worker(
self.schedule_all_unscheduled_bgp_speakers)
if self.bgp_drscheduler.periodic_actions:
self.add_agent_status_check_worker(
self.remove_bgp_speaker_from_down_dragents)
self.add_agent_status_check_worker(
self.schedule_all_unscheduled_bgp_speakers)
else:
LOG.warning(_LW("Cannot schedule BgpSpeaker to DrAgent. "
"Reason: No scheduler registered."))

View File

@ -128,6 +128,8 @@ class BgpDrAgentFilter(base_resource_filter.BaseResourceFilter):
class BgpDrAgentSchedulerBase(BgpDrAgentFilter):
periodic_actions = True
def _register_callbacks(self):
registry.subscribe(self.schedule_bgp_speaker_callback,
dr_resources.BGP_SPEAKER,
@ -223,6 +225,8 @@ class WeightScheduler(base_scheduler.BaseWeightScheduler,
class StaticScheduler(base_scheduler.BaseScheduler,
BgpDrAgentFilter):
periodic_actions = False
def schedule_all_unscheduled_bgp_speakers(self, context):
return True