110
145
specified Virtual Network.
112
147
LOG.debug("UCSVICPlugin:get_all_ports() called\n")
148
new_network = db.network_create(self.tenant_id, self.net_name)
149
cdb.add_vlan_binding(str(self.vlan_id), self.vlan_name,
150
new_network[const.UUID])
113
151
new_net_dict = self._cisco_ucs_plugin.create_network(
114
self.tenant_id, self.net_name, self.net_id,
115
self.vlan_name, self.vlan_id)
152
self.tenant_id, new_network[const.NETWORKNAME],
153
new_network[const.UUID], self.vlan_name, self.vlan_id,
154
device_ip=self.device_ip)
155
new_port1 = db.port_create(new_network[const.UUID], const.PORT_UP)
116
156
port_dict1 = self._cisco_ucs_plugin.create_port(
117
self.tenant_id, self.net_id, const.PORT_UP,
157
self.tenant_id, self.net_id, const.PORT_UP,
158
new_port1[const.UUID], device_ip=self.device_ip,
159
ucs_inventory=self._ucs_inventory,
160
least_rsvd_blade_dict=self._ucs_inventory.\
161
_get_least_reserved_blade())
162
new_port2 = db.port_create(new_network[const.UUID], const.PORT_UP)
119
163
port_dict2 = self._cisco_ucs_plugin.create_port(
120
self.tenant_id, self.net_id,
164
self.tenant_id, self.net_id, const.PORT_UP,
165
new_port2[const.UUID], device_ip=self.device_ip,
166
ucs_inventory=self._ucs_inventory,
167
least_rsvd_blade_dict=self._ucs_inventory.\
168
_get_least_reserved_blade())
122
169
ports_on_net = self._cisco_ucs_plugin.get_all_ports(
123
self.tenant_id, self.net_id)
170
self.tenant_id, new_net_dict[const.NET_ID],
171
device_ip=self.device_ip,
172
ucs_inventory=self._ucs_inventory,
173
least_rsvd_blade_dict=self._ucs_inventory.\
174
_get_least_reserved_blade())
124
175
port_list = [port_dict1, port_dict2]
125
self.assertTrue(port_list[0] in ports_on_net)
126
self.assertTrue(port_list[1] in ports_on_net)
127
self._cisco_ucs_plugin.delete_port(self.tenant_id, self.net_id,
129
self.tearDownNetworkPort(self.tenant_id, new_net_dict[const.NET_ID],
130
port_dict2[const.PORT_ID])
132
def _test_rename_network(self, new_name):
134
Tests whether symbolic name is updated for the particular
137
LOG.debug("UCSVICTestPlugin:_test_rename_network() called\n")
138
self._cisco_ucs_plugin.create_network(self.tenant_id, self.net_name,
139
self.net_id, self.vlan_name,
141
new_net_dict = self._cisco_ucs_plugin.rename_network(
142
self.tenant_id, self.net_id, new_name)
143
self.assertEqual(new_net_dict[const.NET_NAME], new_name)
144
self.tearDownNetwork(self.tenant_id, self.net_id)
146
def test_rename_network(self):
148
Tests rename network.
150
self._test_rename_network("new_test_network1")
152
def _test_create_port(self, port_state):
176
self.assertTrue(str(ports_on_net[1]) == str(port_list[1]) or
177
str(ports_on_net[1]) == str(port_list[0]))
178
self.assertTrue(str(ports_on_net[0]) == str(port_list[1]) or
179
str(ports_on_net[0]) == str(port_list[0]))
181
self._cisco_ucs_plugin.delete_port(
182
self.tenant_id, new_net_dict[const.NET_ID],
183
port_dict1[const.PORTID], device_ip=self.device_ip,
184
ucs_inventory=self._ucs_inventory,
185
chassis_id=self.chassis_id, blade_id=self.blade_id,
186
blade_intf_distinguished_name=self.\
187
blade_intf_distinguished_name,
188
least_rsvd_blade_dict=self._ucs_inventory.\
189
_get_least_reserved_blade())
190
self.tearDownNetworkPort(
191
self.tenant_id, new_net_dict[const.NET_ID],
192
port_dict2[const.PORTID])
194
def test_create_port(self):
154
196
Tests creation of a port on the specified Virtual Network.
156
198
LOG.debug("UCSVICTestPlugin:_test_create_port() called\n")
157
self._cisco_ucs_plugin.create_network(self.tenant_id, self.net_name,
158
self.net_id, self.vlan_name,
160
new_port_dict = self._cisco_ucs_plugin.create_port(
161
self.tenant_id, self.net_id, port_state, self.port_id)
162
self.assertEqual(new_port_dict[const.PORT_ID], self.port_id)
163
self.assertEqual(new_port_dict[const.PORT_STATE], port_state)
164
self.assertEqual(new_port_dict[const.ATTACHMENT], None)
165
profile_name = self._cisco_ucs_plugin._get_profile_name(self.port_id)
166
new_port_profile = new_port_dict[const.PORT_PROFILE]
167
self.assertEqual(new_port_profile[const.PROFILE_NAME], profile_name)
168
self.assertEqual(new_port_profile[const.PROFILE_VLAN_NAME],
169
conf.DEFAULT_VLAN_NAME)
170
self.assertEqual(new_port_profile[const.PROFILE_VLAN_ID],
171
conf.DEFAULT_VLAN_ID)
172
self.tearDownNetworkPort(self.tenant_id, self.net_id, self.port_id)
174
def test_create_port(self):
178
self._test_create_port(const.PORT_UP)
180
def _test_delete_port(self, port_state):
200
new_network = db.network_create(self.tenant_id, self.net_name)
201
cdb.add_vlan_binding(str(self.vlan_id), self.vlan_name,
202
new_network[const.UUID])
203
new_net_dict = self._cisco_ucs_plugin.create_network(
204
self.tenant_id, new_network[const.NETWORKNAME],
205
new_network[const.UUID], self.vlan_name, self.vlan_id,
206
device_ip=self.device_ip)
207
new_port = db.port_create(new_network[const.UUID], const.PORT_UP)
208
port_dict = self._cisco_ucs_plugin.create_port(
209
self.tenant_id, self.net_id, const.PORT_UP,
210
new_port[const.UUID], device_ip=self.device_ip,
211
ucs_inventory=self._ucs_inventory,
212
least_rsvd_blade_dict=self._ucs_inventory.\
213
_get_least_reserved_blade())
214
self.assertEqual(port_dict[const.PORTID], new_port[const.UUID])
215
profile_name = self._cisco_ucs_plugin.\
216
_get_profile_name(port_dict[const.PORTID])
217
self.assertTrue(profile_name != None)
218
self.tearDownNetworkPort(
219
self.tenant_id, new_net_dict[const.NET_ID],
220
port_dict[const.PORTID])
222
def test_delete_port(self):
182
224
Tests Deletion of a port on a specified Virtual Network,
183
225
if the port contains a remote interface attachment,
185
227
then the port can be deleted.
187
229
LOG.debug("UCSVICTestPlugin:_test_delete_port() called\n")
188
self._cisco_ucs_plugin.create_network(self.tenant_id, self.net_name,
189
self.net_id, self.vlan_name,
191
self._cisco_ucs_plugin.create_port(self.tenant_id, self.net_id,
192
port_state, self.port_id)
193
self._cisco_ucs_plugin.delete_port(self.tenant_id, self.net_id,
195
net = self._cisco_ucs_plugin._get_network(self.tenant_id, self.net_id)
196
self.assertEqual(net[const.NET_PORTS], {})
197
self.tearDownNetwork(self.tenant_id, self.net_id)
199
def test_delete_port(self):
203
self._test_delete_port(const.PORT_UP)
205
def _test_update_port(self, port_state):
207
Tests Updation of the state of a port on the specified Virtual Network.
209
LOG.debug("UCSVICTestPlugin:_test_update_port() called\n")
210
self._cisco_ucs_plugin.create_network(self.tenant_id, self.net_name,
211
self.net_id, self.vlan_name,
213
self._cisco_ucs_plugin.create_port(self.tenant_id, self.net_id,
214
port_state, self.port_id)
215
port = self._cisco_ucs_plugin.update_port(
216
self.tenant_id, self.net_id,
217
self.port_id, port_state)
218
self.assertEqual(port[const.PORT_STATE], port_state)
219
self.tearDownNetworkPort(self.tenant_id, self.net_id, self.port_id)
221
def test_update_port_state_up(self):
223
Tests update port state up
225
self._test_update_port(const.PORT_UP)
227
def test_update_port_state_down(self):
229
Tests update port state down
231
self._test_update_port(const.PORT_DOWN)
233
def _test_get_port_details_state_up(self, port_state):
230
new_network = db.network_create(self.tenant_id, self.net_name)
231
cdb.add_vlan_binding(str(self.vlan_id), self.vlan_name,
232
new_network[const.UUID])
233
new_net_dict = self._cisco_ucs_plugin.create_network(
234
self.tenant_id, new_network[const.NETWORKNAME],
235
new_network[const.UUID], self.vlan_name, self.vlan_id,
236
device_ip=self.device_ip)
237
new_port = db.port_create(new_network[const.UUID], const.PORT_UP)
238
port_dict = self._cisco_ucs_plugin.create_port(
239
self.tenant_id, self.net_id, const.PORT_UP,
240
new_port[const.UUID], device_ip=self.device_ip,
241
ucs_inventory=self._ucs_inventory,
242
least_rsvd_blade_dict=self._ucs_inventory.\
243
_get_least_reserved_blade())
244
port_bind = self._cisco_ucs_plugin.delete_port(
245
self.tenant_id, new_net_dict[const.NET_ID],
246
port_dict[const.PORTID], device_ip=self.device_ip,
247
ucs_inventory=self._ucs_inventory,
248
chassis_id=self.chassis_id, blade_id=self.blade_id,
249
blade_intf_distinguished_name=self.\
250
blade_intf_distinguished_name,
251
least_rsvd_blade_dict=self._ucs_inventory.\
252
_get_least_reserved_blade())
254
self.assertEqual(port_bind[const.PORTID], new_port[const.UUID])
255
self.tearDownNetwork(self.tenant_id, new_net_dict[const.NET_ID])
257
def _test_get_port_details(self, port_state):
235
259
Tests whether user is able to retrieve a remote interface
236
260
that is attached to this particular port when port state is Up.
238
LOG.debug("UCSVICTestPlugin:_test_get_port_details_state_up()" +
240
self._cisco_ucs_plugin.create_network(self.tenant_id, self.net_name,
241
self.net_id, self.vlan_name,
243
self._cisco_ucs_plugin.create_port(self.tenant_id, self.net_id,
244
port_state, self.port_id)
245
port = self._cisco_ucs_plugin.get_port_details(
246
self.tenant_id, self.net_id, self.port_id)
247
self.assertEqual(port[const.PORT_ID], self.port_id)
248
self.assertEqual(port[const.PORT_STATE], port_state)
249
self.assertEqual(port[const.ATTACHMENT], None)
250
new_port_profile = port[const.PORT_PROFILE]
251
profile_name = self._cisco_ucs_plugin._get_profile_name(self.port_id)
252
self.assertEqual(new_port_profile[const.PROFILE_VLAN_NAME],
253
conf.DEFAULT_VLAN_NAME)
254
self.assertEqual(new_port_profile[const.PROFILE_VLAN_ID],
255
conf.DEFAULT_VLAN_ID)
256
self.assertEqual(new_port_profile[const.PROFILE_NAME], profile_name)
257
self.tearDownNetworkPort(self.tenant_id, self.net_id, self.port_id)
262
LOG.debug("UCSVICTestPlugin:_test_get_port_details() called\n")
263
new_network = db.network_create(self.tenant_id, self.net_name)
264
cdb.add_vlan_binding(str(self.vlan_id), self.vlan_name,
265
new_network[const.UUID])
266
new_net_dict = self._cisco_ucs_plugin.create_network(
267
self.tenant_id, new_network[const.NETWORKNAME],
268
new_network[const.UUID], self.vlan_name, self.vlan_id,
269
device_ip=self.device_ip)
270
new_port = db.port_create(new_network[const.UUID], port_state)
271
port_dict = self._cisco_ucs_plugin.create_port(
272
self.tenant_id, self.net_id, port_state,
273
new_port[const.UUID], device_ip=self.device_ip,
274
ucs_inventory=self._ucs_inventory,
275
least_rsvd_blade_dict=self._ucs_inventory.\
276
_get_least_reserved_blade())
259
def _test_show_port_state_down(self, port_state):
261
Tests whether user is able to retrieve a remote interface
262
that is attached to this particular port when port state is down.
264
LOG.debug("UCSVICTestPlugin:_test_show_port_state_down()" +
266
self._cisco_ucs_plugin.create_network(self.tenant_id, self.net_name,
267
self.net_id, self.vlan_name,
269
self._cisco_ucs_plugin.create_port(self.tenant_id, self.net_id,
270
port_state, self.port_id)
271
port = self._cisco_ucs_plugin.get_port_details(self.tenant_id,
274
self.assertEqual(port[const.PORT_ID], self.port_id)
275
self.assertNotEqual(port[const.PORT_STATE], port_state)
276
self.assertEqual(port[const.ATTACHMENT], None)
277
new_port_profile = port[const.PORT_PROFILE]
278
profile_name = self._cisco_ucs_plugin._get_profile_name(self.port_id)
279
self.assertEqual(new_port_profile[const.PROFILE_VLAN_NAME],
280
conf.DEFAULT_VLAN_NAME)
281
self.assertEqual(new_port_profile[const.PROFILE_VLAN_ID],
282
conf.DEFAULT_VLAN_ID)
283
self.assertEqual(new_port_profile[const.PROFILE_NAME], profile_name)
284
self.tearDownNetworkPort(self.tenant_id, self.net_id, self.port_id)
278
port_detail = self._cisco_ucs_plugin.get_port_details(
279
self.tenant_id, new_net_dict[const.NET_ID],
280
port_dict[const.PORTID], device_ip=self.device_ip)
281
self.assertEqual(str(port_dict), str(port_detail))
282
self.tearDownNetworkPort(
283
self.tenant_id, new_net_dict[const.NET_ID],
284
port_dict[const.PORTID])
286
286
def test_get_port_details_state_up(self):
288
Tests get port details state up
290
self._test_get_port_details_state_up(const.PORT_UP)
287
self._test_get_port_details(const.PORT_UP)
292
289
def test_show_port_state_down(self):
294
Tests show port state down
296
self._test_show_port_state_down(const.PORT_DOWN)
290
self._test_get_port_details(const.PORT_DOWN)
298
292
def test_create_port_profile(self):
300
Tests create port profile
302
293
LOG.debug("UCSVICTestPlugin:test_create_port_profile() called\n")
294
new_network = db.network_create(self.tenant_id, self.net_name)
295
cdb.add_vlan_binding(str(self.vlan_id), self.vlan_name,
296
new_network[const.UUID])
297
new_port = db.port_create(new_network[const.UUID], const.PORT_UP)
298
self._cisco_ucs_plugin._set_ucsm(self.device_ip)
303
299
new_port_profile = self._cisco_ucs_plugin._create_port_profile(
304
self.tenant_id, self.net_id, self.port_id,
305
self.vlan_name, self.vlan_id)
306
profile_name = self._cisco_ucs_plugin._get_profile_name(self.port_id)
300
self.tenant_id, new_network[const.UUID],
301
new_port[const.UUID], self.vlan_name,
303
profile_name = self._cisco_ucs_plugin.\
304
_get_profile_name(new_port[const.UUID])
307
305
self.assertEqual(new_port_profile[const.PROFILE_NAME], profile_name)
308
306
self.assertEqual(new_port_profile[const.PROFILE_VLAN_NAME],
310
308
self.assertEqual(new_port_profile[const.PROFILE_VLAN_ID], self.vlan_id)
311
self._cisco_ucs_plugin._delete_port_profile(self.port_id, profile_name)
309
self._cisco_ucs_plugin._delete_port_profile(new_port[const.UUID],
313
312
def test_delete_port_profile(self):
315
Tests delete port profile
317
313
LOG.debug("UCSVICTestPlugin:test_delete_port_profile() called\n")
314
new_network = db.network_create(self.tenant_id, self.net_name)
315
cdb.add_vlan_binding(str(self.vlan_id), self.vlan_name,
316
new_network[const.UUID])
317
new_port = db.port_create(new_network[const.UUID], const.PORT_UP)
318
self._cisco_ucs_plugin._set_ucsm(self.device_ip)
318
319
self._cisco_ucs_plugin._create_port_profile(
319
self.tenant_id, self.net_id, self.port_id, self.vlan_name,
321
profile_name = self._cisco_ucs_plugin._get_profile_name(self.port_id)
320
self.tenant_id, new_network[const.UUID],
321
new_port[const.UUID], self.vlan_name,
323
profile_name = self._cisco_ucs_plugin.\
324
_get_profile_name(new_port[const.UUID])
322
326
counter1 = self._cisco_ucs_plugin._port_profile_counter
323
self._cisco_ucs_plugin._delete_port_profile(self.port_id,
327
self._cisco_ucs_plugin._delete_port_profile(new_port[const.UUID],
325
329
counter2 = self._cisco_ucs_plugin._port_profile_counter
326
self.assertNotEqual(counter1, counter2)
330
self.assertEqual(counter1 - 1, counter2)
328
def _test_plug_interface(self, remote_interface_id):
332
def test_plug_interface(self, remote_interface_id=None,
333
new_vlanid=10, new_vlan_name='new_vlan'):
330
335
Attaches a remote interface to the specified port on the
331
336
specified Virtual Network.
333
338
LOG.debug("UCSVICTestPlugin:_test_plug_interface() called\n")
334
self._cisco_ucs_plugin.create_network(self.tenant_id, self.net_name,
335
self.net_id, self.vlan_name,
337
self._cisco_ucs_plugin.create_port(self.tenant_id, self.net_id,
338
const.PORT_UP, self.port_id)
339
self._cisco_ucs_plugin.plug_interface(self.tenant_id, self.net_id,
342
port = self._cisco_ucs_plugin._get_port(
343
self.tenant_id, self.net_id, self.port_id)
344
self.assertEqual(port[const.ATTACHMENT], remote_interface_id)
345
port_profile = port[const.PORT_PROFILE]
346
new_vlan_name = self._cisco_ucs_plugin._get_vlan_name_for_network(
347
self.tenant_id, self.net_id)
348
new_vlan_id = self._cisco_ucs_plugin._get_vlan_id_for_network(
349
self.tenant_id, self.net_id)
350
self.assertEqual(port_profile[const.PROFILE_VLAN_NAME], new_vlan_name)
351
self.assertEqual(port_profile[const.PROFILE_VLAN_ID], new_vlan_id)
352
self.tearDownNetworkPortInterface(self.tenant_id, self.net_id,
355
def test_plug_interface(self):
357
Tests test plug interface
359
self._test_plug_interface("4")
361
def _test_unplug_interface(self, remote_interface_id):
339
new_network = db.network_create(self.tenant_id, self.net_name)
340
cdb.add_vlan_binding(str(self.vlan_id), self.vlan_name,
341
new_network[const.UUID])
342
new_net_dict = self._cisco_ucs_plugin.create_network(
343
self.tenant_id, new_network[const.NETWORKNAME],
344
new_network[const.UUID], self.vlan_name, self.vlan_id,
345
device_ip=self.device_ip)
346
new_port = db.port_create(new_network[const.UUID], const.PORT_UP)
347
port_dict = self._cisco_ucs_plugin.create_port(
348
self.tenant_id, new_net_dict[const.NET_ID],
349
const.PORT_UP, new_port[const.UUID],
350
device_ip=self.device_ip,
351
ucs_inventory=self._ucs_inventory,
352
least_rsvd_blade_dict=self._ucs_inventory.\
353
_get_least_reserved_blade())
354
cdb.update_vlan_binding(new_network[const.UUID],
355
str(new_vlanid), new_vlan_name)
356
port_bind = self._cisco_ucs_plugin.plug_interface(
357
self.tenant_id, new_net_dict[const.NET_ID],
358
port_dict[const.PORTID], remote_interface_id,
359
device_ip=self.device_ip)
360
self.assertEqual(port_bind[const.VLANNAME], new_vlan_name)
361
self.assertEqual(port_bind[const.VLANID], new_vlanid)
362
self.tearDownNetworkPortInterface(
363
self.tenant_id, new_net_dict[const.NET_ID],
364
new_port[const.UUID])
366
def test_unplug_interface(self, remote_interface_id=None,
367
new_vlanid=10, new_vlan_name='new_vlan'):
363
369
Tests whether remote interface detaches from the specified port on the
364
370
specified Virtual Network.
366
372
LOG.debug("UCSVICTestPlugin:_test_unplug_interface() called\n")
367
self._cisco_ucs_plugin.create_network(self.tenant_id, self.net_name,
368
self.net_id, self.vlan_name,
370
self._cisco_ucs_plugin.create_port(self.tenant_id, self.net_id,
371
const.PORT_UP, self.port_id)
372
self._cisco_ucs_plugin.plug_interface(self.tenant_id, self.net_id,
375
self._cisco_ucs_plugin.unplug_interface(self.tenant_id, self.net_id,
377
port = self._cisco_ucs_plugin._get_port(
378
self.tenant_id, self.net_id, self.port_id)
379
self.assertEqual(port[const.ATTACHMENT], None)
380
port_profile = port[const.PORT_PROFILE]
381
self.assertEqual(port_profile[const.PROFILE_VLAN_NAME],
382
conf.DEFAULT_VLAN_NAME)
383
self.assertEqual(port_profile[const.PROFILE_VLAN_ID],
384
conf.DEFAULT_VLAN_ID)
385
self.tearDownNetworkPort(self.tenant_id, self.net_id, self.port_id)
373
new_network = db.network_create(self.tenant_id, self.net_name)
374
cdb.add_vlan_binding(str(self.vlan_id), self.vlan_name,
375
new_network[const.UUID])
376
new_net_dict = self._cisco_ucs_plugin.create_network(
377
self.tenant_id, new_network[const.NETWORKNAME],
378
new_network[const.UUID], self.vlan_name, self.vlan_id,
379
device_ip=self.device_ip)
380
new_port = db.port_create(new_network[const.UUID], const.PORT_UP)
381
port_dict = self._cisco_ucs_plugin.create_port(
382
self.tenant_id, new_net_dict[const.NET_ID],
383
const.PORT_UP, new_port[const.UUID],
384
device_ip=self.device_ip,
385
ucs_inventory=self._ucs_inventory,
386
least_rsvd_blade_dict=self._ucs_inventory.\
387
_get_least_reserved_blade())
388
cdb.update_vlan_binding(new_network[const.UUID],
389
str(new_vlanid), new_vlan_name)
390
self._cisco_ucs_plugin.plug_interface(
391
self.tenant_id, new_net_dict[const.NET_ID],
392
port_dict[const.PORTID], remote_interface_id,
393
device_ip=self.device_ip)
387
def test_unplug_interface(self):
389
Tests unplug interface
391
self._test_unplug_interface("4")
395
port_bind = self._cisco_ucs_plugin.unplug_interface(
396
self.tenant_id, new_net_dict[const.NET_ID],
397
port_dict[const.PORTID], device_ip=self.device_ip)
398
self.assertEqual(port_bind[const.VLANNAME], self.vlan_name)
399
self.assertEqual(port_bind[const.VLANID], self.vlan_id)
400
self.tearDownNetworkPortInterface(
401
self.tenant_id, new_net_dict[const.NET_ID],
402
new_port[const.UUID])
393
404
def test_get_vlan_name_for_network(self):
395
Tests get vlan name for network
397
405
LOG.debug("UCSVICTestPlugin:test_get_vlan_name_for_network() called\n")
398
net = self._cisco_ucs_plugin.create_network(
399
self.tenant_id, self.net_name, self.net_id,
400
self.vlan_name, self.vlan_id)
401
self.assertEqual(net[const.NET_VLAN_NAME], self.vlan_name)
402
self.tearDownNetwork(self.tenant_id, self.net_id)
406
new_network = db.network_create(self.tenant_id, self.net_name)
407
cdb.add_vlan_binding(str(self.vlan_id), self.vlan_name,
408
new_network[const.UUID])
409
vlan_bind_name = self._cisco_ucs_plugin._get_vlan_name_for_network(
410
self.tenant_id, new_network[const.UUID])
412
self.assertEqual(vlan_bind_name, self.vlan_name)
404
414
def test_get_vlan_id_for_network(self):
406
Tests get vlan id for network
408
415
LOG.debug("UCSVICTestPlugin:test_get_vlan_id_for_network() called\n")
409
net = self._cisco_ucs_plugin.create_network(
410
self.tenant_id, self.net_name, self.net_id, self.vlan_name,
412
self.assertEqual(net[const.NET_VLAN_ID], self.vlan_id)
413
self.tearDownNetwork(self.tenant_id, self.net_id)
415
def test_get_network(self):
419
LOG.debug("UCSVICTestPlugin:test_get_network() called\n")
420
net = self._cisco_ucs_plugin.create_network(
421
self.tenant_id, self.net_name, self.net_id, self.vlan_name,
423
self.assertEqual(net[const.NET_ID], self.net_id)
424
self.tearDownNetwork(self.tenant_id, self.net_id)
426
def test_get_port(self):
430
LOG.debug("UCSVICTestPlugin:test_get_port() called\n")
431
self._cisco_ucs_plugin.create_network(self.tenant_id, self.net_name,
432
self.net_id, self.vlan_name,
434
new_port_dict = self._cisco_ucs_plugin.create_port(
435
self.tenant_id, self.net_id,
436
const.PORT_UP, self.port_id)
437
self.assertEqual(new_port_dict[const.PORT_ID], self.port_id)
438
self.tearDownNetworkPort(self.tenant_id, self.net_id, self.port_id)
440
def test_get_network_NetworkNotFound(self):
442
Tests get network not found
416
new_network = db.network_create(self.tenant_id, self.net_name)
417
cdb.add_vlan_binding(str(self.vlan_id), self.vlan_name,
418
new_network[const.UUID])
419
vlan_bind_id = self._cisco_ucs_plugin._get_vlan_id_for_network(
420
self.tenant_id, new_network[const.UUID])
421
self.assertEqual(str(vlan_bind_id), self.vlan_id)
423
def test_show_network_NetworkNotFound(self):
444
424
self.assertRaises(exc.NetworkNotFound,
445
self._cisco_ucs_plugin._get_network,
446
self.tenant_id, self.net_id)
425
self._cisco_ucs_plugin.get_network_details,
426
self.tenant_id, self.net_id,
427
device_ip=self.device_ip)
448
429
def test_delete_network_NetworkNotFound(self):
450
Tests delete network not found
452
430
self.assertRaises(exc.NetworkNotFound,
453
431
self._cisco_ucs_plugin.delete_network,
454
self.tenant_id, self.net_id)
456
def test_delete_port_PortInUse(self):
458
Tests delete port in use
460
self._test_delete_port_PortInUse("4")
462
def _test_delete_port_PortInUse(self, remote_interface_id):
464
Tests delete port in use
466
self._cisco_ucs_plugin.create_network(self.tenant_id, self.net_name,
467
self.net_id, self.vlan_name,
469
self._cisco_ucs_plugin.create_port(self.tenant_id, self.net_id,
470
const.PORT_UP, self.port_id)
471
self._cisco_ucs_plugin.plug_interface(self.tenant_id, self.net_id,
474
self.assertRaises(exc.PortInUse, self._cisco_ucs_plugin.delete_port,
475
self.tenant_id, self.net_id, self.port_id)
476
self.tearDownNetworkPortInterface(self.tenant_id, self.net_id,
432
self.tenant_id, self.net_id,
433
device_ip=self.device_ip)
479
435
def test_delete_port_PortNotFound(self):
481
Tests delete port not found
483
self._cisco_ucs_plugin.create_network(self.tenant_id, self.net_name,
484
self.net_id, self.vlan_name,
486
self.assertRaises(exc.PortNotFound, self._cisco_ucs_plugin.delete_port,
487
self.tenant_id, self.net_id, self.port_id)
488
self.tearDownNetwork(self.tenant_id, self.net_id)
490
def test_plug_interface_PortInUse(self):
492
Tests plug interface port in use
494
self._test_plug_interface_PortInUse("6", "5")
496
def _test_plug_interface_PortInUse(self, remote_interface_id1,
497
remote_interface_id2):
499
Tests plug interface port in use
501
LOG.debug("UCSVICTestPlugin:_test_plug_interface_PortInUse() called\n")
502
self._cisco_ucs_plugin.create_network(self.tenant_id, self.net_name,
503
self.net_id, self.vlan_name,
505
self._cisco_ucs_plugin.create_port(self.tenant_id, self.net_id,
506
const.PORT_UP, self.port_id)
507
self._cisco_ucs_plugin.plug_interface(self.tenant_id, self.net_id,
509
remote_interface_id1)
510
self.assertRaises(exc.PortInUse, self._cisco_ucs_plugin.plug_interface,
511
self.tenant_id, self.net_id, self.port_id,
512
remote_interface_id2)
513
self.tearDownNetworkPortInterface(self.tenant_id, self.net_id,
516
def test_attachment_exists(self):
518
Tests attachment exists
520
LOG.debug("UCSVICTestPlugin:testValidateAttachmentAlreadyAttached")
521
self._test_attachment_exists("4")
523
def _test_attachment_exists(self, remote_interface_id):
525
Tests attachment exists
527
LOG.debug("UCSVICTestPlugin:_test_validate_attachmentAlreadyAttached")
528
self._cisco_ucs_plugin.create_network(self.tenant_id, self.net_name,
529
self.net_id, self.vlan_name,
531
self._cisco_ucs_plugin.create_port(self.tenant_id, self.net_id,
532
const.PORT_UP, self.port_id)
533
self._cisco_ucs_plugin.plug_interface(self.tenant_id, self.net_id,
537
exc.PortInUse, self._cisco_ucs_plugin._validate_attachment,
538
self.tenant_id, self.net_id, self.port_id, remote_interface_id)
539
self.tearDownNetworkPortInterface(self.tenant_id, self.net_id,
436
new_network = db.network_create(self.tenant_id, self.net_name)
437
cdb.add_vlan_binding(str(self.vlan_id), self.vlan_name,
438
new_network[const.UUID])
439
new_net_dict = self._cisco_ucs_plugin.create_network(
440
self.tenant_id, new_network[const.NETWORKNAME],
441
new_network[const.UUID], self.vlan_name, self.vlan_id,
442
device_ip=self.device_ip)
444
self.assertRaises(c_exc.PortVnicNotFound,
445
self._cisco_ucs_plugin.delete_port,
446
self.tenant_id, new_net_dict[const.NET_ID],
447
self.port_id, device_ip=self.device_ip,
448
ucs_inventory=self._ucs_inventory,
449
chassis_id=self.chassis_id, blade_id=self.blade_id,
450
blade_intf_distinguished_name=self.\
451
blade_intf_distinguished_name,
452
least_rsvd_blade_dict=self._ucs_inventory.\
453
_get_least_reserved_blade())
455
self.tearDownNetwork(self.tenant_id, new_net_dict[const.NET_ID])
458
"""Clear the test environment"""
459
# Remove database contents
542
462
def tearDownNetwork(self, tenant_id, net_id):
546
self._cisco_ucs_plugin.delete_network(tenant_id, net_id)
463
self._cisco_ucs_plugin.delete_network(tenant_id, net_id,
464
device_ip=self.device_ip)
548
466
def tearDownNetworkPort(self, tenant_id, net_id, port_id):
550
Tear down network port
552
self._cisco_ucs_plugin.delete_port(tenant_id, net_id,
467
self._cisco_ucs_plugin.delete_port(
468
tenant_id, net_id, port_id, device_ip=self.device_ip,
469
ucs_inventory=self._ucs_inventory,
470
chassis_id=self.chassis_id, blade_id=self.blade_id,
471
blade_intf_distinguished_name=self.\
472
blade_intf_distinguished_name,
473
least_rsvd_blade_dict=self._ucs_inventory.\
474
_get_least_reserved_blade())
554
475
self.tearDownNetwork(tenant_id, net_id)
556
477
def tearDownNetworkPortInterface(self, tenant_id, net_id, port_id):
558
Tear down network port interface
560
self._cisco_ucs_plugin.unplug_interface(tenant_id, net_id,
478
self._cisco_ucs_plugin.unplug_interface(
479
tenant_id, net_id, port_id,
480
device_ip=self.device_ip)
562
481
self.tearDownNetworkPort(tenant_id, net_id, port_id)