Project_id for SDN controller meters

Enable project_id config from SDN controller drivers.
Current code Project_id was set to None. With this commit,
project_id will be set by the driver. Existing drivers will set project_id
to None. OpenDayliht v2 driver will set project_id as the uuid of the
tenant owning the port for port meters and admin tenant id for switch,
switch.port and table meters.

Change-Id: I0e65d25e71d2d258ff0db76f020924170f380ec2
Implements: blueprint network-statistics-from-opendaylight
Closes-Bug: #1369428
This commit is contained in:
Deepthi V V 2017-07-04 12:39:01 +05:30
parent 5621e1cc32
commit bd81d3536e
6 changed files with 160 additions and 146 deletions

View File

@ -86,7 +86,7 @@ class _Base(plugin_base.PollsterBase):
if not isinstance(data, list): if not isinstance(data, list):
data = [data] data = [data]
for (volume, resource_id, for (volume, resource_id,
resource_metadata) in data: resource_metadata, project_id) in data:
yield sample.Sample( yield sample.Sample(
name=self.meter_name, name=self.meter_name,
@ -94,7 +94,7 @@ class _Base(plugin_base.PollsterBase):
unit=self.meter_unit, unit=self.meter_unit,
volume=volume, volume=volume,
user_id=None, user_id=None,
project_id=None, project_id=project_id,
resource_id=resource_id, resource_id=resource_id,
resource_metadata=resource_metadata resource_metadata=resource_metadata
) )

View File

@ -110,7 +110,7 @@ class OpencontrailDriver(driver.Driver):
for sample in iter(extractor, value, ports_map, for sample in iter(extractor, value, ports_map,
resource, virtual_network): resource, virtual_network):
if sample is not None: if sample is not None:
yield sample yield sample + (None, )
def _get_iter(self, meter_name): def _get_iter(self, meter_name):
if meter_name.startswith('switch.port'): if meter_name.startswith('switch.port'):

View File

@ -200,7 +200,7 @@ class OpenDayLightDriver(driver.Driver):
sample[2]['controller'] = 'OpenDaylight' sample[2]['controller'] = 'OpenDaylight'
sample[2]['container'] = name sample[2]['container'] = name
samples.append(sample) samples.append(sample + (None, ))
return samples return samples

View File

