66 Commits

Author SHA1 Message Date
Ray Milkey
aeb0079719 Refactoring of provider buck builds.
Change-Id: I9b5e2566b83c13a8b7b086005a08a8182305ffdb
2016-04-25 17:03:49 +00:00
Jian Li
67e1e15d5a Enable to query the control metrics from remote node
Change-Id: Ifef1c6eafd7cc79ed99be51f7faa26d97aeb2f67
2016-04-22 16:39:16 +00:00
Jian Li
4fb7177c12 Replace Grizzly2 test container to Jetty test container
Grizzly2 test framework does not produce the same test results
compare to production REST API test through jetty web server.
By default Jersey 2.x uses the Grizzly2 test framework, this
commit tries to replace this test framework to Jetty based
http test framework.

Change-Id: I7bcb19bf73801cc66036487fd5a964e32ce1ba61
2016-04-20 17:18:43 +00:00
HIGUCHI Yuta
d9e0105d79 log uncaught Exception
- Use execute instead of submit so that uncaught Exception will
  be dealt and logged by ExecutorService's handler.
- Use component's own logger

Change-Id: I761264aea00748980929b5048e111756776dd2f6
2016-04-19 17:10:00 +00:00
Jian Li
a73fce3348 Notify all metric reporters when new types of system metric added
Change-Id: I307be0cb68bdc7fc3c75212c3fac4390fb9391a9
2016-04-13 20:20:16 +00:00
Jian Li
b6df66b802 Unregister ControlLoad codec when deactivate CPMan
Change-Id: I4478b4bcdd99dce3e1b6bc12cf78558eebf32db9
2016-04-13 18:46:38 +00:00
Jian Li
b691dd3805 Deprecate and clean up some classes on control metric aggregation
Since the metric aggregation logic has been moved to message
provider, now there is no caller which refers to those classes.
Due to this reason, following classes need to be purged to
maintain clean code repository.

Change-Id: Id5bcb7eda6ce3538c18007301da35df9255159ae
2016-04-11 18:09:38 +00:00
Jian Li
55cbd5c385 Notify all metric reporters when metric registry has been changed
With existing implementation, it is difficult to notify the
metric reports on metric registry changes. With this commit,
we can spontaneously notify all reporters about the metric
registry changes, so that newly added metrics can be automatically
reported to third party monitoring system.

Change-Id: I1273194553900f6bb03e2ef6bb1b54838af1da00
2016-04-11 17:08:19 +00:00
Brian O'Connor
5ab426f9ff Updating copyrights
New format: 'Copyright .year-present Open Networking Laboratory'

Change-Id: I1a9e58b355b775e75245ad875a2d7a4df3f03098
2016-04-09 01:20:21 -07:00
Jian Li
7eed4177ca Aggregate system metrics using metrics service
Change-Id: I617fa21973b7e01b92f311a6fa5687e1f0f870c2
2016-04-08 00:05:54 -07:00
Jian Li
9f3a885e9c Resolve some NPEs during collecting system metrics
Change-Id: Id018026676948d732f342d634dff6fba630c1414
2016-04-08 02:22:23 +00:00
Jian Li
e277ebe5b1 Change CPMan REST prefix to resolve confliction with core REST API
Change-Id: I46a0aea4720bcb479a005477a16085a777dbf298
2016-04-08 02:22:20 +00:00
Ray Milkey
7c25182db9 Fix buck tests
Change-Id: I3d681e6e5c1d3e98c87ccb3d20a619b216ae6133
2016-04-06 19:04:52 -07:00
Brian O'Connor
85f28d0a0a Updating test sources in several BUCK files
Change-Id: I17b83cb978f7b8fc1d31a1e96bec59a077dbdfbb
2016-04-06 16:57:45 +00:00
Jian Li
daf55eadaf Add resource name into MetricsDatabase, handle exception gracefully
Change-Id: Icf19965a0fcbfd9696c42b12c32441fd3b161734
2016-04-06 01:57:56 +00:00
Jian Li
4563aa2f9e Fix NPE, CNF exceptions in REST API
Change-Id: Id24d48d54d3aba72baf59437e39edd24cf390eb4
2016-04-05 04:39:43 +00:00
Brian O'Connor
284fb69b0d Updating BUCK files to match pom.xml changes
Change-Id: I7fb4bf2acdc2a8933f1037fdbdb6b6ca00ffff1e
2016-04-04 19:28:47 -07:00
Brian O'Connor
a450bd000b Simplifying Import-Package line in maven-bundle-plugin for REST bundles
Change-Id: Ic29e3f205e18b7b63e33a8c65cbb30a8b56d2e74
2016-04-04 21:33:36 +00:00
Jian Li
8b0ea969eb Camelize the name of metric type for REST API
Change-Id: Ib44be594e4021ed36e5069ec0bce8c17dd044706
2016-04-04 11:54:43 -07:00
Jian Li
d86fac3927 [ONOS-3663] Add swagger doc for control metrics query REST API
Change-Id: Id8b667dabb64d11149b43cfeead57cf5ebd6997e
2016-04-04 16:39:38 +00:00
Jian Li
23906ccfeb [ONOS-3538] Implement control metrics distribution logic
- Revise getLoad method to getLocalLoad
- Add new getRemoteLoad methods
- Add the capability to query remote control load

