'start_flag': True}
self.setup_rpc()
+ # Keep track of int_br's device count for use by _report_state()
+ self.int_br_device_count = 0
+
# Security group agent supprot
self.sg_agent = OVSSecurityGroupAgent(self.context,
self.plugin_rpc,
def _report_state(self):
try:
# How many devices are likely used by a VM
- ports = self.int_br.get_vif_port_set()
- num_devices = len(ports)
- self.agent_state.get('configurations')['devices'] = num_devices
+ self.agent_state.get('configurations')['devices'] = (
+ self.int_br_device_count)
self.state_rpc.report_state(self.context,
self.agent_state)
self.agent_state.pop('start_flag', None)
ports = self.int_br.get_vif_port_set()
if ports == registered_ports:
return
+ self.int_br_device_count = len(ports)
added = ports - registered_ports
removed = registered_ports - ports
return {'current': ports,
self.assertTrue(device_removed.called)
def test_report_state(self):
- with contextlib.nested(
- mock.patch.object(self.agent.int_br, "get_vif_port_set"),
- mock.patch.object(self.agent.state_rpc, "report_state")
- ) as (get_vif_fn, report_st):
- get_vif_fn.return_value = ["vif123", "vif234"]
+ with mock.patch.object(self.agent.state_rpc,
+ "report_state") as report_st:
+ self.agent.int_br_device_count = 5
self.agent._report_state()
- self.assertTrue(get_vif_fn.called)
report_st.assert_called_with(self.agent.context,
self.agent.agent_state)
self.assertNotIn("start_flag", self.agent.agent_state)
self.assertEqual(
- self.agent.agent_state["configurations"]["devices"], 2
+ self.agent.agent_state["configurations"]["devices"],
+ self.agent.int_br_device_count
)
def test_network_delete(self):