1. move tunnel 3 commands to onos-cli
2. add OCH ODU OMS port type;
3. fix some bugs in pcep tunnel provider and topology provider
4. Optimization of the command line tools of tunnel

Change-Id: I323ede971795c8fe6ecddc40e1061f42a8243867

fix tunnel provider bugs.

Change-Id: I323ede971795c8fe6ecddc40e1061f42a8243867
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 ec4d3dd..766715f 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
@@ -78,6 +78,7 @@
     private static final Logger log = getLogger(PcepTunnelProvider.class);
     private static final long MAX_BANDWIDTH = 99999744;
     private static final long MIN_BANDWIDTH = 64;
+    private static final String BANDWIDTH_UINT = "kbps";
     static final String PROVIDER_ID = "org.onosproject.provider.tunnel.default";
 
     private static final String TUNNLE_NOT_NULL = "Create failed,The given port may be wrong or has been occupied.";
@@ -154,10 +155,11 @@
     @Override
     public TunnelId tunnelAdded(TunnelDescription tunnel) {
 
-        long bandwidth = Long.parseLong(tunnel.annotations().value("bandWith"));
+        long bandwidth = Long
+                .parseLong(tunnel.annotations().value("bandwidth"));
 
         if (bandwidth < MIN_BANDWIDTH || bandwidth > MAX_BANDWIDTH) {
-            System.out.println("Update failed, invalid bandwidth.");
+            error("Update failed, invalid bandwidth.");
             return null;
         }
 
@@ -175,8 +177,7 @@
 
         // type
         if (tunnel.type() != Tunnel.Type.VLAN) {
-            System.out
-                    .println("Llegal tunnel type. Only support VLAN tunnel creation.");
+            error("Illegal tunnel type. Only support VLAN tunnel creation.");
             return null;
         }
 
@@ -198,18 +199,17 @@
         Tunnel tunnelOld = tunnelQueryById(tunnel.id());
         checkNotNull(tunnelOld, "The tunnel id is not exsited.");
         if (tunnelOld.type() != Tunnel.Type.VLAN) {
-            System.out
-                    .println("Llegal tunnel type. Only support VLAN tunnel deletion.");
+            error("Llegal tunnel type. Only support VLAN tunnel deletion.");
             return;
         }
         String pcepTunnelId = getPCEPTunnelKey(tunnel.id());
         checkNotNull(pcepTunnelId, "The tunnel id is not exsited.");
-        if (controller.deleteTunnel(pcepTunnelId)) {
-            log.info("delete tunnel:" + pcepTunnelId + "ok.");
+        if (!controller.deleteTunnel(pcepTunnelId)) {
+            error("Delete tunnel failed, Maybe some devices have been disconnected.");
+            return;
         }
         tunnelMap.remove(pcepTunnelId);
         service.tunnelRemoved(tunnel);
-
     }
 
     @Override
@@ -217,13 +217,13 @@
 
         Tunnel tunnelOld = tunnelQueryById(tunnel.id());
         if (tunnelOld.type() != Tunnel.Type.VLAN) {
-            System.out
-                    .println("Llegal tunnel type. Only support VLAN tunnel update.");
+            error("Llegal tunnel type. Only support VLAN tunnel update.");
             return;
         }
-        long bandwidth = Long.parseLong(tunnel.annotations().value("bandWith"));
+        long bandwidth = Long
+                .parseLong(tunnel.annotations().value("bandwidth"));
         if (bandwidth < MIN_BANDWIDTH || bandwidth > MAX_BANDWIDTH) {
-            System.out.println("Update failed, invalid bandwidth.");
+            error("Update failed, invalid bandwidth.");
             return;
         }
         String pcepTunnelId = getPCEPTunnelKey(tunnel.id());
@@ -231,13 +231,17 @@
         checkNotNull(pcepTunnelId, "Invalid tunnel id");
         if (!controller.updateTunnelBandwidth(pcepTunnelId, bandwidth)) {
 
-            System.out.println("Update failed,maybe invalid bandwidth.");
+            error("Update failed,maybe invalid bandwidth.");
             return;
 
         }
         service.tunnelUpdated(tunnel);
     }
 
+    private void error(String info) {
+        System.err.println(info);
+    }
+
     // Short-hand for creating a connection point.
     private ConnectPoint connectPoint(PcepDpid id, long port) {
         return new ConnectPoint(deviceId(uri(id)), portNumber(port));
@@ -334,22 +338,13 @@
                                                     true);
 
         // basic annotations
-        DefaultAnnotations annotations = DefaultAnnotations.builder()
-                .set("bandWith", String.valueOf(pcepTunnel.bandWidth()))
+        DefaultAnnotations annotations = DefaultAnnotations
+                .builder()
                 .set("SLA", String.valueOf(pcepTunnel.getSla()))
+                .set("bandwidth",
+                     String.valueOf(pcepTunnel.bandWidth()) + BANDWIDTH_UINT)
                 .set("index", String.valueOf(pcepTunnel.id())).build();
 
-        // if (path != null) {
-        //
-        // DefaultAnnotations extendAnnotations = DefaultAnnotations.builder()
-        // .set("pathNum", String.valueOf(hopNum))
-        // // .set("path", pathString)
-        // .set("pathType", String.valueOf(pcepTunnel.getPathType()))
-        // .build();
-        // annotations = DefaultAnnotations.merge(annotations,
-        // extendAnnotations);
-        // }
-
         // a VLAN tunnel always carry OCH tunnel, this annotation is the index
         // of a OCH tunnel.
         if (pcepTunnel.underLayTunnelId() != 0) {