Beispiel #1
0
def launch_topologies(cl_args, topology_file, tmp_dir):
    '''
  Launch topologies
  :param cl_args:
  :param topology_file:
  :param tmp_dir:
  :return:
  '''
    # the submitter would have written the .defn file to the tmp_dir
    defn_files = glob.glob(tmp_dir + '/*.defn')

    if len(defn_files) == 0:
        raise Exception("No topologies found")

    try:
        for defn_file in defn_files:

            # load the topology definition from the file
            topology_defn = topology_pb2.Topology()
            try:
                handle = open(defn_file, "rb")
                topology_defn.ParseFromString(handle.read())
                handle.close()

            except:
                raise Exception(
                    "Could not open and parse topology defn file %s" %
                    defn_file)

            # launch the topology
            try:
                Log.info("Launching topology \'%s\'" % topology_defn.name)
                launch_a_topology(cl_args, tmp_dir, topology_file, defn_file)
                Log.info("Topology \'%s\' launched successfully" %
                         topology_defn.name)

            except Exception as ex:
                Log.exception('Failed to launch topology \'%s\' because %s' %
                              (topology_defn.name, str(ex)))
                raise

    except:
        raise
Beispiel #2
0
def launch_topologies(cl_args, topology_file, tmp_dir):
  '''
  Launch topologies
  :param cl_args:
  :param topology_file:
  :param tmp_dir:
  :return:
  '''
  # the submitter would have written the .defn file to the tmp_dir
  defn_files = glob.glob(tmp_dir + '/*.defn')

  if len(defn_files) == 0:
    raise Exception("No topologies found")

  try:
    for defn_file in defn_files:

      # load the topology definition from the file
      topology_defn = topology_pb2.Topology()
      try:
        handle = open(defn_file, "rb")
        topology_defn.ParseFromString(handle.read())
        handle.close()

      except:
        raise Exception("Could not open and parse topology defn file %s" % defn_file)

      # launch the topology
      try:
        Log.info("Launching topology \'%s\'" % topology_defn.name)
        launch_a_topology(cl_args, tmp_dir, topology_file, defn_file)
        Log.info("Topology \'%s\' launched successfully" % topology_defn.name)

      except Exception as ex:
        Log.exception('Failed to launch topology \'%s\' because %s' % (topology_defn.name, str(ex)))
        raise

  except:
    raise