@@ -19,7 +19,6 @@ def cli(env, guest, migrate_all, host):
19
19
"""Manage VSIs that require migration. Can migrate Dedicated Host VSIs as well."""
20
20
21
21
vsi = SoftLayer .VSManager (env .client )
22
- pending_filter = {'virtualGuests' : {'pendingMigrationFlag' : {'operation' : 1 }}}
23
22
dedicated_filter = {'virtualGuests' : {'dedicatedHost' : {'id' : {'operation' : 'not null' }}}}
24
23
mask = """mask[
25
24
id, hostname, domain, datacenter, pendingMigrationFlag, powerState,
@@ -28,21 +27,22 @@ def cli(env, guest, migrate_all, host):
28
27
29
28
# No options, just print out a list of guests that can be migrated
30
29
if not (guest or migrate_all ):
31
- require_migration = vsi .list_instances (filter = pending_filter , mask = mask )
30
+ require_migration = vsi .list_instances (mask = mask )
32
31
require_table = formatting .Table (['id' , 'hostname' , 'domain' , 'datacenter' ], title = "Require Migration" )
33
32
34
33
for vsi_object in require_migration :
35
- require_table .add_row ([
36
- vsi_object .get ('id' ),
37
- vsi_object .get ('hostname' ),
38
- vsi_object .get ('domain' ),
39
- utils .lookup (vsi_object , 'datacenter' , 'name' )
40
- ])
34
+ if vsi_object .get ('pendingMigrationFlag' , False ):
35
+ require_table .add_row ([
36
+ vsi_object .get ('id' ),
37
+ vsi_object .get ('hostname' ),
38
+ vsi_object .get ('domain' ),
39
+ utils .lookup (vsi_object , 'datacenter' , 'name' )
40
+ ])
41
41
42
- if require_migration :
42
+ if len ( require_table . rows ) > 0 :
43
43
env .fout (require_table )
44
44
else :
45
- click .secho ("No guests require migration at this time" , fg = 'green' )
45
+ click .secho ("No guests require migration at this time. " , fg = 'green' )
46
46
47
47
migrateable = vsi .list_instances (filter = dedicated_filter , mask = mask )
48
48
migrateable_table = formatting .Table (['id' , 'hostname' , 'domain' , 'datacenter' , 'Host Name' , 'Host Id' ],
@@ -56,14 +56,20 @@ def cli(env, guest, migrate_all, host):
56
56
utils .lookup (vsi_object , 'dedicatedHost' , 'name' ),
57
57
utils .lookup (vsi_object , 'dedicatedHost' , 'id' )
58
58
])
59
- env .fout (migrateable_table )
59
+ if len (migrateable_table .rows ) > 0 :
60
+ env .fout (migrateable_table )
61
+ else :
62
+ click .secho ("No dedicated guests to migrate." , fg = 'green' )
60
63
# Migrate all guests with pendingMigrationFlag=True
61
64
elif migrate_all :
62
- require_migration = vsi .list_instances (filter = pending_filter , mask = "mask[id]" )
63
- if not require_migration :
64
- click .secho ("No guests require migration at this time" , fg = 'green' )
65
+ require_migration = vsi .list_instances (mask = "mask[id,pendingMigrationFlag]" )
66
+ migrated = 0
65
67
for vsi_object in require_migration :
66
- migrate (vsi , vsi_object ['id' ])
68
+ if vsi_object .get ('pendingMigrationFlag' , False ):
69
+ migrated = migrated + 1
70
+ migrate (vsi , vsi_object ['id' ])
71
+ if migrated == 0 :
72
+ click .secho ("No guests require migration at this time" , fg = 'green' )
67
73
# Just migrate based on the options
68
74
else :
69
75
migrate (vsi , guest , host )
0 commit comments