Fix pep8 errors in windriver plugin 37/73637/1
authorXiaohua Zhang <xiaohua.zhang@windriver.com>
Tue, 27 Nov 2018 10:31:54 +0000 (10:31 +0000)
committerXiaohua Zhang <xiaohua.zhang@windriver.com>
Tue, 27 Nov 2018 10:31:54 +0000 (10:31 +0000)
Fix errors in vesagent

Change-Id: I9cb0afda7a17a08246fcee8439e1ef2775609948
Issue-ID: MULTICLOUD-420
Signed-off-by: Xiaohua Zhang <xiaohua.zhang@windriver.com>
windriver/titanium_cloud/vesagent/__init__.py
windriver/titanium_cloud/vesagent/event_domain/__init__.py
windriver/titanium_cloud/vesagent/event_domain/fault_vm.py
windriver/titanium_cloud/vesagent/tasks.py
windriver/titanium_cloud/vesagent/tests/__init__.py
windriver/titanium_cloud/vesagent/tests/tests_fault_vm.py
windriver/titanium_cloud/vesagent/tests/tests_tasks.py
windriver/titanium_cloud/vesagent/tests/tests_vesagent_ctrl.py
windriver/titanium_cloud/vesagent/tests/tests_vespublish.py
windriver/titanium_cloud/vesagent/vesagent_ctrl.py
windriver/titanium_cloud/vesagent/vespublish.py

index e4fe7a0..5f8b0d1 100644 (file)
@@ -13,4 +13,3 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-
index e4fe7a0..5f8b0d1 100644 (file)
@@ -13,4 +13,3 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-
index c3f878e..3c93c32 100644 (file)
 import logging
 import json
 import uuid
-import time
 
 from django.conf import settings
 from titanium_cloud.vesagent.vespublish import publishAnyEventToVES
 from common.utils import restcall
-from common.msapi.helper import Helper as helper
+from common.msapi.helper import Helper as helper
 
 import datetime
 import time
