Fix bugs for GET API and tasks for ocata 29/55829/1
authorYun Huang <yun.huang@windriver.com>
Wed, 4 Jul 2018 10:19:30 +0000 (18:19 +0800)
committerYun Huang <yun.huang@windriver.com>
Wed, 4 Jul 2018 10:19:30 +0000 (18:19 +0800)
Change-Id: Ica14eb1cc8735f7cbae8b5226f8630c79317d2e7
Issue-ID: Issue-ID: MULTICLOUD-232
Signed-off-by: Yun Huang <yun.huang@windriver.com>
ocata/ocata/vesagent/tasks.py
ocata/ocata/vesagent/vesagent_ctrl.py
ocata/ocata/vesagent/vespublish.py

index 21f1e20..7dfb61d 100644 (file)
@@ -30,7 +30,7 @@ logger = logging.getLogger(__name__)
 @app.task(bind=True)
 def scheduleBacklogs(self, vimid):
     # make sure only one task runs here
-    logger.info("schedule with vimid:%" % (vimid))
+    # cannot get vimid ? logger.info("schedule with vimid:%" % (vimid))
 
     logger.debug("scheduleBacklogs starts")
     backlog_count, next_time_slot = processBacklogs()
index 43d1ffb..8e5af24 100644 (file)
@@ -164,10 +164,15 @@ class VesAgentCtrl(APIView):
         self._logger.debug("with META: %s" % request.META)
         try:
             # get vesagent_config from cloud region
-            viminfo = extsys.get_vim_by_id(vimid)
-            cloud_extra_info_str = viminfo.get('cloud_extra_info', None)
-            cloud_extra_info = json.loads(cloud_extra_info_str) if cloud_extra_info_str is not None else None
-            vesagent_config = cloud_extra_info.get("vesagent_config", None) if cloud_extra_info is not None else None
+            try:
+                viminfo = extsys.get_vim_by_id(vimid)
+                cloud_extra_info_str = viminfo.get('cloud_extra_info', '')
+                cloud_extra_info = json.loads(cloud_extra_info_str) if cloud_extra_info_str != '' else None
+                vesagent_config = cloud_extra_info.get("vesagent_config", None) if cloud_extra_info is not None else None
+            except Exception as e:
+                #ignore this error
+                self._logger.warn("cloud extra info is provided with data in  bad format: %s" % cloud_extra_info_str)
+                pass
 
             vesagent_backlogs = self.getBacklogsOneVIM(vimid)
 
@@ -363,7 +368,6 @@ class VesAgentCtrl(APIView):
                 if VesAgentBacklogsVimListStr is not None:
                     VesAgentBacklogsVimList = json.loads(VesAgentBacklogsVimListStr)
                     VesAgentBacklogsVimList = [v for v in VesAgentBacklogsVimList if v != vimid]
-                    VesAgentBacklogsVimList = self.vimid_
                     VesAgentBacklogsVimList.append(vimid)
 
                 logger.info("VesAgentBacklogs.vimlist is %s" % VesAgentBacklogsVimList)
index df77e30..ab0155c 100644 (file)
@@ -29,7 +29,7 @@ def publishAnyEventToVES(ves_subscription, event):
 
     if endpoint:
         try:
-            logger.info("publish event to VES: %s", )
+            logger.info("publish event to VES: %s", endpoint)
             headers = {'Content-Type': 'application/json'}
             request = urllib2.Request(url=endpoint, headers=headers, data=json.dumps(event))
             time.sleep(1)