@@ -19,7 +19,6 @@ def cli(env, guest, migrate_all, host):
1919 """Manage VSIs that require migration. Can migrate Dedicated Host VSIs as well."""
2020
2121 vsi = SoftLayer .VSManager (env .client )
22- pending_filter = {'virtualGuests' : {'pendingMigrationFlag' : {'operation' : 1 }}}
2322 dedicated_filter = {'virtualGuests' : {'dedicatedHost' : {'id' : {'operation' : 'not null' }}}}
2423 mask = """mask[
2524 id, hostname, domain, datacenter, pendingMigrationFlag, powerState,
@@ -28,21 +27,22 @@ def cli(env, guest, migrate_all, host):
2827
2928 # No options, just print out a list of guests that can be migrated
3029 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 )
3231 require_table = formatting .Table (['id' , 'hostname' , 'domain' , 'datacenter' ], title = "Require Migration" )
3332
3433 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 ['pendingMigrationFlag' ]:
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+ ])
4141
42- if require_migration :
42+ if len ( require_table . rows ) > 0 :
4343 env .fout (require_table )
4444 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' )
4646
4747 migrateable = vsi .list_instances (filter = dedicated_filter , mask = mask )
4848 migrateable_table = formatting .Table (['id' , 'hostname' , 'domain' , 'datacenter' , 'Host Name' , 'Host Id' ],
@@ -56,14 +56,20 @@ def cli(env, guest, migrate_all, host):
5656 utils .lookup (vsi_object , 'dedicatedHost' , 'name' ),
5757 utils .lookup (vsi_object , 'dedicatedHost' , 'id' )
5858 ])
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' )
6063 # Migrate all guests with pendingMigrationFlag=True
6164 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
6567 for vsi_object in require_migration :
66- migrate (vsi , vsi_object ['id' ])
68+ if vsi_object ['pendingMigrationFlag' ]:
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' )
6773 # Just migrate based on the options
6874 else :
6975 migrate (vsi , guest , host )
0 commit comments