AppController/djinn.rb
# This method takes a list of IP addresses that correspond to machines
# with AppScale installed on them, that have passwordless SSH already
# set up (presumably by appscale-add-instances). The machines are added
# to the currently running AppScale deployment, and are then assigned
# the roles given to us by the caller.
# Args:
#   ips_to_roles: A Hash that maps machines to the roles that should be
#     started on them. Machines are uniquely identified by their IP
#     address, which is assumed to be reachable from any node in the
#     AppScale deployment.
# Returns:
#   An Array of Strings, where each String contains information about the
#     public IP address, private IP address, and roles that the new machines
#     have taken on.
This method takes a list of IP addresses that correspond to machines
with AppScale installed on them, that have passwordless SSH already
set up (presumably by appscale-add-instances). The machines are added
to the currently running AppScale deployment, and are then assigned
the roles given to us by the caller.
Args:
ips_to_roles: A Hash that maps machines to the roles that should be
started on them. Machines are uniquely identified by their IP
address, which is assumed to be reachable from any node in the
AppScale deployment.
Returns:
An Array of Strings, where each String contains information about the
public IP address, private IP address, and roles that the new machines
have taken on.
This method takes a list of IP addresses that correspond to machines with AppScale installed on them that have passwordless SSH already set up ( presumably by appscale - add - instances ) . The machines are added to the currently running AppScale deployment and are then assigned the roles given to us by the caller . Args : ips_to_roles : A Hash that maps machines to the roles that should be started on them . Machines are uniquely identified by their IP address which is assumed to be reachable from any node in the AppScale deployment . Returns : An Array of Strings where each String contains information about the public IP address private IP address and roles that the new machines have taken on .
def start_new_roles_on_nodes_in_xen(ips_to_roles)
    Djinn.log_info("Starting new roles in virt with following info: " +
      "#{ips_to_roles.inspect}")
    nodes_info = []
    ips_to_roles.each { |ip, roles|
      Djinn.log_info("Will add roles #{roles.join(', ')} to new " +
        "node at IP address #{ip}")
      nodes_info << {
        "public_ip" => ip,
        "private_ip" => ip,
        "jobs" => roles,
        "disk" => nil
      }
    }
    add_nodes(nodes_info)
    update_hosts_info()
    return nodes_info
  end
def start_new_roles_on_nodes_in_xen ( ips_to_roles ) Djinn . log_info ( "Starting new roles in virt with following info: " + "#{ips_to_roles.inspect}" ) nodes_info = [ ] ips_to_roles . each { | ip , roles | Djinn . log_info ( "Will add roles #{roles.join(', ')} to new " + "node at IP address #{ip}" ) nodes_info << { "public_ip" => ip , "private_ip" => ip , "jobs" => roles , "disk" => nil } } add_nodes ( nodes_info ) update_hosts_info ( ) return nodes_info end
This method takes a list of IP addresses that correspond to machines
with AppScale installed on them, that have passwordless SSH already
set up (presumably by appscale-add-instances).
This method takes a list of IP addresses that correspond to machines with AppScale installed on them that have passwordless SSH already set up ( presumably by appscale - add - instances ) .
ips_to_roles
<not_specific>