221
221
self.assertContains(res, "instances__revert")
222
222
self.assertNotContains(res, "instances__migrate")
224
@test.create_stubs({api.nova: ('hypervisor_list',
224
@test.create_stubs({api.nova: ('host_list',
226
226
def test_instance_live_migrate_get(self):
227
227
server = self.servers.first()
228
228
api.nova.server_get(IsA(http.HttpRequest), server.id) \
229
229
.AndReturn(server)
230
api.nova.hypervisor_list(IsA(http.HttpRequest)) \
231
.AndReturn(self.hypervisors.list())
230
api.nova.host_list(IsA(http.HttpRequest)) \
231
.AndReturn(self.hosts.list())
233
233
self.mox.ReplayAll()
253
253
self.assertRedirectsNoFollow(res, INDEX_URL)
255
@test.create_stubs({api.nova: ('hypervisor_list',
255
@test.create_stubs({api.nova: ('host_list',
257
257
def test_instance_live_migrate_list_hypervisor_get_exception(self):
258
258
server = self.servers.first()
259
259
api.nova.server_get(IsA(http.HttpRequest), server.id) \
260
260
.AndReturn(server)
261
api.nova.hypervisor_list(IsA(http.HttpRequest)) \
261
api.nova.host_list(IsA(http.HttpRequest)) \
262
262
.AndRaise(self.exceptions.nova)
264
264
self.mox.ReplayAll()
269
269
self.assertRedirectsNoFollow(res, INDEX_URL)
271
@test.create_stubs({api.nova: ('hypervisor_list',
271
@test.create_stubs({api.nova: ('host_list',
273
273
def test_instance_live_migrate_list_hypervisor_without_current(self):
274
274
server = self.servers.first()
275
275
api.nova.server_get(IsA(http.HttpRequest), server.id) \
276
276
.AndReturn(server)
277
api.nova.hypervisor_list(IsA(http.HttpRequest)) \
278
.AndReturn(self.hypervisors.list())
277
api.nova.host_list(IsA(http.HttpRequest)) \
278
.AndReturn(self.hosts.list())
280
280
self.mox.ReplayAll()
283
283
args=[server.id])
284
284
res = self.client.get(url)
285
285
self.assertNotContains(
286
res, "<option value=\"devstack003\">devstack003</option>")
286
res, "<option value=\"instance-host\">devstack004</option>")
287
287
self.assertContains(
288
288
res, "<option value=\"devstack001\">devstack001</option>")
289
self.assertNotContains(
290
290
res, "<option value=\"devstack002\">devstack002</option>")
292
res, "<option value=\"devstack003\">devstack003</option>")
292
@test.create_stubs({api.nova: ('hypervisor_list',
294
@test.create_stubs({api.nova: ('host_list',
294
296
'server_live_migrate',)})
295
297
def test_instance_live_migrate_post(self):
296
298
server = self.servers.first()
297
hypervisor = self.hypervisors.first()
298
host = hypervisor.hypervisor_hostname
299
host = self.hosts.first().host_name
300
301
api.nova.server_get(IsA(http.HttpRequest), server.id) \
301
302
.AndReturn(server)
302
api.nova.hypervisor_list(IsA(http.HttpRequest)) \
303
.AndReturn(self.hypervisors.list())
303
api.nova.host_list(IsA(http.HttpRequest)) \
304
.AndReturn(self.hosts.list())
304
305
api.nova.server_live_migrate(IsA(http.HttpRequest), server.id, host,
305
306
block_migration=False,
306
307
disk_over_commit=False) \
314
315
self.assertNoFormErrors(res)
315
316
self.assertRedirectsNoFollow(res, INDEX_URL)
317
@test.create_stubs({api.nova: ('hypervisor_list',
318
@test.create_stubs({api.nova: ('host_list',
319
320
'server_live_migrate',)})
320
321
def test_instance_live_migrate_post_api_exception(self):
321
322
server = self.servers.first()
322
hypervisor = self.hypervisors.first()
323
host = hypervisor.hypervisor_hostname
323
host = self.hosts.first().host_name
325
325
api.nova.server_get(IsA(http.HttpRequest), server.id) \
326
326
.AndReturn(server)
327
api.nova.hypervisor_list(IsA(http.HttpRequest)) \
328
.AndReturn(self.hypervisors.list())
327
api.nova.host_list(IsA(http.HttpRequest)) \
328
.AndReturn(self.hosts.list())
329
329
api.nova.server_live_migrate(IsA(http.HttpRequest), server.id, host,
330
330
block_migration=False,
331
331
disk_over_commit=False) \