new_contents: #!/usr/bin/env python
  
  import myriadeploy
  
  import subprocess
  import sys
  
  def host_port_list(workers):
      return [str(x) + ':' + str(y) for (x, y) in workers]
  
  def copy_distribution(config):
      "Copy the distribution (jar and libs and conf) to compute nodes."
      nodes = config['nodes']
      description = config['description']
      path = config['path']
      username = config['username']
  
      for (hostname, _) in nodes:
          if hostname != 'localhost':
              remote_path = "%s@%s:%s/%s-files" % (username, hostname, path, description)
          else:
              remote_path = "%s/%s-files" % (path, description)
          to_copy = ["myriad-0.1.jar"]
          args = ["rsync", "-aLvz"] + to_copy + [remote_path]
          if subprocess.call(args):
              raise Exception("Error copying distribution to %s" % (hostname,))
  
  def main(argv):
      # Usage
      if len(argv) != 2:
          print >> sys.stderr, "Usage: %s <deployment.cfg>" % (argv[0])
          print >> sys.stderr, "       deployment.cfg: a configuration file modeled after deployment.cfg.sample"
          sys.exit(1)
  
      config = myriadeploy.read_config_file(argv[1])
  
      # Step 1: Copy over java, libs, myriad
      copy_distribution(config)
  
  if __name__ == "__main__":
      main(sys.argv)
  
subject: add a script to update jar only. So we don't need to reingest data.