The networking_cisco.plugins.cisco.l3.schedulers.l3_router_hosting_device_scheduler Module

class networking_cisco.plugins.cisco.l3.schedulers.l3_router_hosting_device_scheduler.CandidatesHAFilterMixin

Bases: object

class networking_cisco.plugins.cisco.l3.schedulers.l3_router_hosting_device_scheduler.L3RouterHostingDeviceBaseScheduler

Bases: object

Slot-aware base scheduler of Neutron routers to hosting devices.

get_candidates(plugin, context, r_hd_binding_db)
Selection criteria: Hosting devices that…
… are based on the template required by router’s type AND … are administratively up AND … are active (i.e., has status HD_ACTIVE) AND … are bound to tenant owning router OR is unbound AND … are enough slots available to host the router

Among hosting devices meeting these criteria the device with less allocated slots is preferred.

schedule_router(plugin, context, r_hd_binding_db)
unschedule_router(plugin, context, r_hd_binding_db)
class networking_cisco.plugins.cisco.l3.schedulers.l3_router_hosting_device_scheduler.L3RouterHostingDeviceHALongestRunningScheduler

Bases: networking_cisco.plugins.cisco.l3.schedulers.l3_router_hosting_device_scheduler.CandidatesHAFilterMixin, networking_cisco.plugins.cisco.l3.schedulers.l3_router_hosting_device_scheduler.L3RouterHostingDeviceLongestRunningScheduler

Schedules a Neutron router on a hosting device.

The scheduler is HA aware and will ignore hosting device candidates that are used by other Neutron routers in the same HA group.

Selection criteria:

The longest running hosting device that is not already hosting a router in the HA group and which has enough slots available to host the router.

Hosting devices with creation date/time less than EQUIVALENCE_TIME_DIFF are considered equally old.

Among hosting devices meeting these criteria and that are of same age the device with less allocated slots is preferred.

class networking_cisco.plugins.cisco.l3.schedulers.l3_router_hosting_device_scheduler.L3RouterHostingDeviceHARandomScheduler

Bases: networking_cisco.plugins.cisco.l3.schedulers.l3_router_hosting_device_scheduler.CandidatesHAFilterMixin, networking_cisco.plugins.cisco.l3.schedulers.l3_router_hosting_device_scheduler.L3RouterHostingDeviceRandomScheduler

Schedules a Neutron router on a hosting device.

The scheduler is HA aware and will ignore hosting device candidates that are used by other Neutron routers in the same HA group.

Selection criteria:
A randomly selected hosting device that is not already hosting a router in the HA group and which has enough slots available to host the router.
class networking_cisco.plugins.cisco.l3.schedulers.l3_router_hosting_device_scheduler.L3RouterHostingDeviceLongestRunningScheduler

Bases: networking_cisco.plugins.cisco.l3.schedulers.l3_router_hosting_device_scheduler.L3RouterHostingDeviceBaseScheduler

Schedules a Neutron router on a hosting device.

Selection criteria:

The longest running hosting device that has enough slots available to host the router

Hosting devices with creation date/time less than EQUIVALENCE_TIME_DIFF are considered equally old.

Among hosting devices meeting these criteria and that are of same age the device with less allocated slots is preferred.

schedule_router(plugin, context, r_hd_binding_db)
unschedule_router(plugin, context, r_hd_binding_db)
class networking_cisco.plugins.cisco.l3.schedulers.l3_router_hosting_device_scheduler.L3RouterHostingDeviceRandomScheduler

Bases: networking_cisco.plugins.cisco.l3.schedulers.l3_router_hosting_device_scheduler.L3RouterHostingDeviceBaseScheduler

Schedules a Neutron router on a hosting device.

Selection criteria:
A randomly selected hosting device that has enough slots available to host the router.
schedule_router(plugin, context, r_hd_binding_db)
unschedule_router(plugin, context, r_hd_binding_db)