+
+logger = logging.getLogger(__name__)
+
+
 def get_epoch_now_usecond():
     '''
     get epoch timestamp of this moment in usecond
@@ -35,18 +38,16 @@ def get_epoch_now_usecond():
     epoch_time_sec = time.mktime(now_time.timetuple())
     return int(epoch_time_sec * 1e6 + now_time.microsecond)
 
-logger = logging.getLogger(__name__)
-
-### build backlog with domain:"fault", type:"vm"
 
 def buildBacklog_fault_vm(vimid, backlog_input):
+    # build backlog with domain:"fault", type:"vm"
 
     logger.info("vimid: %s" % vimid)
     logger.debug("with input: %s" % backlog_input)
 
     try:
 
-        #must resolve the tenant id and server id while building the backlog
+        # must resolve the tenant id and server id while building the backlog
         tenant_id = backlog_input.get("tenantid", None)
         server_id = backlog_input.get("sourceid", None)
         server_name = backlog_input.get("source", None)
@@ -59,10 +60,11 @@ def buildBacklog_fault_vm(vimid, backlog_input):
             # resolve tenant_name to tenant_id
             auth_api_url_format = "/{f_vim_id}/identity/v2.0/tokens"
             auth_api_url = auth_api_url_format.format(f_vim_id=vimid)
-            auth_api_data = { "auth":{"tenantName": tenant_name} }
+            auth_api_data = {"auth": {"tenantName": tenant_name}}
             base_url = settings.MULTICLOUD_PREFIX
             extra_headers = ''
-            ret = restcall._call_req(base_url, "", "", 0, auth_api_url, "POST", extra_headers, json.dumps(auth_api_data))
+            ret = restcall._call_req(base_url, "", "", 0, auth_api_url,
+                                     "POST", extra_headers, json.dumps(auth_api_data))
             if ret[0] > 0 or ret[1] is None:
                 logger.critical("call url %s failed with status %s" % (auth_api_url, ret[0]))
                 return None
@@ -96,7 +98,7 @@ def buildBacklog_fault_vm(vimid, backlog_input):
                                 % (server_name, tenant_id))
                     return None
 
-        #m.c. proxied OpenStack API
+        # m.c. proxied OpenStack API
         if server_id is None and server_name is None:
             # monitor all VMs of the specified VIMs since no server_id can be resolved
             api_url_fmt = "/{f_vim_id}/compute/v2.1/{f_tenant_id}/servers/detail"
@@ -105,11 +107,12 @@ def buildBacklog_fault_vm(vimid, backlog_input):
         else:
             api_url_fmt = "/{f_vim_id}/compute/v2.1/{f_tenant_id}/servers/{f_server_id}"
             api_url = api_url_fmt.format(
-                            f_vim_id=vimid, f_tenant_id=tenant_id, f_server_id=server_id)
+                f_vim_id=vimid, f_tenant_id=tenant_id, f_server_id=server_id)
 
         backlog = {
-            "backlog_uuid":str(uuid.uuid3(uuid.NAMESPACE_URL,
-                                          str("%s-%s-%s"%(vimid, tenant_id,server_id)))),
+            "backlog_uuid":
+                str(uuid.uuid3(uuid.NAMESPACE_URL,
+                               str("%s-%s-%s" % (vimid, tenant_id, server_id)))),
             "tenant_id": tenant_id,
             "server_id": server_id,
             "api_method": "GET",
@@ -125,8 +128,7 @@ def buildBacklog_fault_vm(vimid, backlog_input):
     return backlog
 
 
-### process backlog with domain:"fault", type:"vm"
-
+# process backlog with domain:"fault", type:"vm"
 
 
 def processBacklog_fault_vm(vesAgentConfig, vesAgentState, oneBacklog):
@@ -140,13 +142,15 @@ def processBacklog_fault_vm(vesAgentConfig, vesAgentState, oneBacklog):
         # get token
         auth_api_url_format = "/{f_vim_id}/identity/v2.0/tokens"
         auth_api_url = auth_api_url_format.format(f_vim_id=vimid)
-        auth_api_data = { "auth":{"tenantName": tenant_name} }
+        auth_api_data = {"auth": {"tenantName": tenant_name}}
         base_url = settings.MULTICLOUD_PREFIX
         extra_headers = ''
         logger.debug("authenticate with url:%s" % auth_api_url)
-        ret = restcall._call_req(base_url, "", "", 0, auth_api_url, "POST", extra_headers, json.dumps(auth_api_data))
+        ret = restcall._call_req(base_url, "", "", 0, auth_api_url,
+                                 "POST", extra_headers, json.dumps(auth_api_data))
         if ret[0] > 0 or ret[1] is None:
-            logger.critical("call url %s failed with status %s" % (auth_api_url, ret[0]))
+            logger.critical("call url %s failed with status %s" %
+                            (auth_api_url, ret[0]))
 
         token_resp = json.JSONDecoder().decode(ret[1])
         logger.debug("authenticate resp: %s" % token_resp)
@@ -158,8 +162,9 @@ def processBacklog_fault_vm(vesAgentConfig, vesAgentState, oneBacklog):
         base_url = settings.MULTICLOUD_PREFIX
         data = ''
         extra_headers = {'X-Auth-Token': token}
-        #which one is correct? extra_headers = {'HTTP_X_AUTH_TOKEN': token}
-        logger.debug("authenticate with url:%s, header:%s" % (auth_api_url,extra_headers))
+        # which one is correct? extra_headers = {'HTTP_X_AUTH_TOKEN': token}
+        logger.debug("authenticate with url:%s, header:%s" %
+                     (auth_api_url, extra_headers))
         ret = restcall._call_req(base_url, "", "", 0, api_link, method, extra_headers, data)
         if ret[0] > 0 or ret[1] is None:
             logger.critical("call url %s failed with status %s" % (api_link, ret[0]))
@@ -171,10 +176,10 @@ def processBacklog_fault_vm(vesAgentConfig, vesAgentState, oneBacklog):
         backlog_uuid = oneBacklog.get("backlog_uuid", None)
         backlogState = vesAgentState.get("%s" % (backlog_uuid), None)
 
-        #iterate all VMs
+        # iterate all VMs
         all_events = []
-        server_1 = server_resp.get("server",None) # in case querying single server
-        for s in server_resp.get("servers",[server_1] if server_1 else []):
+        server_1 = server_resp.get("server", None)  # in case querying single server
+        for s in server_resp.get("servers", [server_1] if server_1 else []):
             server_id = s.get("id", None)
             server_name = s.get("name", None)
             if not server_id:
@@ -195,7 +200,7 @@ def processBacklog_fault_vm(vesAgentConfig, vesAgentState, oneBacklog):
             publishAnyEventToVES(ves_subscription, all_events)
             # store the latest data into cache, never expire
 
-    except  Exception as e:
+    except Exception as e:
         logger.error("exception:%s" % str(e))
         return
 
@@ -204,7 +209,6 @@ def processBacklog_fault_vm(vesAgentConfig, vesAgentState, oneBacklog):
 
 
 def data2event_fault_vm(vimid, oneBacklog, last_event, vm_data):
-
     VES_EVENT_VERSION = 3.0
     VES_EVENT_FAULT_VERSION = 2.0
     VES_EVENT_FAULT_DOMAIN = "fault"
@@ -221,7 +225,7 @@ def data2event_fault_vm(vimid, oneBacklog, last_event, vm_data):
             priority = "High"
             eventSeverity = "CRITICAL"
             alarmCondition = "Guest_Os_Failure"
-            vfStatus = "Active"
+            vfStatus = "Active"
             specificProblem = "Fault_MultiCloud_VMFailure"
             eventType = ''
             reportingEntityId = vimid
@@ -239,17 +243,16 @@ def data2event_fault_vm(vimid, oneBacklog, last_event, vm_data):
                 # not assert alarm yet, so no need to clear it
                 return None
 
-
             eventName = "Fault_MultiCloud_VMFailureCleared"
             priority = "Normal"
             eventSeverity = "NORMAL"
             alarmCondition = "Vm_Restart"
-            vfStatus = "Active"
+            vfStatus = "Active"
             specificProblem = "Fault_MultiCloud_VMFailure"
             eventType = ''
             reportingEntityId = vimid
             reportingEntityName = vimid
-            sequence = 1 #last_event['event']['commonEventHeader']['sequence'] + 1
+            sequence = 1  # last_event['event']['commonEventHeader']['sequence'] + 1
 
             startEpochMicrosec = last_event['event']['commonEventHeader']['startEpochMicrosec']
             lastEpochMicrosec = get_epoch_now_usecond()
index ac760ec..d4e67c9 100644 (file)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-### VES agent workers
+# VES agent workers
 from __future__ import absolute_import, unicode_literals
 from titanium_cloud.celery import app
-import os
+import os
 import logging
 import json
 import time
@@ -49,24 +49,24 @@ def processBacklogs():
     backlog_count = 0
     next_time_slot = 10
     try:
-        #get the whole list of backlog
+        # get the whole list of backlog
         VesAgentBacklogsVimListStr = cache.get("VesAgentBacklogs.vimlist")
         if VesAgentBacklogsVimListStr is None:
             logger.warn("VesAgentBacklogs.vimlist cannot be found in cache")
-            return 0,next_time_slot
+            return 0, next_time_slot
 
-        logger.debug("VesAgentBacklogs.vimlist: %s" % (VesAgentBacklogsVimListStr))
+        logger.debug("VesAgentBacklogs.vimlist: %s" % VesAgentBacklogsVimListStr)
 
         backlogsAllVims = json.loads(VesAgentBacklogsVimListStr)
         if backlogsAllVims is None:
             logger.warn("VesAgentBacklogs.vimlist is empty")
-            return 0,next_time_slot
+            return 0, next_time_slot
 
         for vimid in backlogsAllVims:
-            #iterate each backlogs
-            backlog_count_tmp,next_time_slot_tmp = processBacklogsOfOneVIM(vimid)
+            # iterate each backlogs
+            backlog_count_tmp, next_time_slot_tmp = processBacklogsOfOneVIM(vimid)
             logger.debug("vimid:%s, backlog_count,next_time_slot:%s,%s"
-                         %( vimid,backlog_count_tmp,next_time_slot_tmp ))
+                         % (vimid, backlog_count_tmp, next_time_slot_tmp))
             backlog_count += backlog_count_tmp
             next_time_slot = next_time_slot_tmp if next_time_slot > next_time_slot_tmp else next_time_slot
             pass
@@ -89,45 +89,45 @@ def processBacklogsOfOneVIM(vimid):
     next_time_slot = 10
 
     try:
-        vesAgentConfigStr = cache.get("VesAgentBacklogs.config.%s" % (vimid))
+        vesAgentConfigStr = cache.get("VesAgentBacklogs.config.%s" % vimid)
         if vesAgentConfigStr is None:
-            logger.warn("VesAgentBacklogs.config.%s cannot be found in cache" % (vimid))
-            return 0,next_time_slot
+            logger.warn("VesAgentBacklogs.config.%s cannot be found in cache" % vimid)
+            return 0, next_time_slot
 
         logger.debug("VesAgentBacklogs.config.%s: %s" % (vimid, vesAgentConfigStr))
 
         vesAgentConfig = json.loads(vesAgentConfigStr)
         if vesAgentConfig is None:
-            logger.warn("VesAgentBacklogs.config.%s corrupts" % (vimid))
-            return 0,next_time_slot
-
+            logger.warn("VesAgentBacklogs.config.%s corrupts" % vimid)
+            return 0, next_time_slot
 
-        vesAgentStateStr = cache.get("VesAgentBacklogs.state.%s" % (vimid))
+        vesAgentStateStr = cache.get("VesAgentBacklogs.state.%s" % vimid)
         vesAgentState = json.loads(vesAgentStateStr) if vesAgentStateStr is not None else {}
 
         ves_info = vesAgentConfig.get("subscription", None)
         if ves_info is None:
             logger.warn("VesAgentBacklogs.config.%s: ves subscription corrupts:%s" % (vimid, vesAgentConfigStr))
-            return 0,next_time_slot
+            return 0, next_time_slot
 
         poll_interval_default = vesAgentConfig.get("poll_interval_default", None)
         if poll_interval_default is None:
             logger.warn("VesAgentBacklogs.config.%s: poll_interval_default corrupts:%s" % (vimid, vesAgentConfigStr))
-            return 0,next_time_slot
+            return 0, next_time_slot
 
         if poll_interval_default == 0:
             # invalid interval value
             logger.warn("VesAgentBacklogs.config.%s: poll_interval_default invalid:%s" % (vimid, vesAgentConfigStr))
-            return 0,next_time_slot
+            return 0, next_time_slot
 
         backlogs_list = vesAgentConfig.get("backlogs", None)
         if backlogs_list is None:
             logger.warn("VesAgentBacklogs.config.%s: backlogs corrupts:%s" % (vimid, vesAgentConfigStr))
-            return 0,next_time_slot
+            return 0, next_time_slot
 
         for backlog in backlogs_list:
-            backlog_count_tmp, next_time_slot_tmp = processOneBacklog(
-                               vesAgentConfig, vesAgentState, poll_interval_default, backlog)
+            backlog_count_tmp, next_time_slot_tmp = \
+                processOneBacklog(
+                    vesAgentConfig, vesAgentState, poll_interval_default, backlog)
             logger.debug("processOneBacklog return with %s,%s" % (backlog_count_tmp, next_time_slot_tmp))
             backlog_count += backlog_count_tmp
             next_time_slot = next_time_slot_tmp if next_time_slot > next_time_slot_tmp else next_time_slot
@@ -146,7 +146,7 @@ def processBacklogsOfOneVIM(vimid):
 
 def processOneBacklog(vesAgentConfig, vesAgentState, poll_interval_default, oneBacklog):
     logger.info("Process one backlog")
-    #logger.debug("vesAgentConfig:%s, vesAgentState:%s, poll_interval_default:%s, oneBacklog: %s"
+    # logger.debug("vesAgentConfig:%s, vesAgentState:%s, poll_interval_default:%s, oneBacklog: %s"
     #             % (vesAgentConfig, vesAgentState, poll_interval_default, oneBacklog))
 
     backlog_count = 1
@@ -167,8 +167,10 @@ def processOneBacklog(vesAgentConfig, vesAgentState, poll_interval_default, oneB
             vesAgentState["%s" % (backlog_uuid)] = initialBacklogState
             backlogState = initialBacklogState
 
-        time_expiration = backlogState["timestamp"] \
-                          + oneBacklog.get("poll_interval", poll_interval_default)
+        time_expiration = \
+            backlogState["timestamp"] + \
+            oneBacklog.get("poll_interval", poll_interval_default)
+
         # check if poll interval expires
         if timestamp_now < time_expiration:
             # not expired yet
@@ -193,4 +195,3 @@ def processOneBacklog(vesAgentConfig, vesAgentState, poll_interval_default, oneB
 
     logger.info("return")
     return backlog_count, next_time_slot
-
index e4fe7a0..5f8b0d1 100644 (file)
@@ -13,4 +13,3 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-
index 7cbc222..880c1d5 100644 (file)
@@ -21,46 +21,110 @@ from titanium_cloud.vesagent import vespublish
 from common.utils import restcall
 from titanium_cloud.vesagent.event_domain import fault_vm
 
-MOCK_TOKEN_RESPONSE = {"access":{"token":{"issued_at":"2018-05-10T16:56:56.000000Z","expires":"2018-05-10T17:56:56.000000Z","id":"4a832860dd744306b3f66452933f939e","tenant":{"domain":{"id":"default","name":"Default"},"enabled":"true","id":"0e148b76ee8c42f78d37013bf6b7b1ae","name":"VIM"}},"serviceCatalog":[],"user":{"domain":{"id":"default","name":"Default"},"id":"ba76c94eb5e94bb7bec6980e5507aae2","name":"demo"}}}
-MOCK_SERVERS_GET_RESPONSE = {"servers": [{"id": "c4b575fa-ed85-4642-ab4b-335cb5744721", "links": [{"href": "http://10.12.25.2:8774/v2.1/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721", "rel": "self"}, {"href": "http://10.12.25.2:8774/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721", "rel": "bookmark"}], "name": "onap-aaf"}]}
-MOCK_BACKLOG_INPUT = {"backlog_uuid": "ce2d7597-22e1-4239-890f-bc303bd67076",
-                                              "server_id": "c4b575fa-ed85-4642-ab4b-335cb5744721",
-                                              "tenant_id": "0e148b76ee8c42f78d37013bf6b7b1ae", "api_method": "GET",
-                                              "source": "onap-aaf",
-                                              "api_link": "/onaplab_RegionOne/compute/v2.1/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721",
-                                              "domain": "fault", "type": "vm", "tenant": "VIM"}
-
-MOCK_BACKLOG_INPUT_wo_tenant_id = {"backlog_uuid": "ce2d7597-22e1-4239-890f-bc303bd67076",
-                                              "server_id": "c4b575fa-ed85-4642-ab4b-335cb5744721",
-                                              "source": "onap-aaf",
-                                              "api_link": "/onaplab_RegionOne/compute/v2.1/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721",
-                                              "domain": "fault", "type": "vm", "tenant": "VIM"}
-MOCK_BACKLOG_INPUT_wo_tenant = {"backlog_uuid": "ce2d7597-22e1-4239-890f-bc303bd67076",
-                                              "server_id": "c4b575fa-ed85-4642-ab4b-335cb5744721",
-                                              "source": "onap-aaf",
-                                              "domain": "fault", "type": "vm", }
-
-MOCK_BACKLOG_INPUT_wo_server_id = {"source": "onap-aaf",
-                                              "domain": "fault", "type": "vm", "tenant": "VIM"}
+MOCK_TOKEN_RESPONSE = {
+    "access":
+        {"token": {"issued_at": "2018-05-10T16:56:56.000000Z",
+                   "expires": "2018-05-10T17:56:56.000000Z",
+                   "id": "4a832860dd744306b3f66452933f939e",
+                   "tenant": {"domain": {"id": "default", "name": "Default"},
+                              "enabled": "true", "id": "0e148b76ee8c42f78d37013bf6b7b1ae", "name": "VIM"}},
+         "serviceCatalog": [], "user": {"domain": {"id": "default", "name": "Default"},
+                                        "id": "ba76c94eb5e94bb7bec6980e5507aae2", "name": "demo"}}
+}
+
+MOCK_SERVERS_GET_RESPONSE = {
+    "servers": [
+        {"id": "c4b575fa-ed85-4642-ab4b-335cb5744721",
+         "links": [{
+             "href": "http://10.12.25.2:8774/v2.1/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721",
+             "rel": "self"},
+             {
+                 "href": "http://10.12.25.2:8774/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721",
+                 "rel": "bookmark"}],
+         "name": "onap-aaf"}]
+}
+
+MOCK_BACKLOG_INPUT = {
+    "backlog_uuid": "ce2d7597-22e1-4239-890f-bc303bd67076",
+    "server_id": "c4b575fa-ed85-4642-ab4b-335cb5744721",
+    "tenant_id": "0e148b76ee8c42f78d37013bf6b7b1ae", "api_method": "GET",
+    "source": "onap-aaf",
+    "api_link":
+        "/onaplab_RegionOne/compute/v2.1/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721",
+    "domain": "fault", "type": "vm", "tenant": "VIM"
+}
+
+MOCK_BACKLOG_INPUT_wo_tenant_id = {
+    "backlog_uuid": "ce2d7597-22e1-4239-890f-bc303bd67076",
+    "server_id": "c4b575fa-ed85-4642-ab4b-335cb5744721",
+    "source": "onap-aaf",
+    "api_link":
+        "/onaplab_RegionOne/compute/v2.1/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721",
+    "domain": "fault", "type": "vm", "tenant": "VIM"
+}
+
+MOCK_BACKLOG_INPUT_wo_tenant = {
+    "backlog_uuid": "ce2d7597-22e1-4239-890f-bc303bd67076",
+    "server_id": "c4b575fa-ed85-4642-ab4b-335cb5744721",
+    "source": "onap-aaf",
+    "domain": "fault", "type": "vm", }
+
+MOCK_BACKLOG_INPUT_wo_server_id = {
+    "source": "onap-aaf",
+    "domain": "fault", "type": "vm", "tenant": "VIM"}
 
 MOCK_BACKLOG_INPUT_wo_server = {"domain": "fault", "type": "vm", "tenant": "VIM"}
 
-MOCK_SERVER_GET_RESPONSE = {"server": {"wrs-res:topology": "node:0,  4096MB, pgsize:2M, vcpus:0,1, pol:sha", "OS-EXT-STS:task_state": None, "addresses": {"oam_onap_BTHY": [{"OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:6c:0d:6b", "version": 4, "addr": "10.0.13.1", "OS-EXT-IPS:type": "fixed"}, {"OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:6c:0d:6b", "version": 4, "addr": "10.12.5.185", "OS-EXT-IPS:type": "floating"}]}, "links": [], "image": {"id": "6e219e86-cd94-4989-9119-def29aa10b12", "links": []}, "wrs-if:nics": [], "wrs-sg:server_group": "", "OS-EXT-STS:vm_state": "active", "OS-SRV-USG:launched_at": "2018-04-26T08:01:28.000000", "flavor": {}, "id": "c4b575fa-ed85-4642-ab4b-335cb5744721", "security_groups": [{"name": "onap_sg_BTHY"}], "user_id": "ba76c94eb5e94bb7bec6980e5507aae2", "OS-DCF:diskConfig": "MANUAL", "accessIPv4": "", "accessIPv6": "", "progress": 0, "OS-EXT-STS:power_state": 1, "OS-EXT-AZ:availability_zone": "nova", "metadata": {}, "status": "ACTIVE", "updated": "2018-04-26T08:01:28Z", "hostId": "17acc9f2ae4f618c314e4cdf0c206585b895bc72a9ec57e57b254133", "OS-SRV-USG:terminated_at": None, "wrs-res:pci_devices": "", "wrs-res:vcpus": [2, 2, 2], "key_name": "onap_key_BTHY", "name": "onap-aaf", "created": "2018-04-26T08:01:20Z", "tenant_id": "0e148b76ee8c42f78d37013bf6b7b1ae", "os-extended-volumes:volumes_attached": [], "config_drive": ""}}
+MOCK_SERVER_GET_RESPONSE = {
+    "server": {"wrs-res:topology": "node:0,  4096MB, pgsize:2M, vcpus:0,1, pol:sha",
+               "OS-EXT-STS:task_state": None,
+               "addresses": {
+                   "oam_onap_BTHY": [{"OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:6c:0d:6b",
+                                      "version": 4, "addr": "10.0.13.1", "OS-EXT-IPS:type": "fixed"},
+                                     {"OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:6c:0d:6b", "version": 4,
+                                      "addr": "10.12.5.185", "OS-EXT-IPS:type": "floating"}]},
+               "links": [], "image": {"id": "6e219e86-cd94-4989-9119-def29aa10b12", "links": []},
+               "wrs-if:nics": [], "wrs-sg:server_group": "",
+               "OS-EXT-STS:vm_state": "active", "OS-SRV-USG:launched_at": "2018-04-26T08:01:28.000000",
+               "flavor": {}, "id": "c4b575fa-ed85-4642-ab4b-335cb5744721",
+               "security_groups": [{"name": "onap_sg_BTHY"}],
+               "user_id": "ba76c94eb5e94bb7bec6980e5507aae2",
+               "OS-DCF:diskConfig": "MANUAL", "accessIPv4": "",
+               "accessIPv6": "", "progress": 0, "OS-EXT-STS:power_state": 1,
+               "OS-EXT-AZ:availability_zone": "nova", "metadata": {},
+               "status": "ACTIVE", "updated": "2018-04-26T08:01:28Z",
+               "hostId": "17acc9f2ae4f618c314e4cdf0c206585b895bc72a9ec57e57b254133",
+               "OS-SRV-USG:terminated_at": None, "wrs-res:pci_devices": "",
+               "wrs-res:vcpus": [2, 2, 2], "key_name": "onap_key_BTHY", "name": "onap-aaf",
+               "created": "2018-04-26T08:01:20Z", "tenant_id": "0e148b76ee8c42f78d37013bf6b7b1ae",
+               "os-extended-volumes:volumes_attached": [], "config_drive": ""}}
 
 MOCK_SERVER_GET_RESPONSE_empty = {}
 
-MOCK_vesAgentConfig = {"backlogs": [{"backlog_uuid": "ce2d7597-22e1-4239-890f-bc303bd67076",
-                                              "server_id": "c4b575fa-ed85-4642-ab4b-335cb5744721",
-                                              "tenant_id": "0e148b76ee8c42f78d37013bf6b7b1ae", "api_method": "GET",
-                                              "source": "onap-aaf",
-                                              "api_link": "/onaplab_RegionOne/compute/v2.1/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721",
-                                              "domain": "fault", "type": "vm", "tenant": "VIM"}],
-                                "poll_interval_default": 10, "vimid": "windriver-hudson-dc_RegionOne",
-                                "ves_subscription": {"username": "user", "password": "password",
-                                                 "endpoint": "http://127.0.0.1:9005/sample"}}
+MOCK_vesAgentConfig = {
+    "backlogs": [
+        {"backlog_uuid": "ce2d7597-22e1-4239-890f-bc303bd67076",
+         "server_id": "c4b575fa-ed85-4642-ab4b-335cb5744721",
+         "tenant_id": "0e148b76ee8c42f78d37013bf6b7b1ae", "api_method": "GET",
+         "source": "onap-aaf",
+         "api_link":
+             "/onaplab_RegionOne/compute/v2.1/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721",
+         "domain": "fault", "type": "vm", "tenant": "VIM"}
+    ],
+    "poll_interval_default": 10, "vimid": "windriver-hudson-dc_RegionOne",
+    "ves_subscription": {"username": "user", "password": "password",
+                         "endpoint": "http://127.0.0.1:9005/sample"}}
 
 MOCK_vesAgentState = {"ce2d7597-22e1-4239-890f-bc303bd67076": {"timestamp": 1525975400}}
-MOCK_oneBacklog = {"backlog_uuid": "ce2d7597-22e1-4239-890f-bc303bd67076", "server_id": "c4b575fa-ed85-4642-ab4b-335cb5744721", "tenant_id": "0e148b76ee8c42f78d37013bf6b7b1ae", "api_method": "GET", "source": "onap-aaf", "api_link": "/onaplab_RegionOne/compute/v2.1/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721", "domain": "fault", "type": "vm", "tenant": "VIM"}
+MOCK_oneBacklog = {
+    "backlog_uuid": "ce2d7597-22e1-4239-890f-bc303bd67076",
+    "server_id": "c4b575fa-ed85-4642-ab4b-335cb5744721",
+    "tenant_id": "0e148b76ee8c42f78d37013bf6b7b1ae",
+    "api_method": "GET", "source": "onap-aaf",
+    "api_link":
+        "/onaplab_RegionOne/compute/v2.1/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721",
+    "domain": "fault", "type": "vm", "tenant": "VIM"}
+
 
 class FaultVMTest(unittest.TestCase):
     def setUp(self):
@@ -72,98 +136,93 @@ class FaultVMTest(unittest.TestCase):
     def test_get_epoch_now_usecond(self):
         epoch = fault_vm.get_epoch_now_usecond()
         self.assertGreater(epoch, 1)
-        pass
-
 
     @mock.patch.object(restcall, '_call_req')
     def test_buildBacklog_fault_vm(self, mock_call_req):
-
-        mock_call_req.side_effect= [
+        mock_call_req.side_effect = [
             (0, json.dumps(MOCK_TOKEN_RESPONSE), "MOCKED response body"),
             (0, json.dumps(MOCK_SERVERS_GET_RESPONSE), "MOCKED response body")
-                ]
-        backlog = fault_vm.buildBacklog_fault_vm(vimid="windriver-hudson-dc_RegionOne",
-                                                        backlog_input = MOCK_BACKLOG_INPUT)
+        ]
+        backlog = fault_vm.buildBacklog_fault_vm(
+            vimid="windriver-hudson-dc_RegionOne",
+            backlog_input=MOCK_BACKLOG_INPUT)
+
         self.assertIsNotNone(backlog)
-        pass
 
     @mock.patch.object(restcall, '_call_req')
     def test_buildBacklog_fault_vm_wo_tenant_id(self, mock_call_req):
-
-        mock_call_req.side_effect= [
+        mock_call_req.side_effect = [
             (0, json.dumps(MOCK_TOKEN_RESPONSE), "MOCKED response body"),
             (0, json.dumps(MOCK_SERVERS_GET_RESPONSE), "MOCKED response body")
-                ]
-        backlog = fault_vm.buildBacklog_fault_vm(vimid="windriver-hudson-dc_RegionOne",
-                                                        backlog_input = MOCK_BACKLOG_INPUT_wo_tenant_id)
+        ]
+        backlog = fault_vm.buildBacklog_fault_vm(
+            vimid="windriver-hudson-dc_RegionOne",
+            backlog_input=MOCK_BACKLOG_INPUT_wo_tenant_id)
         self.assertIsNotNone(backlog)
-        pass
-
 
     @mock.patch.object(restcall, '_call_req')
     def test_buildBacklog_fault_vm_wo_tenant(self, mock_call_req):
-
-        mock_call_req.side_effect= [
+        mock_call_req.side_effect = [
             (1, json.dumps(MOCK_TOKEN_RESPONSE), "MOCKED response body: failed"),
             (0, json.dumps(MOCK_SERVERS_GET_RESPONSE), "MOCKED response body")
-                ]
-        backlog = fault_vm.buildBacklog_fault_vm(vimid="windriver-hudson-dc_RegionOne",
-                                                        backlog_input = MOCK_BACKLOG_INPUT_wo_tenant)
+        ]
+        backlog = fault_vm.buildBacklog_fault_vm(
+            vimid="windriver-hudson-dc_RegionOne",
+            backlog_input=MOCK_BACKLOG_INPUT_wo_tenant)
         self.assertIsNone(backlog)
-        pass
 
     @mock.patch.object(restcall, '_call_req')
     def test_buildBacklog_fault_vm_wo_server_id(self, mock_call_req):
-
-        mock_call_req.side_effect= [
+        mock_call_req.side_effect = [
             (0, json.dumps(MOCK_TOKEN_RESPONSE), "MOCKED response body"),
             (0, json.dumps(MOCK_SERVERS_GET_RESPONSE), "MOCKED response body")
-                ]
-        backlog = fault_vm.buildBacklog_fault_vm(vimid="windriver-hudson-dc_RegionOne",
-                                                        backlog_input = MOCK_BACKLOG_INPUT_wo_server_id)
+        ]
+        backlog = fault_vm.buildBacklog_fault_vm(
+            vimid="windriver-hudson-dc_RegionOne",
+            backlog_input=MOCK_BACKLOG_INPUT_wo_server_id)
         self.assertIsNotNone(backlog)
-        pass
 
     @mock.patch.object(restcall, '_call_req')
     def test_buildBacklog_fault_vm_wo_server(self, mock_call_req):
-
-        mock_call_req.side_effect= [
+        mock_call_req.side_effect = [
             (0, json.dumps(MOCK_TOKEN_RESPONSE), "MOCKED response body"),
             (0, json.dumps(MOCK_SERVERS_GET_RESPONSE), "MOCKED response body")
-                ]
-        backlog = fault_vm.buildBacklog_fault_vm(vimid="windriver-hudson-dc_RegionOne",
-                                                        backlog_input = MOCK_BACKLOG_INPUT_wo_server)
+        ]
+        backlog = fault_vm.buildBacklog_fault_vm(
+            vimid="windriver-hudson-dc_RegionOne",
+            backlog_input=MOCK_BACKLOG_INPUT_wo_server)
         self.assertIsNotNone(backlog)
-        pass
 
     @mock.patch.object(vespublish, 'publishAnyEventToVES')
     @mock.patch.object(restcall, '_call_req')
-    def test_processBacklog_fault_vm(self, mock_call_req, mock_publishAnyEventToVES):
-
-        mock_call_req.side_effect= [
+    def test_processBacklog_fault_vm(
+            self, mock_call_req, mock_publishAnyEventToVES):
+        mock_call_req.side_effect = [
             (0, json.dumps(MOCK_TOKEN_RESPONSE), "MOCKED response body"),
             (0, json.dumps(MOCK_SERVER_GET_RESPONSE), "MOCKED response body")
-                ]
+        ]
         mock_publishAnyEventToVES.return_value = "mocked return value"
 
-        result = fault_vm.processBacklog_fault_vm(vesAgentConfig=MOCK_vesAgentConfig,
-                                                   vesAgentState=MOCK_vesAgentState,
-                                                   oneBacklog=MOCK_oneBacklog)
+        result = fault_vm.processBacklog_fault_vm(
+            vesAgentConfig=MOCK_vesAgentConfig,
+            vesAgentState=MOCK_vesAgentState,
+            oneBacklog=MOCK_oneBacklog)
         self.assertIsNone(result)
         pass
 
     @mock.patch.object(vespublish, 'publishAnyEventToVES')
     @mock.patch.object(restcall, '_call_req')
-    def test_processBacklog_fault_vm_wo_server(self, mock_call_req, mock_publishAnyEventToVES):
-
-        mock_call_req.side_effect= [
+    def test_processBacklog_fault_vm_wo_server(
+            self, mock_call_req, mock_publishAnyEventToVES):
+        mock_call_req.side_effect = [
             (0, json.dumps(MOCK_TOKEN_RESPONSE), "MOCKED response body"),
             (0, json.dumps(MOCK_SERVER_GET_RESPONSE_empty), "MOCKED response body")
-                ]
+        ]
         mock_publishAnyEventToVES.return_value = "mocked return value"
 
-        result = fault_vm.processBacklog_fault_vm(vesAgentConfig=MOCK_vesAgentConfig,
-                                                   vesAgentState=MOCK_vesAgentState,
-                                                   oneBacklog=MOCK_oneBacklog)
+        result = fault_vm.processBacklog_fault_vm(
+            vesAgentConfig=MOCK_vesAgentConfig,
+            vesAgentState=MOCK_vesAgentState,
+            oneBacklog=MOCK_oneBacklog)
+
         self.assertIsNone(result)
-        pass
index fef8e8e..64b8d3d 100644 (file)
@@ -17,7 +17,7 @@ import mock
 import unittest
 import json
 from django.test import Client
-from rest_framework import status
+from rest_framework import status
 
 from django.core.cache import cache
 from common.msapi import extsys
@@ -25,8 +25,6 @@ from common.msapi import extsys
 from titanium_cloud.vesagent import tasks
 from titanium_cloud.vesagent.event_domain import fault_vm
 
-
-
 MOCK_VIM_INFO = {
     "createTime": "2017-04-01 02:22:27",
     "domain": "Default",
@@ -41,13 +39,15 @@ MOCK_VIM_INFO = {
     "vimId": "windriver-hudson-dc_RegionOne",
     'cloud_owner': 'windriver-hudson-dc',
     'cloud_region_id': 'RegionOne',
-    'cloud_extra_info': '{"vesagent_config":{"backlogs":[{"source":"onap-aaf","domain":"fault","type":"vm","tenant":"VIM"}],"poll_interval_default":10,"ves_subscription":{"username":"user","password":"password","endpoint":"http://127.0.0.1:9005/sample"}}}',
+    'cloud_extra_info':
+        '{"vesagent_config":{"backlogs":[{"source":"onap-aaf","domain":"fault","type":"vm","tenant":"VIM"}],"poll_interval_default":10,"ves_subscription":{"username":"user","password":"password","endpoint":"http://127.0.0.1:9005/sample"}}}',
     'insecure': 'True',
 }
 
 COUNT_TIME_SLOT1 = (1, 1)
 COUNT_TIME_SLOT2 = (0, 1)
 
+
 class VesTaskTest(unittest.TestCase):
     def setUp(self):
         self.client = Client()
@@ -59,78 +59,85 @@ class VesTaskTest(unittest.TestCase):
     @mock.patch.object(extsys, 'get_vim_by_id')
     def test_tasks_scheduleBacklogs(self, mock_get_vim_by_id, mock_processBacklogs):
         mock_get_vim_by_id.return_value = MOCK_VIM_INFO
-        mock_processBacklogs.side_effect= [
-                    COUNT_TIME_SLOT1,
-                    COUNT_TIME_SLOT2
-                ]
+        mock_processBacklogs.side_effect = [
+            COUNT_TIME_SLOT1,
+            COUNT_TIME_SLOT2
+        ]
         result = tasks.scheduleBacklogs(vimid="windriver-hudson-dc_RegionOne")
         self.assertEquals(None, result)
-        pass
 
     @mock.patch.object(tasks, 'processBacklogsOfOneVIM')
     @mock.patch.object(cache, 'get')
-    def test_tasks_processBacklogs(self, mock_cache_get, mock_tasks_processBacklogsOfOneVIM):
+    def test_tasks_processBacklogs(
+            self, mock_cache_get, mock_tasks_processBacklogsOfOneVIM):
         mock_VesAgentBacklogs_vimlist = ["windriver-hudson-dc_RegionOne"]
         COUNT_TIME_SLOT_ONE_VIM = (1, 1)
         mock_tasks_processBacklogsOfOneVIM.return_value = COUNT_TIME_SLOT_ONE_VIM
-        mock_cache_get.side_effect= [
-                    json.dumps(mock_VesAgentBacklogs_vimlist),
-                ]
+        mock_cache_get.side_effect = [
+            json.dumps(mock_VesAgentBacklogs_vimlist),
+        ]
         result = tasks.processBacklogs()
         self.assertEquals(COUNT_TIME_SLOT_ONE_VIM, result)
-        pass
 
     @mock.patch.object(tasks, 'processOneBacklog')
     @mock.patch.object(cache, 'set')
     @mock.patch.object(cache, 'get')
-    def test_tasks_processBacklogsOfOneVIM(self, mock_cache_get, mock_cache_set, mock_tasks_processOneBacklog):
-        mock_VesAgentBacklogs_vimlist = ["windriver-hudson-dc_RegionOne"]
-        mock_vesagent_config = {"backlogs": [{"backlog_uuid": "ce2d7597-22e1-4239-890f-bc303bd67076",
-                                              "server_id": "c4b575fa-ed85-4642-ab4b-335cb5744721",
-                                              "tenant_id": "0e148b76ee8c42f78d37013bf6b7b1ae", "api_method": "GET",
-                                              "source": "onap-aaf",
-                                              "api_link": "/onaplab_RegionOne/compute/v2.1/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721",
-                                              "domain": "fault", "type": "vm", "tenant": "VIM"}],
-                                "poll_interval_default": 10, "vimid": "onaplab_RegionOne",
-                                "subscription": {"username": "user", "password": "password",
-                                                 "endpoint": "http://127.0.0.1:9005/sample"}}
-        mock_cache_get.side_effect= [
-                    json.dumps(mock_vesagent_config),
-                    json.dumps({})
-                ]
+    def test_tasks_processBacklogsOfOneVIM(
+            self, mock_cache_get, mock_cache_set, mock_tasks_processOneBacklog):
+        # mock_VesAgentBacklogs_vimlist = ["windriver-hudson-dc_RegionOne"]
+        mock_vesagent_config = {
+            "backlogs":
+                [{"backlog_uuid": "ce2d7597-22e1-4239-890f-bc303bd67076",
+                  "server_id": "c4b575fa-ed85-4642-ab4b-335cb5744721",
+                  "tenant_id": "0e148b76ee8c42f78d37013bf6b7b1ae", "api_method": "GET",
+                  "source": "onap-aaf",
+                  "api_link":
+                      "/onaplab_RegionOne/compute/v2.1/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721",
+                  "domain": "fault", "type": "vm", "tenant": "VIM"}],
+            "poll_interval_default": 10, "vimid": "onaplab_RegionOne",
+            "subscription": {"username": "user", "password": "password",
+                             "endpoint": "http://127.0.0.1:9005/sample"}}
+        mock_cache_get.side_effect = [
+            json.dumps(mock_vesagent_config),
+            json.dumps({})
+        ]
         mock_tasks_processOneBacklog.return_value = (1, 11)
         mock_cache_set.return_value = "mocked cache set"
         result = tasks.processBacklogsOfOneVIM(vimid="windriver-hudson-dc_RegionOne")
         COUNT_TIME_SLOT = (1, 10)
         self.assertEquals(COUNT_TIME_SLOT, result)
-        pass
 
     @mock.patch.object(fault_vm, 'processBacklog_fault_vm')
-    def test_tasks_processOneBacklog(self, mock_fault_vm_processBacklog_fault_vm):
+    def test_tasks_processOneBacklog(
+            self, mock_fault_vm_processBacklog_fault_vm):
         mock_fault_vm_processBacklog_fault_vm.return_value = None
-        vesagent_config = {"backlogs": [{"backlog_uuid": "ce2d7597-22e1-4239-890f-bc303bd67076",
-                                              "server_id": "c4b575fa-ed85-4642-ab4b-335cb5744721",
-                                              "tenant_id": "0e148b76ee8c42f78d37013bf6b7b1ae", "api_method": "GET",
-                                              "source": "onap-aaf",
-                                              "api_link": "/onaplab_RegionOne/compute/v2.1/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721",
-                                              "domain": "fault", "type": "vm", "tenant": "VIM"}],
-                                "poll_interval_default": 10, "vimid": "onaplab_RegionOne",
-                                "subscription": {"username": "user", "password": "password",
-                                                 "endpoint": "http://127.0.0.1:9005/sample"}}
-
-        vesagent_onebacklog = {"backlog_uuid": "ce2d7597-22e1-4239-890f-bc303bd67076",
-                                              "poll_interval": 10,
-                                              "server_id": "c4b575fa-ed85-4642-ab4b-335cb5744721",
-                                              "tenant_id": "0e148b76ee8c42f78d37013bf6b7b1ae", "api_method": "GET",
-                                              "source": "onap-aaf",
-                                              "api_link": "/onaplab_RegionOne/compute/v2.1/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721",
-                                              "domain": "fault", "type": "vm", "tenant": "VIM"}
-
-        result = tasks.processOneBacklog(vesAgentConfig = vesagent_config,
-                                                vesAgentState = {},
-                                                poll_interval_default = 10,
-                                                oneBacklog = vesagent_onebacklog)
+        vesagent_config = {
+            "backlogs":
+                [{"backlog_uuid": "ce2d7597-22e1-4239-890f-bc303bd67076",
+                  "server_id": "c4b575fa-ed85-4642-ab4b-335cb5744721",
+                  "tenant_id": "0e148b76ee8c42f78d37013bf6b7b1ae", "api_method": "GET",
+                  "source": "onap-aaf",
+                  "api_link":
+                      "/onaplab_RegionOne/compute/v2.1/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721",
+                  "domain": "fault", "type": "vm", "tenant": "VIM"}],
+            "poll_interval_default": 10, "vimid": "onaplab_RegionOne",
+            "subscription": {"username": "user", "password": "password",
+                             "endpoint": "http://127.0.0.1:9005/sample"}}
+
+        vesagent_onebacklog = {
+            "backlog_uuid": "ce2d7597-22e1-4239-890f-bc303bd67076",
+            "poll_interval": 10,
+            "server_id": "c4b575fa-ed85-4642-ab4b-335cb5744721",
+            "tenant_id": "0e148b76ee8c42f78d37013bf6b7b1ae", "api_method": "GET",
+            "source": "onap-aaf",
+            "api_link": "/onaplab_RegionOne/compute/v2.1/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721",
+            "domain": "fault", "type": "vm", "tenant": "VIM"
+        }
+
+        result = tasks.processOneBacklog(
+            vesAgentConfig=vesagent_config,
+            vesAgentState={},
+            poll_interval_default=10,
+            oneBacklog=vesagent_onebacklog)
         COUNT_TIME_SLOT = (1, 10)
         self.assertEquals(COUNT_TIME_SLOT, result)
-        pass
-
index 1fb8d51..289e43d 100644 (file)
@@ -23,8 +23,7 @@ from django.core.cache import cache
 from common.msapi import extsys
 from titanium_cloud.vesagent import vesagent_ctrl
 from titanium_cloud.vesagent.event_domain import fault_vm
-
-
+from titanium_cloud.vesagent.tasks import scheduleBacklogs
 
 MOCK_VIM_INFO = {
     "createTime": "2017-04-01 02:22:27",
@@ -40,7 +39,8 @@ MOCK_VIM_INFO = {
     "vimId": "windriver-hudson-dc_RegionOne",
     'cloud_owner': 'windriver-hudson-dc',
     'cloud_region_id': 'RegionOne',
-    'cloud_extra_info': '{"vesagent_config":{"backlogs":[{"source":"onap-aaf","domain":"fault","type":"vm","tenant":"VIM"}],"poll_interval_default":10,"ves_subscription":{"username":"user","password":"password","endpoint":"http://127.0.0.1:9005/sample"}}}',
+    'cloud_extra_info':
+        '{"vesagent_config":{"backlogs":[{"source": "onap-aaf","domain": "fault","type": "vm","tenant": "VIM"}],"poll_interval_default":10,"ves_subscription":{"username": "user","password": "password","endpoint": "http://127.0.0.1:9005/sample"}}}',
     'insecure': 'True',
 }
 
@@ -57,7 +57,8 @@ class VesAgentCtrlTest(unittest.TestCase):
     @mock.patch.object(extsys, 'get_vim_by_id')
     def test_get(self, mock_get_vim_by_id, mock_get):
         mock_get_vim_by_id.return_value = MOCK_VIM_INFO
-        mock_get.return_value = '{"backlogs": [{"backlog_uuid": "2b8f6ff8-bc64-339b-a714-155909db937f", "server_id": "c4b575fa-ed85-4642-ab4b-335cb5744721", "tenant_id": "0e148b76ee8c42f78d37013bf6b7b1ae", "api_method": "GET", "source": "onap-aaf", "api_link": "/onaplab_RegionOne/compute/v2.1/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721", "domain": "fault", "type": "vm", "tenant": "VIM"}], "poll_interval_default": 10, "vimid": "onaplab_RegionOne", "subscription": {"username": "user", "password": "password", "endpoint": "http://127.0.0.1:9005/sample"}}'
+        mock_get.return_value = \
+            '{"backlogs": [{"backlog_uuid": "2b8f6ff8-bc64-339b-a714-155909db937f", "server_id": "c4b575fa-ed85-4642-ab4b-335cb5744721", "tenant_id": "0e148b76ee8c42f78d37013bf6b7b1ae", "api_method": "GET", "source": "onap-aaf", "api_link": "/onaplab_RegionOne/compute/v2.1/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721", "domain": "fault", "type": "vm", "tenant": "VIM"}], "poll_interval_default": 10, "vimid": "onaplab_RegionOne", "subscription": {"username": "user", "password": "password", "endpoint": "http://127.0.0.1:9005/sample"}}'
 
         response = self.client.get("/api/multicloud-titaniumcloud/v0/windriver-hudson-dc_RegionOne/vesagent")
         self.assertEqual(status.HTTP_200_OK, response.status_code, response.content)
@@ -68,14 +69,12 @@ class VesAgentCtrlTest(unittest.TestCase):
         mock_get_vim_by_id.return_value = MOCK_VIM_INFO
         mock_buildBacklogsOneVIM.return_value = "mocked vesagent_backlogs"
         mock_request = mock.Mock()
-        mock_request.META = {"testkey":"testvalue"}
-        mock_request.data = {"testdatakey":"testdatavalue"}
+        mock_request.META = {"testkey": "testvalue"}
+        mock_request.data = {"testdatakey": "testdatavalue"}
 
         response = self.view.post(request=mock_request, vimid="windriver-hudson-dc_RegionOne")
         self.assertEquals(status.HTTP_201_CREATED, response.status_code)
 
-        pass
-
     @mock.patch.object(vesagent_ctrl.VesAgentCtrl, 'clearBacklogsOneVIM')
     @mock.patch.object(extsys, 'get_vim_by_id')
     def test_delete(self, mock_get_vim_by_id, mock_clearBacklogsOneVIM):
@@ -87,22 +86,8 @@ class VesAgentCtrlTest(unittest.TestCase):
         response = self.view.delete(request=mock_request, vimid="windriver-hudson-dc_RegionOne")
         self.assertEquals(status.HTTP_200_OK, response.status_code)
 
-        pass
-
     @mock.patch.object(cache, 'get')
     def test_getBacklogsOneVIM(self, mock_get):
-        mock_vesagent_config = {"backlogs": [{"backlog_uuid": "ce2d7597-22e1-4239-890f-bc303bd67076", "server_id": "c4b575fa-ed85-4642-ab4b-335cb5744721", "tenant_id": "0e148b76ee8c42f78d37013bf6b7b1ae", "api_method": "GET", "source": "onap-aaf", "api_link": "/onaplab_RegionOne/compute/v2.1/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721", "domain": "fault", "type": "vm", "tenant": "VIM"}], "poll_interval_default": 10, "vimid": "onaplab_RegionOne", "subscription": {"username": "user", "password": "password", "endpoint": "http://127.0.0.1:9005/sample"}}
-        mock_get.return_value = json.dumps(mock_vesagent_config)
-
-        vesAgentConfig = self.view.getBacklogsOneVIM(vimid="windriver-hudson-dc_RegionOne")
-        self.assertEquals(vesAgentConfig, mock_vesagent_config)
-
-        pass
-
-    @mock.patch.object(cache, 'set')
-    @mock.patch.object(cache, 'get')
-    def test_clearBacklogsOneVIM(self, mock_get, mock_set):
-        mock_VesAgentBacklogs_vimlist = ["windriver-hudson-dc_RegionOne"]
         mock_vesagent_config = {"backlogs": [{"backlog_uuid": "ce2d7597-22e1-4239-890f-bc303bd67076",
                                               "server_id": "c4b575fa-ed85-4642-ab4b-335cb5744721",
                                               "tenant_id": "0e148b76ee8c42f78d37013bf6b7b1ae", "api_method": "GET",
@@ -112,65 +97,83 @@ class VesAgentCtrlTest(unittest.TestCase):
                                 "poll_interval_default": 10, "vimid": "onaplab_RegionOne",
                                 "subscription": {"username": "user", "password": "password",
                                                  "endpoint": "http://127.0.0.1:9005/sample"}}
+        mock_get.return_value = json.dumps(mock_vesagent_config)
 
-        mock_get.side_effect= [
-                    json.dumps(mock_VesAgentBacklogs_vimlist),
-                    json.dumps(mock_vesagent_config)
-                ]
+        vesAgentConfig = self.view.getBacklogsOneVIM(vimid="windriver-hudson-dc_RegionOne")
+        self.assertEquals(vesAgentConfig, mock_vesagent_config)
 
+    @mock.patch.object(cache, 'set')
+    @mock.patch.object(cache, 'get')
+    def test_clearBacklogsOneVIM(self, mock_get, mock_set):
+        mock_VesAgentBacklogs_vimlist = ["windriver-hudson-dc_RegionOne"]
+        mock_vesagent_config = {
+            "backlogs": [
+                {"backlog_uuid": "ce2d7597-22e1-4239-890f-bc303bd67076",
+                 "server_id": "c4b575fa-ed85-4642-ab4b-335cb5744721",
+                 "tenant_id": "0e148b76ee8c42f78d37013bf6b7b1ae", "api_method": "GET",
+                 "source": "onap-aaf",
+                 "api_link":
+                     "/onaplab_RegionOne/compute/v2.1/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721",
+                 "domain": "fault", "type": "vm", "tenant": "VIM"}
+            ],
+            "poll_interval_default": 10, "vimid": "onaplab_RegionOne",
+            "subscription": {"username": "user", "password": "password",
+                             "endpoint": "http://127.0.0.1:9005/sample"}}
+
+        mock_get.side_effect = [
+            json.dumps(mock_VesAgentBacklogs_vimlist),
+            json.dumps(mock_vesagent_config)
+        ]
 
         mock_set.return_value = "mocked cache set"
 
-        result = self.view.clearBacklogsOneVIM(vimid="windriver-hudson-dc_RegionOne")
+        result = self.view.clearBacklogsOneVIM(
+            vimid="windriver-hudson-dc_RegionOne")
         self.assertEquals(0, result)
 
-        pass
-
-    from titanium_cloud.vesagent.tasks import scheduleBacklogs
-
     @mock.patch.object(scheduleBacklogs, 'delay')
     @mock.patch.object(cache, 'set')
     @mock.patch.object(cache, 'get')
-    def test_buildBacklogsOneVIM(self, mock_get, mock_set, mock_scheduleBacklogs_delay):
+    def test_buildBacklogsOneVIM(
+            self, mock_get, mock_set, mock_scheduleBacklogs_delay):
         mock_VesAgentBacklogs_vimlist = ["windriver-hudson-dc_RegionOne"]
-        mock_vesagent_config = {"backlogs": [{"backlog_uuid": "ce2d7597-22e1-4239-890f-bc303bd67076",
-                                              "server_id": "c4b575fa-ed85-4642-ab4b-335cb5744721",
-                                              "tenant_id": "0e148b76ee8c42f78d37013bf6b7b1ae", "api_method": "GET",
-                                              "source": "onap-aaf",
-                                              "api_link": "/onaplab_RegionOne/compute/v2.1/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721",
-                                              "domain": "fault", "type": "vm", "tenant": "VIM"}],
-                                "poll_interval_default": 10, "vimid": "windriver-hudson-dc_RegionOne",
-                                "ves_subscription": {"username": "user", "password": "password",
-                                                 "endpoint": "http://127.0.0.1:9005/sample"}}
-
-        mock_get.side_effect= [
-                    json.dumps(mock_VesAgentBacklogs_vimlist),
-                ]
+        mock_vesagent_config = {
+            "backlogs": [{"backlog_uuid": "ce2d7597-22e1-4239-890f-bc303bd67076",
+                          "server_id": "c4b575fa-ed85-4642-ab4b-335cb5744721",
+                          "tenant_id": "0e148b76ee8c42f78d37013bf6b7b1ae", "api_method": "GET",
+                          "source": "onap-aaf",
+                          "api_link": "/onaplab_RegionOne/compute/v2.1/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721",
+                          "domain": "fault", "type": "vm", "tenant": "VIM"}],
+            "poll_interval_default": 10, "vimid": "windriver-hudson-dc_RegionOne",
+            "ves_subscription": {"username": "user", "password": "password",
+                                 "endpoint": "http://127.0.0.1:9005/sample"}}
+
+        mock_get.side_effect = [
+            json.dumps(mock_VesAgentBacklogs_vimlist),
+        ]
 
         mock_set.return_value = "mocked cache set"
         mock_scheduleBacklogs_delay.return_value = "mocked delay"
 
-        VesAgentBacklogsConfig = self.view.buildBacklogsOneVIM(vimid="windriver-hudson-dc_RegionOne",
-                                                               vesagent_config = mock_vesagent_config)
+        VesAgentBacklogsConfig = self.view.buildBacklogsOneVIM(
+            vimid="windriver-hudson-dc_RegionOne",
+            vesagent_config=mock_vesagent_config)
         self.assertIsNotNone(VesAgentBacklogsConfig)
 
-        pass
-
-
     @mock.patch.object(fault_vm, 'buildBacklog_fault_vm')
     def test_buildBacklog(self, mock_buildBacklog_fault_vm):
-        mock_backlog_input = {"backlog_uuid": "ce2d7597-22e1-4239-890f-bc303bd67076",
-                                              "server_id": "c4b575fa-ed85-4642-ab4b-335cb5744721",
-                                              "tenant_id": "0e148b76ee8c42f78d37013bf6b7b1ae", "api_method": "GET",
-                                              "source": "onap-aaf",
-                                              "api_link": "/onaplab_RegionOne/compute/v2.1/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721",
-                                              "domain": "fault", "type": "vm", "tenant": "VIM"}
-
+        mock_backlog_input = {
+            "backlog_uuid": "ce2d7597-22e1-4239-890f-bc303bd67076",
+            "server_id": "c4b575fa-ed85-4642-ab4b-335cb5744721",
+            "tenant_id": "0e148b76ee8c42f78d37013bf6b7b1ae", "api_method": "GET",
+            "source": "onap-aaf",
+            "api_link":
+                "/onaplab_RegionOne/compute/v2.1/0e148b76ee8c42f78d37013bf6b7b1ae/servers/c4b575fa-ed85-4642-ab4b-335cb5744721",
+            "domain": "fault", "type": "vm", "tenant": "VIM"}
 
         mock_buildBacklog_fault_vm.return_value = "mocked buildBacklog_fault_vm"
 
-        VesAgentBacklogsConfig = self.view.buildBacklog(vimid="windriver-hudson-dc_RegionOne",
-                                                        backlog_input = mock_backlog_input)
+        VesAgentBacklogsConfig = self.view.buildBacklog(
+            vimid="windriver-hudson-dc_RegionOne",
+            backlog_input=mock_backlog_input)
         self.assertIsNotNone(VesAgentBacklogsConfig)
-
-        pass
index 0178aae..64ea7d0 100644 (file)
 import mock
 
 import unittest
-import json
+import json
 import urllib2
 
 from titanium_cloud.vesagent import vespublish
 
 MOCK_VESENDPOINT = {
-    "endpoint" : "MOCKED_VES_COLLECTOR_EP1",
-    "username" : "MOCKED_VES_COLLECTOR_USER1",
-    "password" : "MOCKED_VES_COLLECTOR_PASSWD1",
+    "endpoint": "MOCKED_VES_COLLECTOR_EP1",
+    "username": "MOCKED_VES_COLLECTOR_USER1",
+    "password": "MOCKED_VES_COLLECTOR_PASSWD1",
 }
-MOCK_VESPUBLISH_EVENT1 = [{"name":"event1"}]
+
+MOCK_VESPUBLISH_EVENT1 = [{"name": "event1"}]
+
 
 class VespublishTest(unittest.TestCase):
     def setUp(self):
@@ -39,16 +41,14 @@ class VespublishTest(unittest.TestCase):
     def test_publishAnyEventToVES(self, mock_Request, mock_urlopen):
         mock_request = mock.Mock()
 
-        mock_Request.side_effect= [
+        mock_Request.side_effect = [
             mock_request
-                ]
+        ]
 
         mock_response = mock.Mock(["read"])
         mock_response.read.return_value = "MOCKED_VESPUBLISH_RESPONSE_MESSAGE"
-        mock_urlopen.side_effect= [
+        mock_urlopen.side_effect = [
             mock_response
-                ]
+        ]
 
         vespublish.publishAnyEventToVES(MOCK_VESENDPOINT, MOCK_VESPUBLISH_EVENT1)
-
-        pass
index 8bfa3c3..86b4ef5 100644 (file)
@@ -13,7 +13,7 @@
 # limitations under the License.
 
 import logging
-import traceback
+import traceback
 import json
 
 from rest_framework import status
@@ -29,6 +29,7 @@ from django.core.cache import cache
 
 logger = logging.getLogger(__name__)
 
+
 class VesAgentCtrl(APIView):
     '''
     control plane of VesAgent
