change SDN types from tapi to ietfl2vpn, from arista to arista_cloudvision
[osm/RO.git] / RO-SDN-arista / osm_rosdn_arista / aristaTask.py
diff --git a/RO-SDN-arista/osm_rosdn_arista/aristaTask.py b/RO-SDN-arista/osm_rosdn_arista/aristaTask.py
deleted file mode 100644 (file)
index a338afd..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-# -*- coding: utf-8 -*-\r
-##\r
-# Copyright 2019 Atos - CoE Telco NFV Team\r
-# All Rights Reserved.\r
-#\r
-# Contributors: Oscar Luis Peral, Atos\r
-#\r
-# Licensed under the Apache License, Version 2.0 (the "License"); you may\r
-# not use this file except in compliance with the License. You may obtain\r
-# a copy of the License at\r
-#\r
-#         http://www.apache.org/licenses/LICENSE-2.0\r
-#\r
-# Unless required by applicable law or agreed to in writing, software\r
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT\r
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\r
-# License for the specific language governing permissions and limitations\r
-# under the License.\r
-#\r
-# For those usages not covered by the Apache License, Version 2.0 please\r
-# contact with: <oscarluis.peral@atos.net>\r
-#\r
-# Neither the name of Atos nor the names of its\r
-# contributors may be used to endorse or promote products derived from\r
-# this software without specific prior written permission.\r
-#\r
-# This work has been performed in the context of Arista Telefonica OSM PoC.\r
-##\r
-import time\r
-\r
-\r
-class AristaCVPTask:\r
-    def __init__(self, cvpClientApi):\r
-        self.cvpClientApi = cvpClientApi\r
-\r
-    def __get_id(self, task):\r
-        return task.get("workOrderId")\r
-\r
-    def __get_state(self, task):\r
-        return task.get("workOrderUserDefinedStatus")\r
-\r
-    def __execute_task(self, task_id):\r
-        return self.cvpClientApi.execute_task(task_id)\r
-\r
-    def __cancel_task(self, task_id):\r
-        return self.cvpClientApi.cancel_task(task_id)\r
-\r
-    def __apply_state(self, task, state):\r
-        t_id = self.__get_id(task)\r
-        self.cvpClientApi.add_note_to_task(t_id, "Executed by OSM")\r
-        if state == "executed":\r
-            return self.__execute_task(t_id)\r
-        elif state == "cancelled":\r
-            return self.__cancel_task(t_id)\r
-\r
-    def __actionable(self, state):\r
-        return state in ["Pending"]\r
-\r
-    def __terminal(self, state):\r
-        return state in ["Completed", "Cancelled"]\r
-\r
-    def __state_is_different(self, task, target):\r
-        return self.__get_state(task) != target\r
-\r
-    def update_all_tasks(self, data):\r
-        new_data = dict()\r
-        for task_id in data.keys():\r
-            res = self.cvpClientApi.get_task_by_id(task_id)\r
-            new_data[task_id] = res\r
-        return new_data\r
-\r
-    def get_pending_tasks(self):\r
-        return self.cvpClientApi.get_tasks_by_status('Pending')\r
-\r
-    def get_pending_tasks_old(self):\r
-        taskList = []\r
-        tasksField = {'workOrderId': 'workOrderId',\r
-                      'workOrderState': 'workOrderState',\r
-                      'currentTaskName': 'currentTaskName',\r
-                      'description': 'description',\r
-                      'workOrderUserDefinedStatus':\r
-                      'workOrderUserDefinedStatus',\r
-                      'note': 'note',\r
-                      'taskStatus': 'taskStatus',\r
-                      'workOrderDetails': 'workOrderDetails'}\r
-        tasks = self.cvpClientApi.get_tasks_by_status('Pending')\r
-        # Reduce task data to required fields\r
-        for task in tasks:\r
-            taskFacts = {}\r
-            for field in task.keys():\r
-                if field in tasksField:\r
-                    taskFacts[tasksField[field]] = task[field]\r
-            taskList.append(taskFacts)\r
-        return taskList\r
-\r
-    def task_action(self, tasks, wait, state):\r
-        changed = False\r
-        data = dict()\r
-        warnings = list()\r
-\r
-        at = [t for t in tasks if self.__actionable(self.__get_state(t))]\r
-        actionable_tasks = at\r
-\r
-        if len(actionable_tasks) == 0:\r
-            warnings.append("No actionable tasks found on CVP")\r
-            return changed, data, warnings\r
-\r
-        for task in actionable_tasks:\r
-            if self.__state_is_different(task, state):\r
-                self.__apply_state(task, state)\r
-                changed = True\r
-                data[self.__get_id(task)] = task\r
-\r
-        if wait == 0:\r
-            return changed, data, warnings\r
-\r
-        start = time.time()\r
-        now = time.time()\r
-        while (now - start) < wait:\r
-            data = self.update_all_tasks(data)\r
-            if all([self.__terminal(self.__get_state(t)) for t in data.values()]):\r
-                break\r
-            time.sleep(1)\r
-            now = time.time()\r
-\r
-        if wait:\r
-            for i, task in data.items():\r
-                if not self.__terminal(self.__get_state(task)):\r
-                    warnings.append("Task {} has not completed in {} seconds".\r
-                                    format(i, wait))\r
-\r
-        return changed, data, warnings\r