Class: CheckCloudyScripts::InitialState

Inherits:
CheckCloudyScriptsState show all
Defined in:
lib/scripts/ec2/check_cloudyscripts.rb

Overview

Initial state: start up AMI in source region

Instance Attribute Summary

Attributes inherited from ScriptExecutionState

#context, #logger

Instance Method Summary collapse

Methods inherited from CheckCloudyScriptsState

load_state, #local_region, #remote_region

Methods inherited from ScriptExecutionState

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

Methods included from StateTransitionHelper

#attach_volume, #check_string_alnum, #connect, #copy_distribution, #create_fs, #create_image_from_instance, #create_labeled_fs, #create_snapshot, #create_volume, #create_volume_from_snapshot, #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_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



73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/scripts/ec2/check_cloudyscripts.rb', line 73

def enter()
  post_message("INFO: Entering InitialState...")

  #@context[:source_instance_id], @context[:source_dns_name], @context[:source_availability_zone], 
  #  @context[:kernel_id], @context[:ramdisk_id], @context[:architecture], @context[:root_device_name] =
  #  launch_instance(@context[:ami_id], @context[:source_key_name], "default")
  start_instance(@context[:source_instance_id])
  res = describe_instance(@context[:source_instance_id])
  puts "DEBUG: instance: #{res.inspect}"
  #@context[:source_instance_id] = "i-0a663643" 
  @context[:source_dns_name] = res[1]
  @context[:source_availability_zone] = res[2]
  @context[:kernel_id] = res[3]
  @context[:ramdisk_id] = res[4]
  @context[:architecture] = res[5]
  @context[:root_device_name] = res[6]

  ec2_helper = Ec2Helper.new(@context[:ec2_api_handler])
  puts "DEBUG: get_attached returns: #{ec2_helper.get_attached_volumes(@context[:source_instance_id]).inspect}"
  @context[:ebs_volume_id] = ec2_helper.get_attached_volumes(@context[:source_instance_id])[0]['volumeId']#TODO: what when more root devices?

  CSTestingState.new(@context)
end