85
65
"out_bandwidth_usage": 0,
88
"name": ("674e553b-8df9-4321-87d9-93ba05b93558:"
68
"name": ("default-domain:demo:"
89
69
"96d49cc3-4e01-40ce-9cac-c0e32642a442")
92
def _test_meter(self, meter_name, expected):
73
"iface_name": ("default-domain:demo:"
74
"96d49cc3-4e01-40ce-9cac-c0e32642a442"),
77
"virtual_network": "default-domain:openstack:public",
79
"ip_address": "1.1.1.1"
84
def fake_port_stats_with_node():
86
"name": "c588ebb7-ae52-485a-9f0c-b2791c5da196",
88
"UveVirtualMachineAgent": {
92
"in_bandwidth_usage": 0,
94
"out_bandwidth_usage": 0,
97
"name": ("default-domain:demo:"
98
"96d49cc3-4e01-40ce-9cac-c0e32642a442")
102
"in_bandwidth_usage": 0,
104
"out_bandwidth_usage": 0,
107
"name": ("default-domain:demo:"
108
"96d49cc3-4e01-40ce-9cac-c0e32642a442")}],
113
def _test_meter(self, meter_name, expected, fake_port_stats=None):
114
if not fake_port_stats:
115
fake_port_stats = self.fake_port_stats()
93
116
with mock.patch('ceilometer.network.'
94
117
'statistics.opencontrail.'
95
118
'client.NetworksAPIClient.'
96
'get_port_statistics',
97
return_value=self.fake_port_stats()) as port_stats:
120
return_value=fake_port_stats) as port_stats:
99
122
samples = self.driver.get_sample_data(meter_name, self.parse_url,
102
125
self.assertEqual(expected, [s for s in samples])
104
net_id = '298a3088-a446-4d5a-bad8-f92ecacd786b'
105
port_stats.assert_called_with(net_id)
127
port_stats.assert_called_with('*')
129
def test_switch_port_receive_packets_with_node(self):
131
'96d49cc3-4e01-40ce-9cac-c0e32642a442',
133
'674e553b-8df9-4321-87d9-93ba05b93558',
134
'domain': 'default-domain',
135
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
137
'project_id': '89271fa581ab4380bf172f868c3615f9',
138
'resource': 'if_stats_list'},
141
'96d49cc3-4e01-40ce-9cac-c0e32642a442',
143
'674e553b-8df9-4321-87d9-93ba05b93558',
144
'domain': 'default-domain',
145
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
147
'project_id': '89271fa581ab4380bf172f868c3615f9',
148
'resource': 'if_stats_list'},
150
self._test_meter('switch.port.receive.packets', expected,
151
self.fake_port_stats_with_node())
107
153
def test_switch_port_receive_packets(self):
110
'96d49cc3-4e01-40ce-9cac-c0e32642a442',
111
{'device_owner_id': '674e553b-8df9-4321-87d9-93ba05b93558',
112
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
113
'tenant_id': '89271fa581ab4380bf172f868c3615f9'},
155
'96d49cc3-4e01-40ce-9cac-c0e32642a442',
157
'674e553b-8df9-4321-87d9-93ba05b93558',
158
'domain': 'default-domain',
159
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
161
'project_id': '89271fa581ab4380bf172f868c3615f9',
162
'resource': 'if_stats_list'},
115
164
self._test_meter('switch.port.receive.packets', expected)
117
166
def test_switch_port_transmit_packets(self):
120
'96d49cc3-4e01-40ce-9cac-c0e32642a442',
121
{'device_owner_id': '674e553b-8df9-4321-87d9-93ba05b93558',
122
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
123
'tenant_id': '89271fa581ab4380bf172f868c3615f9'},
168
'96d49cc3-4e01-40ce-9cac-c0e32642a442',
170
'674e553b-8df9-4321-87d9-93ba05b93558',
171
'domain': 'default-domain',
172
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
174
'project_id': '89271fa581ab4380bf172f868c3615f9',
175
'resource': 'if_stats_list'},
125
177
self._test_meter('switch.port.transmit.packets', expected)
127
179
def test_switch_port_receive_bytes(self):
130
'96d49cc3-4e01-40ce-9cac-c0e32642a442',
131
{'device_owner_id': '674e553b-8df9-4321-87d9-93ba05b93558',
132
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
133
'tenant_id': '89271fa581ab4380bf172f868c3615f9'},
181
'96d49cc3-4e01-40ce-9cac-c0e32642a442',
183
'674e553b-8df9-4321-87d9-93ba05b93558',
184
'domain': 'default-domain',
185
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
187
'project_id': '89271fa581ab4380bf172f868c3615f9',
188
'resource': 'if_stats_list'},
135
190
self._test_meter('switch.port.receive.bytes', expected)
137
192
def test_switch_port_transmit_bytes(self):
140
'96d49cc3-4e01-40ce-9cac-c0e32642a442',
141
{'device_owner_id': '674e553b-8df9-4321-87d9-93ba05b93558',
142
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
143
'tenant_id': '89271fa581ab4380bf172f868c3615f9'},
145
self._test_meter('switch.port.transmit.bytes', expected)
194
'96d49cc3-4e01-40ce-9cac-c0e32642a442',
196
'674e553b-8df9-4321-87d9-93ba05b93558',
197
'domain': 'default-domain',
198
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
200
'project_id': '89271fa581ab4380bf172f868c3615f9',
201
'resource': 'if_stats_list'},
203
self._test_meter('switch.port.transmit.bytes', expected)
205
def test_switch_port_receive_packets_fip(self):
206
self.params['resource'] = ['fip_stats_list']
208
'96d49cc3-4e01-40ce-9cac-c0e32642a442',
210
'674e553b-8df9-4321-87d9-93ba05b93558',
211
'domain': 'default-domain',
212
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
214
'project_id': '89271fa581ab4380bf172f868c3615f9',
215
'resource': 'fip_stats_list'},
217
self._test_meter('switch.port.receive.packets', expected)
219
def test_switch_port_transmit_packets_fip(self):
220
self.params['resource'] = ['fip_stats_list']
222
'96d49cc3-4e01-40ce-9cac-c0e32642a442',
224
'674e553b-8df9-4321-87d9-93ba05b93558',
225
'domain': 'default-domain',
226
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
228
'project_id': '89271fa581ab4380bf172f868c3615f9',
229
'resource': 'fip_stats_list'},
231
self._test_meter('switch.port.transmit.packets', expected)
233
def test_switch_port_receive_bytes_fip(self):
234
self.params['resource'] = ['fip_stats_list']
236
'96d49cc3-4e01-40ce-9cac-c0e32642a442',
238
'674e553b-8df9-4321-87d9-93ba05b93558',
239
'domain': 'default-domain',
240
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
242
'project_id': '89271fa581ab4380bf172f868c3615f9',
243
'resource': 'fip_stats_list'},
245
self._test_meter('switch.port.receive.bytes', expected)
247
def test_switch_port_transmit_bytes_fip(self):
248
self.params['resource'] = ['fip_stats_list']
250
'96d49cc3-4e01-40ce-9cac-c0e32642a442',
252
'674e553b-8df9-4321-87d9-93ba05b93558',
253
'domain': 'default-domain',
254
'network_id': '298a3088-a446-4d5a-bad8-f92ecacd786b',
256
'project_id': '89271fa581ab4380bf172f868c3615f9',
257
'resource': 'fip_stats_list'},
259
self._test_meter('switch.port.transmit.bytes', expected)
261
def test_switch_port_transmit_bytes_non_existing_network(self):
262
self.params['virtual_network'] = ['aaa']
263
self.params['resource'] = ['fip_stats_list']
264
self._test_meter('switch.port.transmit.bytes', [])