CLI and REST will be implemented in a separated patch

Change-Id: I62d4f4ab891d6d3e95cedd5af9e4ab71949c05ec
2016-04-01 22:50:58 +00:00
Ray Milkey
f80bbb22c2 Initial BUCK build
Change-Id: I64e8a979301989062f4545a4841b06c15a372049
2016-03-29 21:39:14 +00:00
Jian Li
80c1270f46 [ONOS-3663] Implement control metrics REST API
Change-Id: Ifc901863e55cdd161d704ecd584242786671af87
2016-03-28 19:07:07 +00:00
Jian Li
9d61649f0f [ONOS-4042] Bump up Jersey from 1.19 to 2.22.2
- Fix unit test errors of web/api
- Fix default page redirection problem
- Fix compilation errors of web/gui
- Fix configuration of aaa, acl, cordfabric, cord-gui, dhcp, mfwd,
  olt, openstack, segmentrouting, vtn, virtualbng, xos-integration
- Fix unit test errors of cpman, vtn, acl, faultmanagement
- Fix compilation errors of openstack, virtualbng, xos-integration,
  REST SB controller
- Rearrange features.xml to resolve bundle dependencies
- Remove all of stale Jersey 1.x libraries
- Rearrange web.xml to point new Jersey 2.x servlet

Change-Id: Ic17f461ede0aa36fa8d470546d8069152dc1d134
2016-03-24 18:54:28 +00:00
Brian O'Connor
955c316b54 Starting snapshot 1.6.0-SNAPSHOT 2016-03-10 15:27:19 -08:00
Brian O'Connor
55b4d80176 Tagging 1.5.0 (Falcon) 2016-03-10 15:24:41 -08:00
Madan Jampani
23696428f8 Starting snapshot 1.5.0-SNAPSHOT 2016-03-09 14:02:04 -08:00
Madan Jampani
b7a5420285 Tagging 1.5.0-rc3 2016-03-09 13:47:32 -08:00
Jian Li
fd46e1d293 Refine application title and category in app.xml and pom.xml
- Remove ONOS keyword from application title
- Capitalize each keyword in application title
- Make it consistent to use App, Provider and Driver in
  application title
- Add right category name for each application
- Add missing application title and category
- Make application category comment more descriptive

Change-Id: Ib886b4a4293c38bd546a4107b20569f1bd7031a7
2016-03-08 18:41:50 +00:00
Jian Li
2b746f4cbd Add missing application titles in app.xml with pom.xml clean up
Change-Id: I543572d696f30f2ceebd39d9c6c33be55f5da38d
2016-03-08 06:06:32 +00:00
Thomas Vachuska
5d8994ffce Starting snapshot 1.5.0-SNAPSHOT 2016-03-03 17:13:26 -08:00
Thomas Vachuska
40d5255ca9 Tagging 1.5.0-rc2 2016-03-03 17:08:36 -08:00
Jian Li
1a66d61e4c Add equals, toString, hashCode methods for DefaultSystemInfo
Change-Id: I2d5acc7fb03c2edc28ee6996e774366c9c25910e
2016-02-20 04:46:26 +00:00
Jian Li
1a42469471 Refactor SystemInfo, and store SystemInfo into singleton instance
- Implement Bill Pugh singleton for ControlMetricsFactory and
  SystemInfo class

Change-Id: Ia97538d9f1be9ea900b0e87371bf50877eaf6483
2016-02-17 01:24:04 +00:00
Jian Li
f53d0b2d1e Add more unit tests for control plane manager
- Add unit test for ControlMessageMetricMapper
- Add unit test for ControlMessageManager

