VOL-2664 Avoid overwriting vlan-filter-tasks in queue

-tag_add check is done in vlan-filter-task for add and remove cases.
-also a few log corrections are done.

Change-Id: Iec969bbbb9bffdf1236601b6a182eb0a88012416
diff --git a/python/adapters/brcm_openomci_onu/brcm_openomci_onu_handler.py b/python/adapters/brcm_openomci_onu/brcm_openomci_onu_handler.py
index 3e6760d..b3f9510 100644
--- a/python/adapters/brcm_openomci_onu/brcm_openomci_onu_handler.py
+++ b/python/adapters/brcm_openomci_onu/brcm_openomci_onu_handler.py
@@ -425,17 +425,17 @@
             if uni_id in self._queued_vlan_filter_task and tp_id in self._queued_vlan_filter_task[uni_id]:
                 self.log.info("executing-queued-vlan-filter-task",
                               uni_id=uni_id, tp_id=tp_id)
-                filter_info = self._queued_vlan_filter_task[uni_id][tp_id]
-                reactor.callLater(0, self._add_vlan_filter_task, filter_info.get("device"),
+                for filter_info in self._queued_vlan_filter_task[uni_id][tp_id]:
+                    reactor.callLater(0, self._add_vlan_filter_task, filter_info.get("device"),
                                   uni_id=uni_id, uni_port=filter_info.get("uni_port"),
                                   match_vlan = filter_info.get("match_vlan"),
                                   _set_vlan_vid= filter_info.get("set_vlan_vid"),
                                   _set_vlan_pcp = filter_info.get("set_vlan_pcp"),
                                   tp_id = filter_info.get("tp_id"))
                 # Now remove the entry from the dictionary
-                self._queued_vlan_filter_task[uni_id].clear()
+                self._queued_vlan_filter_task[uni_id][tp_id].remove(filter_info)
                 self.log.debug("executed-queued-vlan-filter-task",
-                               uni_id=uni_id)
+                               uni_id=uni_id, tp_id=tp_id)
         except Exception as e:
             self.log.error("vlan-filter-configuration-failed", uni_id=uni_id, error=e)
 
@@ -502,7 +502,7 @@
                     yield self.core_proxy.device_reason_update(self.device_id,
                                                                'tech-profile-config-download-failure-retrying')
 
-                self.log.info('downloading-tech-profile-configuration', uni_id=uni_id, tp_id=tp_id,)
+                self.log.info('downloading-tech-profile-configuration', uni_id=uni_id, tp_id=tp_id)
                 self.log.debug("tconts-gems-to-install", tconts=tconts, gem_ports=gem_ports)
 
                 self._tp_service_specific_task[uni_id][tp_path] = \
@@ -1089,13 +1089,15 @@
                           uni_id=uni_id, tp_id=tp_id)
             if uni_id not in self._queued_vlan_filter_task:
                 self._queued_vlan_filter_task[uni_id] = dict()
-            self._queued_vlan_filter_task[uni_id][tp_id] = {"device": device,
+            if tp_id not in self._queued_vlan_filter_task[uni_id]:
+                self._queued_vlan_filter_task[uni_id][tp_id] = []
+            self._queued_vlan_filter_task[uni_id][tp_id].append({"device": device,
                                                             "uni_id": uni_id,
                                                             "uni_port": uni_port,
                                                             "match_vlan": match_vlan,
                                                             "set_vlan_vid": _set_vlan_vid,
                                                             "set_vlan_pcp": _set_vlan_pcp,
-                                                            "tp_id": tp_id}
+                                                            "tp_id": tp_id})
 
     def get_tp_id_in_flow(self, flow):
         flow_metadata = fd.get_metadata_from_write_metadata ( flow )