Class: DownloadSnapshot::VolumesAttached

Inherits:
DownloadSnapshotState show all
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

#context, #logger

Instance Method Summary collapse

Methods inherited from DownloadSnapshotState

load_state

Methods inherited from ScriptExecutionState

#done?, #end_state, #failed?, #initialize, #register_state_change_listener, #start_state_machine, #to_s

Methods included from StateTransitionHelper

#attach_volume, #connect, #copy_distribution, #create_fs, #create_labeled_fs, #create_snapshot, #create_volume, #create_volume_from_snapshot, #delete_snapshot, #delete_volume, #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_fs_type, #get_partition_fs_type_and_label, #get_partition_label, #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, #mount_fs, #mount_fs_old, #register_snapshot, #remote_copy, #remote_copy_old, #remote_handler, #remote_handler=, #retrieve_instances, #retrieve_security_groups, #shut_down_instance, #snapshot_accessible, #start_instance, #stop_instance, #unmount_fs, #upload_file, #zip_volume

Methods included from VCloudTransitionHelper

#retrieve_ip_services

Constructor Details

This class inherits a constructor from ScriptExecutionState

Instance Method Details

#enterObject



119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# File 'lib/scripts/ec2/download_snapshot.rb', line 119

def enter
  @context[:script].post_message("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]}"
  mount_fs(source_dir, @context[:source_device])
  @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