# File lib/deltacloud/drivers/mock/mock_driver.rb, line 193
  def create_instance(credentials, image_id, opts)
    check_credentials( credentials )
    ids = Dir[ "#{@storage_root}/instances/*.yml" ].collect{|e| File.basename( e, ".yml" )}

    count = 0
    while true
      next_id = "inst" + count.to_s
      if not ids.include?(next_id)
        break
      end
      count = count + 1
    end

    realm_id = opts[:realm_id]
    if ( realm_id.nil? )
      realm = realms(credentials).first
      ( realm_id = realm.id ) if realm
    end

    hwp = find_hardware_profile(credentials, opts[:hwp_id], image_id)

    name = opts[:name] || "i-#{Time.now.to_i}"

    instance = {
      :name=>name,
      :state=>'RUNNING',
      :image_id=>image_id,
      :owner_id=>credentials.user,
      :public_addresses=>["#{image_id}.#{next_id}.public.com"],
      :private_addresses=>["#{image_id}.#{next_id}.private.com"],
      :instance_profile => InstanceProfile.new(hwp.name, opts),
      :realm_id=>realm_id,
      :create_image=>true,
      :actions=>instance_actions_for( 'RUNNING' )
    }
    File.open( "#{@storage_root}/instances/#{next_id}.yml", 'w' ) {|f|
      YAML.dump( instance, f )
    }
    instance[:id] = next_id
    Instance.new( instance )
  end