@@ -152,7 +153,6 @@ class VesAgentCtrl(APIView):
         self._logger = logger
         self.proxy_prefix = settings.MULTICLOUD_PREFIX
 
-
     def get(self, request, vimid=""):
         '''
         get blob of vesagent-config
@@ -169,8 +169,8 @@ class VesAgentCtrl(APIView):
                 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
+            except Exception:
+                # ignore this error
                 self._logger.warn("cloud extra info is provided with data in  bad format: %s" % cloud_extra_info_str)
                 pass
 
@@ -182,11 +182,10 @@ class VesAgentCtrl(APIView):
                             status=status.HTTP_500_INTERNAL_SERVER_ERROR)
 
         self._logger.info("return with %s" % status.HTTP_200_OK)
-        return Response(data={"vesagent_config":vesagent_config,
+        return Response(data={"vesagent_config": vesagent_config,
                               "vesagent_backlogs": vesagent_backlogs},
                         status=status.HTTP_200_OK)
 
-
     def post(self, request, vimid=""):
         '''
         update the blob of vesagent-config, rebuild the backlog for the vesagent workers,
@@ -207,12 +206,13 @@ class VesAgentCtrl(APIView):
         :param vimid:
         :return:
         '''
+
         self._logger.info("vimid: %s" % vimid)
         self._logger.debug("with META: %s, with data: %s" % (request.META, request.data))
         try:
             vesagent_config = None
             if request.data is None or request.data.get("vesagent_config", None) is None:
-                #Try to load the vesagent_config out of cloud_region["cloud_extra_info"]
+                # Try to load the vesagent_config out of cloud_region["cloud_extra_info"]
                 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
@@ -222,7 +222,7 @@ class VesAgentCtrl(APIView):
 
             if vesagent_config is None:
                 return Response(data={'vesagent_config is not provided'},
-                            status=status.HTTP_400_BAD_REQUEST)
+                                status=status.HTTP_400_BAD_REQUEST)
 
             vesagent_backlogs = self.buildBacklogsOneVIM(vimid, vesagent_config)
 
@@ -235,7 +235,7 @@ class VesAgentCtrl(APIView):
                             status=status.HTTP_500_INTERNAL_SERVER_ERROR)
 
         self._logger.info("return with %s" % status.HTTP_201_CREATED)
-        return Response(data={"vesagent_config":vesagent_config,
+        return Response(data={"vesagent_config": vesagent_config,
                               "vesagent_backlogs": vesagent_backlogs},
                         status=status.HTTP_201_CREATED)
 
@@ -259,7 +259,6 @@ class VesAgentCtrl(APIView):
         self._logger.info("return with %s" % status.HTTP_200_OK)
         return Response(status=status.HTTP_200_OK)
 
-
     def getBacklogsOneVIM(self, vimid):
         '''
         remove the specified backlogs for a VIM