Change-Id: I83e2eda8ca5ed3dabae2fb262a20b7d45de4c75d
2016-02-17 01:23:07 +00:00
Jian Li
fdbc0fc36c Merge various resource type completers as one completer for CPMan
Change-Id: If4a9f6fa6705f49847139cd95b28ec0482d47415
2016-02-12 22:26:07 +00:00
Jian Li
72b9b129a5 [ONOS-3535] Accumulate control message stats using monitor service
- Augment the control message class to have device id
- Initial implementation of accumulating control message stats
- Add more adpator for unit test
- Change Collection<ControlMessage> to Set<ControlMessage>
- Fix the arithmatic exception
- Fix some javadoc warnings

Change-Id: I2abaf0d91edca5419b26f1c5a69246bcdb9201bf
2016-02-12 21:34:21 +00:00
Jian Li
5c5ddcdcae Add unit tests for ControlMessageEvent and DefaultControlMessage
Change-Id: I3909b528befa479be96256d999b953fb923a9fda
2016-02-11 16:09:11 -08:00
Jian Li
01a616726b Define a new control message to control metric type mapper
Change-Id: Id5b365753a3a5abc3a864c4350e427336ee69448
2016-02-11 23:52:42 +00:00
Jian Li
1446aef8a5 Add dependency between onos-app-cpman and onos-of-provider-message
Change-Id: I428d9a046086d86f037d481468c67c8875b6ec5f
2016-02-11 20:16:40 +00:00
Jian Li
4545cf1940 [ONOS-3537] Initial implementation of ControlMessageManager
- Add skeletal code of ControlMessageStore
- Add initial implementation of ControlMessageManager

Change-Id: I17161ce18b67e8f35ea9b80832f3732a55de323b
2016-02-11 17:29:10 +00:00
Jian Li
93a1383cd2 Add skeletal CPMan manager component interfaces
Change-Id: Ica16e43849dd3bb0b90936a20ef4af477045b376
2016-02-09 22:00:47 +00:00
Jian Li
85060ace94 [ONOS-3662] Add CLI for control plane manager
- Implement CLI for enumerating control plane metrics stats
- Implement ControlResourceTypeCompleter
- Implement DiskResourceNameCompleter
- Implement NetworkResourceNameCompleter
- Implement ControlMessageDeviceIdCompleter
- Extract the control resource type and metrics in a separated
  class for the sake of simplicity.

Change-Id: Ic505191a74bd463091b0e5c75e11f1824bafb816
2016-02-05 23:31:21 +00:00
Jian Li
1fdd224218 Not allow null value for all control metrics, revise unit test
Current implementation allows null value from REST API.
Null metric value leads the metrics database to not store the value
properly. This commit tries to fix this issue.

Change-Id: I82a5fd0d11671db4d2136a3fc40090b7684ba91a
2016-02-05 18:18:55 +00:00
Jian Li
c5cb4a1441 Clean code and refine javadocs for control plane manager
Change-Id: Ieaaebde69ce2ab54cb819cfad1baa34ee97a7d66
2016-02-04 22:44:38 +00:00
Jian Li
7d180c56a3 Implement updateMetric and getLoad methods of ControlPlaneMonitor
- Add rrd4j jar, and wrap it as a bundle for karaf
- Implement updateMetric and getLoad methods
- Add unit test for two methods
- Revise the DefaultMetricDatabase to make it generate unique in
  memory storage space
- Revise the ControlPlaneMonitor interface
- Rename percentage to ratio, due to long string unsupport
  issue in RRD

Change-Id: Ia9d56f8e4f4bcd7ef7a29732668caa9c6a885ecf
2016-02-04 02:06:40 +00:00
Jian Li
ba6b1172d8 Add resource name param to diskMetrics and networkMetrics method
- Enable to add metrics of multiple disks
- Enable to add metrics of multiple network interfaces

Change-Id: I6e91d63b7a02f0d2f63fe445712a23e72d208789
2016-02-03 22:48:32 +00:00
Jian Li
ec343ff628 Implement DefaultControlLoad, add lastUpdate for MetricsDatabase
Change-Id: Ice2ba793927117245c3fd12f32da239b60240c90
2016-02-03 02:01:11 +00:00
Jian Li
10a2070bc8 [ONOS-3851] Add skeletal code of Web GUI for Control Plane Manager
Change-Id: I0df9c55daec0b6d9a630aa954808e6c310ba861c
2016-02-02 02:11:48 +00:00
Jian Li
54df73eee8 [ONOS-3648] Rename CPMan REST API prefix
Existing REST API prefix is "cpman" which does not convey the
right meaning of the API.
This commit changes the prefix name from "cpman" to "collector"
to better convey the right meaning. This commit also splits the
REST URL with "_" to improve the URL readability.

Change-Id: I3152f7b784f2ae6cbaa8855dea8d5eaabd152487
2016-02-02 01:47:41 +00:00