cherry pick of [ONOS-4794] [ONOS-4793] [ONOS-4669]TE_COST and bandwidth information on update flow was not correct

Change-Id: I66090e6da1307c8530e89c92f2dcbcdf12e18220
diff --git a/apps/pce/app/src/main/java/org/onosproject/pce/pceservice/PceManager.java b/apps/pce/app/src/main/java/org/onosproject/pce/pceservice/PceManager.java
index 76f6e3f..77a94d8 100644
--- a/apps/pce/app/src/main/java/org/onosproject/pce/pceservice/PceManager.java
+++ b/apps/pce/app/src/main/java/org/onosproject/pce/pceservice/PceManager.java
@@ -27,9 +27,7 @@
 import java.util.Optional;
 import java.util.Map.Entry;
 import java.util.Set;
-import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.TimeUnit;
 
 import org.onlab.packet.Ethernet;
 import org.onlab.packet.IPv4;
@@ -264,9 +262,6 @@
 
         packetService.addProcessor(processor, PacketProcessor.director(4));
         topologyService.addListener(topologyListener);
-        executor = Executors.newSingleThreadScheduledExecutor();
-        //Start a timer when the component is up, with initial delay of 30min and periodic delays at 30min
-        executor.scheduleAtFixedRate(new GlobalOptimizationTimer(), INITIAL_DELAY, PERIODIC_DELAY, TimeUnit.MINUTES);
 
         // Reserve global node pool
         if (!srTeHandler.reserveGlobalPool(GLOBAL_LABEL_SPACE_MIN, GLOBAL_LABEL_SPACE_MAX)) {
@@ -284,8 +279,6 @@
         netCfgService.removeListener(cfgListener);
         packetService.removeProcessor(processor);
         topologyService.removeListener(topologyListener);
-        // Shutdown the thread when component is deactivated
-        executor.shutdown();
         log.info("Stopped");
     }
 
diff --git a/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpChannelHandler.java b/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpChannelHandler.java
index 7a05f31..92236a4 100644
--- a/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpChannelHandler.java
+++ b/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpChannelHandler.java
@@ -495,7 +495,7 @@
     @Override
     public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) throws Exception {
 
-        log.info("[exceptionCaught]: " + e.toString());
+        log.error("[exceptionCaught]: " + e.toString());
 
         if (e.getCause() instanceof ReadTimeoutException) {
             // device timeout
diff --git a/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/PcepTunnelProvider.java b/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/PcepTunnelProvider.java
index 83fd55c..5fc6a95 100644
--- a/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/PcepTunnelProvider.java
+++ b/providers/pcep/tunnel/src/main/java/org/onosproject/provider/pcep/tunnel/impl/PcepTunnelProvider.java
@@ -1524,7 +1524,6 @@
                     bandwidth = attributes.getBandwidthObject().getBandwidth();
                 }
             }
-
             List<Object> eroSubObjList = buildPathFromEroObj(eroObj, providerId);
             List<Link> links = new ArrayList<>();
             List<LabelResourceId> labels = new ArrayList<>();
@@ -1535,10 +1534,8 @@
                     labels.add(LabelResourceId.labelResourceId(((Integer) linkOrLabel).longValue()));
                 }
             }
-
             Path path = new DefaultPath(providerId, links, cost, EMPTY);
             NetworkResource labelStack = new DefaultLabelStack(labels);
-
             // To carry PST TLV, SRP object can be present with value 0 even when PCRpt is not in response to any action
             // from PCE.
             PcepSrpObject srpObj = stateRpt.getSrpObject();
@@ -1570,7 +1567,6 @@
                 log.error("Stateful IPv4 identifier TLV is null in PCRpt msg.");
                 return;
             }
-
             IpTunnelEndPoint tunnelEndPointSrc = IpTunnelEndPoint
                     .ipTunnelPoint(IpAddress.valueOf(ipv4LspIdenTlv.getIpv4IngressAddress()));
             IpTunnelEndPoint tunnelEndPointDst = IpTunnelEndPoint
@@ -1584,7 +1580,6 @@
                 pcepClientController.getClient(pccId).setLspAndDelegationInfo(
                         new LspKey(lspObj.getPlspId(), ipv4LspIdenTlv.getLspId()), lspObj.getDFlag());
             }
-
             Tunnel tunnel = null;
             // Asynchronous status change message from PCC for LSP reported earlier.
             for (Tunnel tunnelObj : tunnelQueryResult) {
@@ -1677,7 +1672,13 @@
 
             //delegated owner will update can be a master or non-master
             if (lspObj.getDFlag()) {
-                annotations = getAnnotations(lspObj, ipv4LspIdenTlv, bandwidth, lspType, costType);
+
+                if (tunnel.annotations().value(BANDWIDTH) != null) {
+                    bandwidth = Float.parseFloat(tunnel.annotations().value(BANDWIDTH));
+                }
+                annotations = getAnnotations(lspObj, ipv4LspIdenTlv,
+                        bandwidth, lspType,
+                        tunnel.annotations().value(COST_TYPE));
                 td = new DefaultTunnelDescription(null, tunnelEndPointSrc, tunnelEndPointDst, MPLS, new DefaultGroupId(
                         0), providerId, TunnelName.tunnelName(new String(pathNameTlv.getValue())), path, labelStack,
                         annotations);