@@ -337,7 +336,7 @@ class VesAgentCtrl(APIView):
         self._logger.debug("return")
         return 0
 
-    def buildBacklogsOneVIM(self, vimid, vesagent_config = None):
+    def buildBacklogsOneVIM(self, vimid, vesagent_config=None):
         '''
         build and cache backlog for specific cloud region,spawn vesagent workers if needed
         :param vimid:
@@ -349,7 +348,7 @@ class VesAgentCtrl(APIView):
 
         VesAgentBacklogsConfig = None
         try:
-            if vesagent_config :
+            if vesagent_config:
                 # now rebuild the backlog
                 VesAgentBacklogsConfig = {
                     "vimid": vimid,
@@ -358,7 +357,6 @@ class VesAgentCtrl(APIView):
                     "backlogs": [self.buildBacklog(vimid, b) for b in vesagent_config.get("backlogs", [])]
                 }
 
-
                 # add/update the backlog into cache
                 VesAgentBacklogsConfigStr = json.dumps(VesAgentBacklogsConfig)
                 # cache forever
@@ -375,14 +373,14 @@ class VesAgentCtrl(APIView):
 
                 logger.debug("VesAgentBacklogs.vimlist is %s" % VesAgentBacklogsVimList)
 
-                #cache forever
+                # cache forever
                 cache.set("VesAgentBacklogs.vimlist", json.dumps(VesAgentBacklogsVimList), None)
 
                 # notify schduler
                 scheduleBacklogs.delay(vimid)
         except Exception as e:
             self._logger.error("exception:%s" % str(e))
-            VesAgentBacklogsConfig = {"error":"exception occurs during build backlogs"}
+            VesAgentBacklogsConfig = {"error": "exception occurs during build backlogs"}
 
         self._logger.debug("return")
         return VesAgentBacklogsConfig
@@ -413,7 +411,6 @@ class APIv1VesAgentCtrl(VesAgentCtrl):
         # self._logger = logger
         self.proxy_prefix = settings.MULTICLOUD_API_V1_PREFIX
 
-
     def get(self, request, cloud_owner="", cloud_region_id=""):
         '''
         :param request:
