Class: DownloadSnapshot::VolumesAttached
- Inherits:
-
DownloadSnapshotState
- Object
- ScriptExecutionState
- DownloadSnapshotState
- DownloadSnapshot::VolumesAttached
- Defined in:
- lib/scripts/ec2/download_snapshot.rb
Overview
Volumes attached. Create a file-system for the destination one, and mount both.
Instance Attribute Summary
Attributes inherited from ScriptExecutionState
Instance Method Summary collapse
Methods inherited from DownloadSnapshotState
Methods inherited from ScriptExecutionState
#done?, #end_state, #failed?, #get_superclass_name, #initialize, #register_state_change_listener, #start_state_machine, #to_s
Methods included from StateTransitionHelper
#attach_volume, #connect, #copy_distribution, #create_fs, #create_image_from_instance, #create_labeled_fs, #create_security_group_with_rules, #create_snapshot, #create_volume, #create_volume_from_snapshot, #delete_security_group, #delete_snapshot, #delete_volume, #describe_instance, #detach_volume, #determine_file, #disable_ssh_tty, #disconnect, #ec2_handler, #ec2_handler=, #enable_ssh_tty, #get_aws_kernel_image_aki, #get_aws_region_from_endpoint, #get_partition_count, #get_partition_fs_type, #get_partition_fs_type_and_label, #get_partition_label, #get_partition_table, #get_root_device_name, #get_root_partition_fs_type, #get_root_partition_fs_type_and_label, #get_root_partition_label, #get_root_volume_id, #launch_instance, #local_decompress_and_dump_file_to_device, #local_dump_and_compress_device_to_file, #local_dump_device_to_file, #local_dump_file_to_device, #mount_fs, #mount_fs_old, #register_snapshot, #remote_copy, #remote_copy_old, #remote_handler, #remote_handler=, #retrieve_instances, #retrieve_security_groups, #set_partition_table, #shut_down_instance, #snapshot_accessible, #start_instance, #stop_instance, #unmount_fs, #upload_file, #zip_volume
Methods included from VCloudTransitionHelper
Constructor Details
This class inherits a constructor from ScriptExecutionState
Instance Method Details
#enter ⇒ Object
158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 |
# File 'lib/scripts/ec2/download_snapshot.rb', line 158 def enter @context[:script].("Going to prepare the two volumes for the zip-operation.") @context[:result][:os] = connect(@context[:dns_name], @context[:ssh_username], @context[:ssh_keyfile], @context[:ssh_keydata]) # source source_dir = "/mnt/tmp_#{@context[:source_volume_id]}" # detect partition vs volume: simply check if we have several /dev/sdx* entries parts_count = get_partition_count(@context[:source_device]) if parts_count >= 2 @context[:script].("Detected specific volume with a valid partition table on device '#{@context[:source_device]}'...") @context[:source_device] = @context[:source_device] + '1' @context[:script].("Using '#{@context[:source_device]}' as source filesystem") end mount_fs(source_dir, @context[:source_device]) #XXX: filesystem type and device label do not matter as we are creating an archive of the filesystem #@context[:fs_type], @context[:label] = get_partition_fs_type_and_label(source_dir) # target dest_dir = @context[:zip_file_dest] create_fs(@context[:dns_name], @context[:dest_device]) #create_labeled_fs(@context[:dns_name], @context[:dest_device], @context[:fs_type], @context[:label]) mount_fs(dest_dir, @context[:dest_device]) FileSystemsReady.new(@context) end |