improved CLI
authorpeusterm <manuel.peuster@uni-paderborn.de>
Wed, 13 Jan 2016 13:53:30 +0000 (14:53 +0100)
committerpeusterm <manuel.peuster@uni-paderborn.de>
Wed, 13 Jan 2016 13:53:30 +0000 (14:53 +0100)
emuvim/api/zerorpcapi.py
emuvim/dcemulator/net.py
emuvim/dcemulator/node.py
emuvim/example_topology.py

index ecf822c..c6b9c70 100644 (file)
@@ -7,7 +7,7 @@ import logging
 import threading
 import zerorpc
 
-logging.basicConfig(level=logging.DEBUG)
+logging.basicConfig(level=logging.INFO)
 
 
 class ZeroRpcApiEndpoint(object):
@@ -66,7 +66,7 @@ class MultiDatacenterApi(object):
             return ex.message
 
     def compute_action_stop(self, dc_name, compute_name):
-        logging.info("RPC CALL: compute stop")
+        logging.debug("RPC CALL: compute stop")
         try:
             return self.dcs.get(dc_name).stopCompute(compute_name)
         except Exception as ex:
@@ -74,7 +74,7 @@ class MultiDatacenterApi(object):
             return ex.message
 
     def compute_list(self, dc_name):
-        logging.info("RPC CALL: compute list")
+        logging.debug("RPC CALL: compute list")
         try:
             if dc_name is None:
                 # return list with all compute nodes in all DCs
@@ -92,7 +92,7 @@ class MultiDatacenterApi(object):
             return ex.message
 
     def compute_status(self, dc_name, compute_name):
-        logging.info("RPC CALL: compute status")
+        logging.debug("RPC CALL: compute status")
         try:
             return self.dcs.get(
                 dc_name).containers.get(compute_name).getStatus()
index 1762e0b..83ac619 100644 (file)
@@ -114,6 +114,15 @@ class DCNetwork(object):
     def getNextIp(self):
         return self.mnet.getNextIp()
 
+    def getAllContainers(self):
+        """
+        Returns a list with all containers within all data centers.
+        """
+        all_containers = []
+        for dc in self.dcs.itervalues():
+            all_containers += dc.listCompute()
+        return all_containers
+
     def start(self):
         # start
         for dc in self.dcs.itervalues():
index 0d96033..de64d69 100644 (file)
@@ -100,7 +100,7 @@ class Datacenter(object):
         """
         assert name is not None
         # no duplications
-        if name in self.containers:
+        if name in [c.name for c in self.net.getAllContainers()]:
             raise Exception("Container with name %s already exists." % name)
         # set default parameter
         if image is None:
index 109808c..0117fa7 100644 (file)
@@ -20,7 +20,7 @@ import logging
 from dcemulator.net import DCNetwork
 from api.zerorpcapi import ZeroRpcApiEndpoint
 
-logging.basicConfig(level=logging.DEBUG)
+logging.basicConfig(level=logging.INFO)
 
 
 def create_topology1():