@@ -421,11 +418,10 @@ class APIv1VesAgentCtrl(VesAgentCtrl):
         :param cloud_region_id:
         :return:
         '''
-        self._logger.info("cloud_owner,cloud_region_id: %s,%s" % (cloud_owner,cloud_region_id))
+        self._logger.info("cloud_owner, cloud_region_id: %s,%s" % (cloud_owner, cloud_region_id))
 
         vimid = extsys.encode_vim_id(cloud_owner, cloud_region_id)
-        return super(APIv1VesAgentCtrl,self).get(request, vimid)
-
+        return super(APIv1VesAgentCtrl, self).get(request, vimid)
 
     def post(self, request, cloud_owner="", cloud_region_id=""):
         '''
@@ -435,11 +431,10 @@ class APIv1VesAgentCtrl(VesAgentCtrl):
         :param cloud_region_id:
         :return:
         '''
-        self._logger.info("cloud_owner,cloud_region_id: %s,%s" % (cloud_owner,cloud_region_id))
+        self._logger.info("cloud_owner, cloud_region_id: %s,%s" % (cloud_owner, cloud_region_id))
 
         vimid = extsys.encode_vim_id(cloud_owner, cloud_region_id)
-        return super(APIv1VesAgentCtrl,self).post(request, vimid)
-
+        return super(APIv1VesAgentCtrl, self).post(request, vimid)
 
     def delete(self, request, cloud_owner="", cloud_region_id=""):
         '''