@ -137,7 +137,8 @@ class TestOpencontrailDriver(base.BaseTestCase):
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b', 'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
'project': 'demo', 'project': 'demo',
'project_id': '89271fa581ab4380bf172f868c3615f9', 'project_id': '89271fa581ab4380bf172f868c3615f9',
'resource': 'if_stats_list'},), 'resource': 'if_stats_list'},
None),
(13, (13,
'96d49cc3-4e01-40ce-9cac-c0e32642a442', '96d49cc3-4e01-40ce-9cac-c0e32642a442',
{'device_owner_id': {'device_owner_id':
@ -146,7 +147,8 @@ class TestOpencontrailDriver(base.BaseTestCase):
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b', 'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
'project': 'demo', 'project': 'demo',
'project_id': '89271fa581ab4380bf172f868c3615f9', 'project_id': '89271fa581ab4380bf172f868c3615f9',
'resource': 'if_stats_list'},)] 'resource': 'if_stats_list'},
None)]
self._test_meter('switch.port.receive.packets', expected, self._test_meter('switch.port.receive.packets', expected,
self.fake_port_stats_with_node()) self.fake_port_stats_with_node())
@ -159,7 +161,8 @@ class TestOpencontrailDriver(base.BaseTestCase):
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b', 'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
'project': 'demo', 'project': 'demo',
'project_id': '89271fa581ab4380bf172f868c3615f9', 'project_id': '89271fa581ab4380bf172f868c3615f9',
'resource': 'if_stats_list'},)] 'resource': 'if_stats_list'},
None)]
self._test_meter('switch.port.receive.packets', expected) self._test_meter('switch.port.receive.packets', expected)
def test_switch_port_transmit_packets(self): def test_switch_port_transmit_packets(self):
@ -171,7 +174,8 @@ class TestOpencontrailDriver(base.BaseTestCase):
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b', 'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
'project': 'demo', 'project': 'demo',
'project_id': '89271fa581ab4380bf172f868c3615f9', 'project_id': '89271fa581ab4380bf172f868c3615f9',
'resource': 'if_stats_list'},)] 'resource': 'if_stats_list'},
None)]
self._test_meter('switch.port.transmit.packets', expected) self._test_meter('switch.port.transmit.packets', expected)
def test_switch_port_receive_bytes(self): def test_switch_port_receive_bytes(self):
@ -183,7 +187,8 @@ class TestOpencontrailDriver(base.BaseTestCase):
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b', 'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
'project': 'demo', 'project': 'demo',
'project_id': '89271fa581ab4380bf172f868c3615f9', 'project_id': '89271fa581ab4380bf172f868c3615f9',
'resource': 'if_stats_list'},)] 'resource': 'if_stats_list'},
None)]
self._test_meter('switch.port.receive.bytes', expected) self._test_meter('switch.port.receive.bytes', expected)
def test_switch_port_transmit_bytes(self): def test_switch_port_transmit_bytes(self):
@ -195,7 +200,8 @@ class TestOpencontrailDriver(base.BaseTestCase):
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b', 'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
'project': 'demo', 'project': 'demo',
'project_id': '89271fa581ab4380bf172f868c3615f9', 'project_id': '89271fa581ab4380bf172f868c3615f9',
'resource': 'if_stats_list'},)] 'resource': 'if_stats_list'},
None)]
self._test_meter('switch.port.transmit.bytes', expected) self._test_meter('switch.port.transmit.bytes', expected)
def test_switch_port_receive_packets_fip(self): def test_switch_port_receive_packets_fip(self):
@ -208,7 +214,8 @@ class TestOpencontrailDriver(base.BaseTestCase):
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b', 'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
'project': 'demo', 'project': 'demo',
'project_id': '89271fa581ab4380bf172f868c3615f9', 'project_id': '89271fa581ab4380bf172f868c3615f9',
'resource': 'fip_stats_list'},)] 'resource': 'fip_stats_list'},
None)]
self._test_meter('switch.port.receive.packets', expected) self._test_meter('switch.port.receive.packets', expected)
def test_switch_port_transmit_packets_fip(self): def test_switch_port_transmit_packets_fip(self):
@ -221,7 +228,8 @@ class TestOpencontrailDriver(base.BaseTestCase):
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b', 'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
'project': 'demo', 'project': 'demo',
'project_id': '89271fa581ab4380bf172f868c3615f9', 'project_id': '89271fa581ab4380bf172f868c3615f9',
'resource': 'fip_stats_list'},)] 'resource': 'fip_stats_list'},
None)]
self._test_meter('switch.port.transmit.packets', expected) self._test_meter('switch.port.transmit.packets', expected)
def test_switch_port_receive_bytes_fip(self): def test_switch_port_receive_bytes_fip(self):
@ -234,7 +242,8 @@ class TestOpencontrailDriver(base.BaseTestCase):
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b', 'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
'project': 'demo', 'project': 'demo',
'project_id': '89271fa581ab4380bf172f868c3615f9', 'project_id': '89271fa581ab4380bf172f868c3615f9',
'resource': 'fip_stats_list'},)] 'resource': 'fip_stats_list'},
None)]
self._test_meter('switch.port.receive.bytes', expected) self._test_meter('switch.port.receive.bytes', expected)
def test_switch_port_transmit_bytes_fip(self): def test_switch_port_transmit_bytes_fip(self):
@ -247,7 +256,8 @@ class TestOpencontrailDriver(base.BaseTestCase):
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b', 'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
'project': 'demo', 'project': 'demo',
'project_id': '89271fa581ab4380bf172f868c3615f9', 'project_id': '89271fa581ab4380bf172f868c3615f9',
'resource': 'fip_stats_list'},)] 'resource': 'fip_stats_list'},
None)]
self._test_meter('switch.port.transmit.bytes', expected) self._test_meter('switch.port.transmit.bytes', expected)
def test_switch_port_transmit_bytes_non_existing_network(self): def test_switch_port_transmit_bytes_non_existing_network(self):

View File

