Пример #1
0
    def do(self):
        usageMessage = containerizer_pb2.Usage()
        usageMessage.ParseFromString(ComminicationUtils.receive(self.log))
        containerId = usageMessage.container_id.value

        resourceStatisticsMessage = mesos_pb2.ResourceStatistics()
        resourceStatisticsMessage.timestamp = time.time()

        ComminicationUtils.send(resourceStatisticsMessage.SerializeToString())
        return
Пример #2
0
 def do(self):
     containersCommand = ['lxc-ls', '--active', '-1']
     containersMessage = containerizer_pb2.Containers()
     self.log.debug(containersCommand)
     output = subprocess.check_output(containersCommand)
     self.log.debug("Running containers: %s" % output)
     for line in output.splitlines():
         if len(line) > 0:
             container = containersMessage.containers.add()
             container.value = line
     ComminicationUtils.send(containersMessage.SerializeToString())
Пример #3
0
 def do(self):
     waitMessage = containerizer_pb2.Wait()
     waitMessage.ParseFromString(ComminicationUtils.receive(self.log))
     containerId = waitMessage.container_id.value
     self.log.debug("Waiting for EOL of container with ID: %s" % containerId)
     pidFilePath = "%s%s.pid" % (self.config['tmp_path'], containerId)
     self.log.debug("EX PID file: %s" % pidFilePath)
     self.waitPID(int(PIDLockFile(pidFilePath).read_pid()))
     DestroyArgument.destroy_container(containerId)
     terminationMessage = containerizer_pb2.Termination()
     terminationMessage.killed = False
     terminationMessage.message = ""
     terminationMessage.status = 0
     ComminicationUtils.send(terminationMessage.SerializeToString())