@@ -449,8 +444,9 @@ class APIv1VesAgentCtrl(VesAgentCtrl):
         :param cloud_region_id:
         :return:
         '''
-        self._logger.info("cloud_owner,cloud_region_id: %s,%s" % (cloud_owner,cloud_region_id))
+        self._logger.info(
+            "cloud_owner, cloud_region_id: %s,%s" %
+            (cloud_owner, cloud_region_id))
 
         vimid = extsys.encode_vim_id(cloud_owner, cloud_region_id)
-        return super(APIv1VesAgentCtrl,self).delete(request, vimid)
-
+        return super(APIv1VesAgentCtrl, self).delete(request, vimid)
index b67a64e..33b971b 100644 (file)
@@ -21,14 +21,15 @@ import urllib2
 
 logger = logging.getLogger(__name__)
 
+
 def publishAnyEventToVES(ves_subscription, events):
     if not events or len(events) == 0:
         return
 
     logger.info("Start to send single event to VES collector.")
     endpoint = ves_subscription.get("endpoint", None)
-    username = ves_subscription.get("username", None)
-    password = ves_subscription.get("password", None)
+    username = ves_subscription.get("username", None)
+    password = ves_subscription.get("password", None)
 
     if endpoint:
         try:
@@ -44,9 +45,9 @@ def publishAnyEventToVES(ves_subscription, events):
             time.sleep(1)
             response = urllib2.urlopen(request)
             logger.info("VES response is: %s" % response.read())
-        except urllib2.URLError, e:
+        except urllib2.URLError as e:
             logger.critical("Failed to publish to %s: %s" % (endpoint, e.reason))
         except Exception as e:
             logger.error("exception:%s" % str(e))
     else:
-        logger.info("Missing VES info.")
\ No newline at end of file
+        logger.info("Missing VES info.")