@ -17,7 +17,6 @@ import abc
import mock import mock
from oslotest import base from oslotest import base
import six import six
from six import moves
from six.moves.urllib import parse as url_parse from six.moves.urllib import parse as url_parse
from ceilometer.network.statistics.opendaylight import driver from ceilometer.network.statistics.opendaylight import driver
@ -119,10 +118,7 @@ class _Base(base.BaseTestCase):
self.fake_params, self.fake_params,
{}) {})
for sample, expected in moves.zip(sample_data, expected_data): self.assertEqual(expected_data, list(sample_data))
self.assertEqual(expected[0], sample[0]) # check volume
self.assertEqual(expected[1], sample[1]) # check resource id
self.assertEqual(expected[2], sample[2]) # check resource metadata
class TestOpenDayLightDriverSpecial(_Base): class TestOpenDayLightDriverSpecial(_Base):
@ -352,7 +348,7 @@ class TestOpenDayLightDriverSimple(_Base):
'container': 'default', 'container': 'default',
"properties_actions": "4095", "properties_actions": "4095",
"properties_timeStamp_connectedSince": "1377291227877" "properties_timeStamp_connectedSince": "1377291227877"
}), }, None),
] ]
self._test_for_meter('switch', expected_data) self._test_for_meter('switch', expected_data)
@ -363,7 +359,7 @@ class TestOpenDayLightDriverSimple(_Base):
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4', 'port': '4',
}), }, None),
] ]
self._test_for_meter('switch.port', expected_data) self._test_for_meter('switch.port', expected_data)
@ -372,7 +368,7 @@ class TestOpenDayLightDriverSimple(_Base):
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4'}), 'port': '4'}, None),
] ]
self._test_for_meter('switch.port.receive.packets', expected_data) self._test_for_meter('switch.port.receive.packets', expected_data)
@ -381,7 +377,7 @@ class TestOpenDayLightDriverSimple(_Base):
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4'}), 'port': '4'}, None),
] ]
self._test_for_meter('switch.port.transmit.packets', expected_data) self._test_for_meter('switch.port.transmit.packets', expected_data)
@ -390,7 +386,7 @@ class TestOpenDayLightDriverSimple(_Base):
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4'}), 'port': '4'}, None),
] ]
self._test_for_meter('switch.port.receive.bytes', expected_data) self._test_for_meter('switch.port.receive.bytes', expected_data)
@ -399,7 +395,7 @@ class TestOpenDayLightDriverSimple(_Base):
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4'}), 'port': '4'}, None),
] ]
self._test_for_meter('switch.port.transmit.bytes', expected_data) self._test_for_meter('switch.port.transmit.bytes', expected_data)
@ -408,7 +404,7 @@ class TestOpenDayLightDriverSimple(_Base):
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4'}), 'port': '4'}, None),
] ]
self._test_for_meter('switch.port.receive.drops', expected_data) self._test_for_meter('switch.port.receive.drops', expected_data)
@ -417,7 +413,7 @@ class TestOpenDayLightDriverSimple(_Base):
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4'}), 'port': '4'}, None),
] ]
self._test_for_meter('switch.port.transmit.drops', expected_data) self._test_for_meter('switch.port.transmit.drops', expected_data)
@ -426,7 +422,7 @@ class TestOpenDayLightDriverSimple(_Base):
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4'}), 'port': '4'}, None),
] ]
self._test_for_meter('switch.port.receive.errors', expected_data) self._test_for_meter('switch.port.receive.errors', expected_data)
@ -435,7 +431,7 @@ class TestOpenDayLightDriverSimple(_Base):
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4'}), 'port': '4'}, None),
] ]
self._test_for_meter('switch.port.transmit.errors', expected_data) self._test_for_meter('switch.port.transmit.errors', expected_data)
@ -444,7 +440,7 @@ class TestOpenDayLightDriverSimple(_Base):
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4'}), 'port': '4'}, None),
] ]
self._test_for_meter('switch.port.receive.frame_error', expected_data) self._test_for_meter('switch.port.receive.frame_error', expected_data)
@ -453,7 +449,7 @@ class TestOpenDayLightDriverSimple(_Base):
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4'}), 'port': '4'}, None),
] ]
self._test_for_meter('switch.port.receive.overrun_error', self._test_for_meter('switch.port.receive.overrun_error',
expected_data) expected_data)
@ -463,7 +459,7 @@ class TestOpenDayLightDriverSimple(_Base):
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4'}), 'port': '4'}, None),
] ]
self._test_for_meter('switch.port.receive.crc_error', expected_data) self._test_for_meter('switch.port.receive.crc_error', expected_data)
@ -472,7 +468,7 @@ class TestOpenDayLightDriverSimple(_Base):
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4'}), 'port': '4'}, None),
] ]
self._test_for_meter('switch.port.collision.count', expected_data) self._test_for_meter('switch.port.collision.count', expected_data)
@ -481,7 +477,7 @@ class TestOpenDayLightDriverSimple(_Base):
(1, "00:00:00:00:00:00:00:02", { (1, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'table_id': '0'}), 'table_id': '0'}, None),
] ]
self._test_for_meter('switch.table', expected_data) self._test_for_meter('switch.table', expected_data)
@ -490,7 +486,7 @@ class TestOpenDayLightDriverSimple(_Base):
(11, "00:00:00:00:00:00:00:02", { (11, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'table_id': '0'}), 'table_id': '0'}, None),
] ]
self._test_for_meter('switch.table.active.entries', expected_data) self._test_for_meter('switch.table.active.entries', expected_data)
@ -499,7 +495,7 @@ class TestOpenDayLightDriverSimple(_Base):
(816, "00:00:00:00:00:00:00:02", { (816, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'table_id': '0'}), 'table_id': '0'}, None),
] ]
self._test_for_meter('switch.table.lookup.packets', expected_data) self._test_for_meter('switch.table.lookup.packets', expected_data)
@ -508,7 +504,7 @@ class TestOpenDayLightDriverSimple(_Base):
(220, "00:00:00:00:00:00:00:02", { (220, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'table_id': '0'}), 'table_id': '0'}, None),
] ]
self._test_for_meter('switch.table.matched.packets', expected_data) self._test_for_meter('switch.table.matched.packets', expected_data)
@ -532,7 +528,7 @@ class TestOpenDayLightDriverSimple(_Base):
"flow_hardTimeout": "0", "flow_hardTimeout": "0",
"flow_idleTimeout": "0", "flow_idleTimeout": "0",
"flow_priority": "1" "flow_priority": "1"
}), }, None),
] ]
self._test_for_meter('switch.flow', expected_data) self._test_for_meter('switch.flow', expected_data)
@ -555,7 +551,7 @@ class TestOpenDayLightDriverSimple(_Base):
"flow_actions_port_type": "OF", "flow_actions_port_type": "OF",
"flow_hardTimeout": "0", "flow_hardTimeout": "0",
"flow_idleTimeout": "0", "flow_idleTimeout": "0",
"flow_priority": "1"}), "flow_priority": "1"}, None),
] ]
self._test_for_meter('switch.flow.duration_seconds', expected_data) self._test_for_meter('switch.flow.duration_seconds', expected_data)
@ -578,7 +574,7 @@ class TestOpenDayLightDriverSimple(_Base):
"flow_actions_port_type": "OF", "flow_actions_port_type": "OF",
"flow_hardTimeout": "0", "flow_hardTimeout": "0",
"flow_idleTimeout": "0", "flow_idleTimeout": "0",
"flow_priority": "1"}), "flow_priority": "1"}, None),
] ]
self._test_for_meter('switch.flow.duration_nanoseconds', expected_data) self._test_for_meter('switch.flow.duration_nanoseconds', expected_data)
@ -601,7 +597,7 @@ class TestOpenDayLightDriverSimple(_Base):
"flow_actions_port_type": "OF", "flow_actions_port_type": "OF",
"flow_hardTimeout": "0", "flow_hardTimeout": "0",
"flow_idleTimeout": "0", "flow_idleTimeout": "0",
"flow_priority": "1"}), "flow_priority": "1"}, None),
] ]
self._test_for_meter('switch.flow.packets', expected_data) self._test_for_meter('switch.flow.packets', expected_data)
@ -624,7 +620,7 @@ class TestOpenDayLightDriverSimple(_Base):
"flow_actions_port_type": "OF", "flow_actions_port_type": "OF",
"flow_hardTimeout": "0", "flow_hardTimeout": "0",
"flow_idleTimeout": "0", "flow_idleTimeout": "0",
"flow_priority": "1"}), "flow_priority": "1"}, None),
] ]
self._test_for_meter('switch.flow.bytes', expected_data) self._test_for_meter('switch.flow.bytes', expected_data)
@ -1078,7 +1074,7 @@ class TestOpenDayLightDriverComplex(_Base):
"properties_macAddress": "00:00:00:00:00:02", "properties_macAddress": "00:00:00:00:00:02",
"properties_tables": "-1", "properties_tables": "-1",
"properties_timeStamp_connectedSince": "1377291227877" "properties_timeStamp_connectedSince": "1377291227877"
}), }, None),
(1, "00:00:00:00:00:00:00:03", { (1, "00:00:00:00:00:00:00:03", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
@ -1089,7 +1085,7 @@ class TestOpenDayLightDriverComplex(_Base):
"properties_macAddress": "00:00:00:00:00:03", "properties_macAddress": "00:00:00:00:00:03",
"properties_tables": "10", "properties_tables": "10",
"properties_timeStamp_connectedSince": "1377291228000" "properties_timeStamp_connectedSince": "1377291228000"
}), }, None),
] ]
self._test_for_meter('switch', expected_data) self._test_for_meter('switch', expected_data)
@ -1100,7 +1096,7 @@ class TestOpenDayLightDriverComplex(_Base):
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4', 'port': '4',
}), }, None),
(1, "00:00:00:00:00:00:00:02", { (1, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
@ -1109,7 +1105,7 @@ class TestOpenDayLightDriverComplex(_Base):
'user_link_node_port': '5', 'user_link_node_port': '5',
'user_link_status': 'Success', 'user_link_status': 'Success',
'user_link_name': 'link1', 'user_link_name': 'link1',
}), }, None),
(1, "00:00:00:00:00:00:00:02", { (1, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
@ -1121,7 +1117,7 @@ class TestOpenDayLightDriverComplex(_Base):
"topology_name": "s2-eth3", "topology_name": "s2-eth3",
"topology_state": 1, "topology_state": 1,
"topology_timeStamp_creation": 1379527162648 "topology_timeStamp_creation": 1379527162648
}), }, None),
(1, "00:00:00:00:00:00:00:02", { (1, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
@ -1131,7 +1127,7 @@ class TestOpenDayLightDriverComplex(_Base):
'host_networkAddress': '2.2.2.2', 'host_networkAddress': '2.2.2.2',
'host_staticHost': 'true', 'host_staticHost': 'true',
'host_vlan': '0', 'host_vlan': '0',
}), }, None),
(1, "00:00:00:00:00:00:00:02", { (1, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
@ -1141,7 +1137,7 @@ class TestOpenDayLightDriverComplex(_Base):
'host_networkAddress': '2.2.2.4', 'host_networkAddress': '2.2.2.4',
'host_staticHost': 'false', 'host_staticHost': 'false',
'host_vlan': '1', 'host_vlan': '1',
}), }, None),
] ]
self._test_for_meter('switch.port', expected_data) self._test_for_meter('switch.port', expected_data)
@ -1150,23 +1146,23 @@ class TestOpenDayLightDriverComplex(_Base):
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4'}), 'port': '4'}, None),
(182, "00:00:00:00:00:00:00:02", { (182, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '3'}), 'port': '3'}, None),
(174, "00:00:00:00:00:00:00:02", { (174, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '2'}), 'port': '2'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '1'}), 'port': '1'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '0'}), 'port': '0'}, None),
] ]
self._test_for_meter('switch.port.receive.packets', expected_data) self._test_for_meter('switch.port.receive.packets', expected_data)
@ -1175,23 +1171,23 @@ class TestOpenDayLightDriverComplex(_Base):
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4'}), 'port': '4'}, None),
(173, "00:00:00:00:00:00:00:02", { (173, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '3'}), 'port': '3'}, None),
(181, "00:00:00:00:00:00:00:02", { (181, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '2'}), 'port': '2'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '1'}), 'port': '1'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '0'}), 'port': '0'}, None),
] ]
self._test_for_meter('switch.port.transmit.packets', expected_data) self._test_for_meter('switch.port.transmit.packets', expected_data)
@ -1200,23 +1196,23 @@ class TestOpenDayLightDriverComplex(_Base):
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4'}), 'port': '4'}, None),
(12740, "00:00:00:00:00:00:00:02", { (12740, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '3'}), 'port': '3'}, None),
(12180, "00:00:00:00:00:00:00:02", { (12180, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '2'}), 'port': '2'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '1'}), 'port': '1'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '0'}), 'port': '0'}, None),
] ]
self._test_for_meter('switch.port.receive.bytes', expected_data) self._test_for_meter('switch.port.receive.bytes', expected_data)
@ -1225,23 +1221,23 @@ class TestOpenDayLightDriverComplex(_Base):
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4'}), 'port': '4'}, None),
(12110, "00:00:00:00:00:00:00:02", { (12110, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '3'}), 'port': '3'}, None),
(12670, "00:00:00:00:00:00:00:02", { (12670, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '2'}), 'port': '2'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '1'}), 'port': '1'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '0'}), 'port': '0'}, None),
] ]
self._test_for_meter('switch.port.transmit.bytes', expected_data) self._test_for_meter('switch.port.transmit.bytes', expected_data)
@ -1250,23 +1246,23 @@ class TestOpenDayLightDriverComplex(_Base):
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4'}), 'port': '4'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '3'}), 'port': '3'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '2'}), 'port': '2'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '1'}), 'port': '1'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '0'}), 'port': '0'}, None),
] ]
self._test_for_meter('switch.port.receive.drops', expected_data) self._test_for_meter('switch.port.receive.drops', expected_data)
@ -1275,23 +1271,23 @@ class TestOpenDayLightDriverComplex(_Base):
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4'}), 'port': '4'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '3'}), 'port': '3'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '2'}), 'port': '2'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '1'}), 'port': '1'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '0'}), 'port': '0'}, None),
] ]
self._test_for_meter('switch.port.transmit.drops', expected_data) self._test_for_meter('switch.port.transmit.drops', expected_data)
@ -1300,23 +1296,23 @@ class TestOpenDayLightDriverComplex(_Base):
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4'}), 'port': '4'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '3'}), 'port': '3'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '2'}), 'port': '2'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '1'}), 'port': '1'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '0'}), 'port': '0'}, None),
] ]
self._test_for_meter('switch.port.receive.errors', expected_data) self._test_for_meter('switch.port.receive.errors', expected_data)
@ -1325,23 +1321,23 @@ class TestOpenDayLightDriverComplex(_Base):
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4'}), 'port': '4'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '3'}), 'port': '3'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '2'}), 'port': '2'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '1'}), 'port': '1'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '0'}), 'port': '0'}, None),
] ]
self._test_for_meter('switch.port.transmit.errors', expected_data) self._test_for_meter('switch.port.transmit.errors', expected_data)
@ -1350,23 +1346,23 @@ class TestOpenDayLightDriverComplex(_Base):
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4'}), 'port': '4'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '3'}), 'port': '3'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '2'}), 'port': '2'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '1'}), 'port': '1'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '0'}), 'port': '0'}, None),
] ]
self._test_for_meter('switch.port.receive.frame_error', expected_data) self._test_for_meter('switch.port.receive.frame_error', expected_data)
@ -1375,23 +1371,23 @@ class TestOpenDayLightDriverComplex(_Base):
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4'}), 'port': '4'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '3'}), 'port': '3'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '2'}), 'port': '2'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '1'}), 'port': '1'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '0'}), 'port': '0'}, None),
] ]
self._test_for_meter('switch.port.receive.overrun_error', self._test_for_meter('switch.port.receive.overrun_error',
expected_data) expected_data)
@ -1401,23 +1397,23 @@ class TestOpenDayLightDriverComplex(_Base):
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4'}), 'port': '4'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '3'}), 'port': '3'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '2'}), 'port': '2'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '1'}), 'port': '1'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '0'}), 'port': '0'}, None),
] ]
self._test_for_meter('switch.port.receive.crc_error', expected_data) self._test_for_meter('switch.port.receive.crc_error', expected_data)
@ -1426,23 +1422,23 @@ class TestOpenDayLightDriverComplex(_Base):
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '4'}), 'port': '4'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '3'}), 'port': '3'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '2'}), 'port': '2'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '1'}), 'port': '1'}, None),
(0, "00:00:00:00:00:00:00:02", { (0, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'port': '0'}), 'port': '0'}, None),
] ]
self._test_for_meter('switch.port.collision.count', expected_data) self._test_for_meter('switch.port.collision.count', expected_data)
@ -1451,11 +1447,11 @@ class TestOpenDayLightDriverComplex(_Base):
(1, "00:00:00:00:00:00:00:02", { (1, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'table_id': '0'}), 'table_id': '0'}, None),
(1, "00:00:00:00:00:00:00:02", { (1, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'table_id': '1'}), 'table_id': '1'}, None),
] ]
self._test_for_meter('switch.table', expected_data) self._test_for_meter('switch.table', expected_data)
@ -1464,11 +1460,11 @@ class TestOpenDayLightDriverComplex(_Base):
(11, "00:00:00:00:00:00:00:02", { (11, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'table_id': '0'}), 'table_id': '0'}, None),
(20, "00:00:00:00:00:00:00:02", { (20, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'table_id': '1'}), 'table_id': '1'}, None),
] ]
self._test_for_meter('switch.table.active.entries', expected_data) self._test_for_meter('switch.table.active.entries', expected_data)
@ -1477,11 +1473,11 @@ class TestOpenDayLightDriverComplex(_Base):
(816, "00:00:00:00:00:00:00:02", { (816, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'table_id': '0'}), 'table_id': '0'}, None),
(10, "00:00:00:00:00:00:00:02", { (10, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'table_id': '1'}), 'table_id': '1'}, None),
] ]
self._test_for_meter('switch.table.lookup.packets', expected_data) self._test_for_meter('switch.table.lookup.packets', expected_data)
@ -1490,11 +1486,11 @@ class TestOpenDayLightDriverComplex(_Base):
(220, "00:00:00:00:00:00:00:02", { (220, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'table_id': '0'}), 'table_id': '0'}, None),
(5, "00:00:00:00:00:00:00:02", { (5, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
'table_id': '1'}), 'table_id': '1'}, None),
] ]
self._test_for_meter('switch.table.matched.packets', expected_data) self._test_for_meter('switch.table.matched.packets', expected_data)
@ -1518,7 +1514,7 @@ class TestOpenDayLightDriverComplex(_Base):
"flow_hardTimeout": "0", "flow_hardTimeout": "0",
"flow_idleTimeout": "0", "flow_idleTimeout": "0",
"flow_priority": "1" "flow_priority": "1"
}), }, None),
(1, "00:00:00:00:00:00:00:02", { (1, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
@ -1537,7 +1533,7 @@ class TestOpenDayLightDriverComplex(_Base):
"flow_hardTimeout": "0", "flow_hardTimeout": "0",
"flow_idleTimeout": "0", "flow_idleTimeout": "0",
"flow_priority": "1" "flow_priority": "1"
}), }, None),
] ]
self._test_for_meter('switch.flow', expected_data) self._test_for_meter('switch.flow', expected_data)
@ -1560,7 +1556,7 @@ class TestOpenDayLightDriverComplex(_Base):
"flow_actions_port_type": "OF", "flow_actions_port_type": "OF",
"flow_hardTimeout": "0", "flow_hardTimeout": "0",
"flow_idleTimeout": "0", "flow_idleTimeout": "0",
"flow_priority": "1"}), "flow_priority": "1"}, None),
(5648, "00:00:00:00:00:00:00:02", { (5648, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
@ -1578,7 +1574,7 @@ class TestOpenDayLightDriverComplex(_Base):
"flow_actions_port_type": "OF", "flow_actions_port_type": "OF",
"flow_hardTimeout": "0", "flow_hardTimeout": "0",
"flow_idleTimeout": "0", "flow_idleTimeout": "0",
"flow_priority": "1"}), "flow_priority": "1"}, None),
] ]
self._test_for_meter('switch.flow.duration_seconds', expected_data) self._test_for_meter('switch.flow.duration_seconds', expected_data)
@ -1601,7 +1597,7 @@ class TestOpenDayLightDriverComplex(_Base):
"flow_actions_port_type": "OF", "flow_actions_port_type": "OF",
"flow_hardTimeout": "0", "flow_hardTimeout": "0",
"flow_idleTimeout": "0", "flow_idleTimeout": "0",
"flow_priority": "1"}), "flow_priority": "1"}, None),
(200000, "00:00:00:00:00:00:00:02", { (200000, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
@ -1619,7 +1615,7 @@ class TestOpenDayLightDriverComplex(_Base):
"flow_actions_port_type": "OF", "flow_actions_port_type": "OF",
"flow_hardTimeout": "0", "flow_hardTimeout": "0",
"flow_idleTimeout": "0", "flow_idleTimeout": "0",
"flow_priority": "1"}), "flow_priority": "1"}, None),
] ]
self._test_for_meter('switch.flow.duration_nanoseconds', expected_data) self._test_for_meter('switch.flow.duration_nanoseconds', expected_data)
@ -1642,7 +1638,7 @@ class TestOpenDayLightDriverComplex(_Base):
"flow_actions_port_type": "OF", "flow_actions_port_type": "OF",
"flow_hardTimeout": "0", "flow_hardTimeout": "0",
"flow_idleTimeout": "0", "flow_idleTimeout": "0",
"flow_priority": "1"}), "flow_priority": "1"}, None),
(30, "00:00:00:00:00:00:00:02", { (30, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
@ -1660,7 +1656,7 @@ class TestOpenDayLightDriverComplex(_Base):
"flow_actions_port_type": "OF", "flow_actions_port_type": "OF",
"flow_hardTimeout": "0", "flow_hardTimeout": "0",
"flow_idleTimeout": "0", "flow_idleTimeout": "0",
"flow_priority": "1"}), "flow_priority": "1"}, None),
] ]
self._test_for_meter('switch.flow.packets', expected_data) self._test_for_meter('switch.flow.packets', expected_data)
@ -1683,7 +1679,7 @@ class TestOpenDayLightDriverComplex(_Base):
"flow_actions_port_type": "OF", "flow_actions_port_type": "OF",
"flow_hardTimeout": "0", "flow_hardTimeout": "0",
"flow_idleTimeout": "0", "flow_idleTimeout": "0",
"flow_priority": "1"}), "flow_priority": "1"}, None),
(89, "00:00:00:00:00:00:00:02", { (89, "00:00:00:00:00:00:00:02", {
'controller': 'OpenDaylight', 'controller': 'OpenDaylight',
'container': 'default', 'container': 'default',
@ -1701,6 +1697,6 @@ class TestOpenDayLightDriverComplex(_Base):
"flow_actions_port_type": "OF", "flow_actions_port_type": "OF",
"flow_hardTimeout": "0", "flow_hardTimeout": "0",
"flow_idleTimeout": "0", "flow_idleTimeout": "0",
"flow_priority": "1"}), "flow_priority": "1"}, None),
] ]
self._test_for_meter('switch.flow.bytes', expected_data) self._test_for_meter('switch.flow.bytes', expected_data)

