[AETHER-77] onos-diagnostics-k8s

- Adds onos-diagnostics-k8s
- Introduces profile abstraction to make some cmds optional
- Refactors onos-diagnostics to make use of the profiles
- Optimizes T3_OFFLINE profile

Change-Id: I615f03971018526b174894b39b4255e6f9ce4e3e
diff --git a/tools/package/runtime/bin/onos-diagnostics-profile b/tools/package/runtime/bin/onos-diagnostics-profile
new file mode 100644
index 0000000..fecefae
--- /dev/null
+++ b/tools/package/runtime/bin/onos-diagnostics-profile
@@ -0,0 +1,145 @@
+#!/bin/bash
+
+#
+# Copyright 2020-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# 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.
+#
+
+# ------------------------------------------------
+# Defines profiles for different ONF projects
+# ------------------------------------------------
+
+# Base commands that are always useful.
+ONOS_PROFILE=(
+    "feature:repo-list"
+    "feature:list"
+    "bundle:list"
+    "scr-list"
+
+    "summary"
+    "nodes"
+    "apps@-s"
+    "netcfg"
+    "cfg@get"
+
+    "devices"
+    "device-drivers"
+    "links"
+    "hosts"
+    "interfaces"
+
+    "ports"
+    "portstats@-nz"
+    "edge-ports"
+
+    "packet-processors"
+    "packet-requests"
+
+    "intents"
+    "flows"
+    "groups"
+    "meters"
+
+    "roles"
+    "masters"
+
+    "maps"
+
+    "obj-next-ids"
+    "obj-pending-nexts"
+    "obj-queues"
+)
+
+# Trellis related commands. Includes also the base commands.
+TRELLIS_PROFILE=(
+    "${ONOS_PROFILE[@]}"
+
+    "fpm-connections"
+    "routes"
+    "sr-device-subnets"
+    "sr-ecmp-spg"
+    "sr-should-program"
+    "sr-link-state"
+    "sr-mcast-tree"
+    "sr-mcast-leader"
+    "sr-mcast-role"
+    "sr-pw-list"
+    "sr-next-mcast"
+    "sr-filt-mcast"
+    "sr-next-dst"
+    "sr-next-port"
+    "sr-next-vlan"
+    "sr-next-pw"
+    "sr-next-xconnect"
+    "sr-next-mac-vlan"
+    "dhcp-relay"
+
+    "mcast-host-routes"
+    "mcast-host-show"
+)
+
+# T3 offline related commands.
+T3_OFFLINE_PROFILE=(
+    "netcfg@-j"
+    "devices@-j"
+    "device-drivers@-j"
+    "links@-j"
+    "hosts@-j"
+    "ports@-j"
+    "edge-ports@-j"
+    "flows@-j"
+    "groups@-j"
+    "masters@-j"
+    "routes@-j"
+    "mcast-host-show@-j"
+)
+
+# VOLTHA related commands. Includes also the base commands.
+VOLTHA_PROFILE=(
+    "${ONOS_PROFILE[@]}"
+
+    "aaa-users"
+
+    "dhcpl2relay-allocations"
+
+    "volt-programmed-subscribers"
+    "volt-programmed-meters"
+    "volt-bpmeter-mappings"
+    "volt-olts"
+
+    "sr-device-subnets"
+    "sr-ecmp-spg"
+    "sr-should-program"
+    "sr-link-state"
+    "sr-xconnect"
+    "sr-mcast-tree"
+    "sr-mcast-leader"
+    "sr-mcast-role"
+    "sr-next-mcast"
+    "sr-filt-mcast"
+    "sr-next-dst"
+    "sr-next-port"
+    "sr-next-vlan"
+    "sr-next-xconnect"
+    "sr-next-mac-vlan"
+
+    "mcast-host-routes"
+    "mcast-host-show"
+
+)
+
+# SEBA related commands. Includes also the base commands.
+SEBA_PROFILE=(
+    "${VOLTHA_PROFILE[@]}"
+)
\ No newline at end of file