AppController/djinn.rb
# Given an Array of Strings containing information about machines with
# AppScale installed on them, copies over deployment-specific files
# and starts the AppController on them. Each AppController is then
# instructed to start a specific set of roles, and join the existing
# AppScale deployment.
# Args:
#   node_info: An Array of Strings, where each String has information
#     about a node to add to the current AppScale deployment (e.g.,
#     IP addresses, roles to run).
Given an Array of Strings containing information about machines with
AppScale installed on them, copies over deployment-specific files
and starts the AppController on them. Each AppController is then
instructed to start a specific set of roles, and join the existing
AppScale deployment.
Args:
node_info: An Array of Strings, where each String has information
about a node to add to the current AppScale deployment .
Given an Array of Strings containing information about machines with AppScale installed on them copies over deployment - specific files and starts the AppController on them . Each AppController is then instructed to start a specific set of roles and join the existing AppScale deployment . Args : node_info : An Array of Strings where each String has information about a node to add to the current AppScale deployment .
def add_nodes(node_info)
    keyname = @options['keyname']
    new_nodes = Djinn.convert_location_array_to_class(node_info, keyname)
    new_nodes = convert_fqdns_to_ips(new_nodes)
    @state_change_lock.synchronize {
      @nodes.concat(new_nodes)
      @nodes.uniq!
    }
    Djinn.log_debug("Changed nodes to #{@nodes}")
    update_firewall()
    initialize_nodes_in_parallel(new_nodes)
  end
def add_nodes ( node_info ) keyname = @options [ 'keyname' ] new_nodes = Djinn . convert_location_array_to_class ( node_info , keyname ) new_nodes = convert_fqdns_to_ips ( new_nodes ) @state_change_lock . synchronize { @nodes . concat ( new_nodes ) @nodes . uniq! } Djinn . log_debug ( "Changed nodes to #{@nodes}" ) update_firewall ( ) initialize_nodes_in_parallel ( new_nodes ) end
Given an Array of Strings containing information about machines with
AppScale installed on them, copies over deployment-specific files
and starts the AppController on them.
Given an Array of Strings containing information about machines with AppScale installed on them copies over deployment - specific files and starts the AppController on them .
# Since an external thread can modify @nodes, let's put a lock around # it to prevent race conditions.
node_info
<not_specific>