View File

@ -16,6 +16,7 @@
import datetime import datetime
from oslo_utils import timeutils from oslo_utils import timeutils
from oslo_utils import uuidutils
from oslotest import base from oslotest import base
from ceilometer.network import statistics from ceilometer.network import statistics
@ -23,6 +24,8 @@ from ceilometer.network.statistics import driver
from ceilometer import sample from ceilometer import sample
from ceilometer import service from ceilometer import service
PROJECT_ID = uuidutils.generate_uuid()
class TestBase(base.BaseTestCase): class TestBase(base.BaseTestCase):
@ -111,46 +114,50 @@ class TestBaseGetSamples(base.BaseTestCase):
return [v for v in self.pollster.get_samples(self, {}, resources)] return [v for v in self.pollster.get_samples(self, {}, resources)]
def _assert_sample(self, s, volume, resource_id, resource_metadata): def _assert_sample(self, s, volume, resource_id, resource_metadata,
project_id):
self.assertEqual('foo', s.name) self.assertEqual('foo', s.name)
self.assertEqual(sample.TYPE_CUMULATIVE, s.type) self.assertEqual(sample.TYPE_CUMULATIVE, s.type)
self.assertEqual('bar', s.unit) self.assertEqual('bar', s.unit)
self.assertEqual(volume, s.volume) self.assertEqual(volume, s.volume)
self.assertIsNone(s.user_id) self.assertIsNone(s.user_id)
self.assertIsNone(s.project_id) self.assertEqual(project_id, s.project_id)
self.assertEqual(resource_id, s.resource_id) self.assertEqual(resource_id, s.resource_id)
self.assertEqual(resource_metadata, s.resource_metadata) self.assertEqual(resource_metadata, s.resource_metadata)
def test_get_samples_one_driver_one_resource(self): def test_get_samples_one_driver_one_resource(self):
fake_driver = self._make_fake_driver((1, 'a', {'spam': 'egg'},), fake_driver = self._make_fake_driver((1, 'a', {'spam': 'egg'},
(2, 'b', None)) PROJECT_ID),
(2, 'b', None, None))
self._setup_ext_mgr(http=fake_driver(self.CONF)) self._setup_ext_mgr(http=fake_driver(self.CONF))
samples = self._get_samples('http://foo') samples = self._get_samples('http://foo')
self.assertEqual(1, len(samples)) self.assertEqual(1, len(samples))
self._assert_sample(samples[0], 1, 'a', {'spam': 'egg'}) self._assert_sample(samples[0], 1, 'a', {'spam': 'egg'}, PROJECT_ID)
def test_get_samples_one_driver_two_resource(self): def test_get_samples_one_driver_two_resource(self):
fake_driver = self._make_fake_driver((1, 'a', {'spam': 'egg'},), fake_driver = self._make_fake_driver((1, 'a', {'spam': 'egg'},
(2, 'b', None), None),
(3, 'c', None)) (2, 'b', None, None),
(3, 'c', None, None))
self._setup_ext_mgr(http=fake_driver(self.CONF)) self._setup_ext_mgr(http=fake_driver(self.CONF))
samples = self._get_samples('http://foo', 'http://bar') samples = self._get_samples('http://foo', 'http://bar')
self.assertEqual(2, len(samples)) self.assertEqual(2, len(samples))
self._assert_sample(samples[0], 1, 'a', {'spam': 'egg'}) self._assert_sample(samples[0], 1, 'a', {'spam': 'egg'}, None)
self._assert_sample(samples[1], 2, 'b', {}) self._assert_sample(samples[1], 2, 'b', {}, None)
def test_get_samples_two_driver_one_resource(self): def test_get_samples_two_driver_one_resource(self):
fake_driver1 = self._make_fake_driver((1, 'a', {'spam': 'egg'},), fake_driver1 = self._make_fake_driver((1, 'a', {'spam': 'egg'},
(2, 'b', None)) None),
(2, 'b', None, None))
fake_driver2 = self._make_fake_driver((11, 'A', None), fake_driver2 = self._make_fake_driver((11, 'A', None, None),
(12, 'B', None)) (12, 'B', None, None))
self._setup_ext_mgr(http=fake_driver1(self.CONF), self._setup_ext_mgr(http=fake_driver1(self.CONF),
https=fake_driver2(self.CONF)) https=fake_driver2(self.CONF))
@ -158,19 +165,20 @@ class TestBaseGetSamples(base.BaseTestCase):
samples = self._get_samples('http://foo') samples = self._get_samples('http://foo')
self.assertEqual(1, len(samples)) self.assertEqual(1, len(samples))
self._assert_sample(samples[0], 1, 'a', {'spam': 'egg'}) self._assert_sample(samples[0], 1, 'a', {'spam': 'egg'}, None)
def test_get_samples_multi_samples(self): def test_get_samples_multi_samples(self):
fake_driver = self._make_fake_driver([(1, 'a', {'spam': 'egg'},), fake_driver = self._make_fake_driver([(1, 'a', {'spam': 'egg'},
(2, 'b', None)]) None),
(2, 'b', None, None)])
self._setup_ext_mgr(http=fake_driver(self.CONF)) self._setup_ext_mgr(http=fake_driver(self.CONF))
samples = self._get_samples('http://foo') samples = self._get_samples('http://foo')
self.assertEqual(2, len(samples)) self.assertEqual(2, len(samples))
self._assert_sample(samples[0], 1, 'a', {'spam': 'egg'}) self._assert_sample(samples[0], 1, 'a', {'spam': 'egg'}, None)
self._assert_sample(samples[1], 2, 'b', {}) self._assert_sample(samples[1], 2, 'b', {}, None)
def test_get_samples_return_none(self): def test_get_samples_return_none(self):
fake_driver = self._make_fake_driver(None) fake_driver = self._make_fake_driver(None)