<s> """<STR_LIT>""" <EOL> from cafe . drivers . unittest . decorators import ( <EOL> data_driven_test , DataDrivenFixture ) <EOL> from cloudcafe . compute . composites import ComputeAdminComposite <EOL> from cloudroast . blockstorage . volumes_api . integration . compute . fixtures import ComputeIntegrationTestFixture <EOL> from cloudroast . blockstorage . volumes_api . integration . compute . datasets import bfv_datasets <EOL> @ DataDrivenFixture <EOL> class BootFromVolumeLiveMigrateIntegration ( ComputeIntegrationTestFixture ) : <EOL> @ data_driven_test ( bfv_datasets . flavors_by_images_by_volume_type ) <EOL> def ddtest_live_migrate_bfv_server_with_seven_attached_volumes ( <EOL> self , image , flavor , volume_type ) : <EOL> os_type = self . get_image_os_type ( image . id ) <EOL> volume = self . create_volume_from_image_test ( volume_type , image ) <EOL> bdm = self . compute . servers . behaviors . create_block_device_mapping_v1 ( <EOL> volume . id_ , True , '<STR_LIT>' , volume . size , volume_type . id_ ) <EOL> self . server = self . servers . behaviors . create_active_server ( <EOL> name = self . random_server_name ( ) , flavor_ref = flavor . id , <EOL> block_device_mapping = bdm ) . entity <EOL> self . server_conn = self . connect_to_instance ( <EOL> self . server , os_type = os_type ) <EOL> extra_volumes = [ ] <EOL> for x in range ( <NUM_LIT:0> , <NUM_LIT:7> ) : <EOL> bonus_volume = self . new_volume ( ) <EOL> resp = self . compute . volume_attachments . behaviors . _validated_volume_attach ( self . server . id , bonus_volume . id_ ) <EOL> extra_volumes . append ( ( bonus_volume , resp . entity ) ) <EOL> for extra_volume , attachment in extra_volumes : <EOL> self . compute . volume_attachments . behaviors . wait_for_attachment_to_propagate ( <EOL> attachment . id_ , self . server . id ) <EOL> self . compute . volume_attachments . behaviors . verify_volume_status_progression_during_attachment ( <EOL> extra_volume . id_ ) <EOL> resp = self . server_conn . create_large_file ( multiplier = <NUM_LIT:0.1> ) <EOL> self . assertTrue ( resp , "<STR_LIT>" ) <EOL> self . compute_admin = ComputeAdminComposite ( ) <EOL> self . compute_admin . servers . client . live_migrate_server ( <EOL> self . server . id , block_migration = True , disk_over_commit = False ) <EOL> self . compute_admin . servers . behaviors . wait_for_server_status ( <EOL> self . server . id , "<STR_LIT>" ) <EOL> for extra_volume , attachment in extra_volumes : <EOL> self . compute . volume_attachments . behaviors . _get_volume_status ( <EOL> extra_volume . id_ ) </s>
