4755 Commits

Author SHA1 Message Date
Thomas Vachuska
2fd325f73a Minor clean-up of the 4.2.1 migration.
- eliminated annotations in a few remaining abstract component classes
- cleaned up gui/gui2 feature bundle lists
- added version to the karaf features patch
- loading onos-rest by default in karaf features patch
- onos-gui loading still WIP

Change-Id: Ie5a74c0daee939a9d2de30e1737e4f88dd2ae478
2018-10-01 13:21:23 -07:00
Ray Milkey
86ad7bb5e7 [WIP] apps CLI changes for karaf upgrade
Change-Id: I283efc39c7d4f4b31344f1d2d0cdd2b98a60932d
2018-09-28 11:21:43 -07:00
Ray Milkey
d84f89ba3d [WIP] Upgrade ONOS to karaf version 4.2.1
Change-Id: I7cd40c995bdf1c80f94b1895fb3344e32404c7fa
2018-09-28 11:20:57 -07:00
Jordan Halterman
e458f00453 Support hostname resolution for cluster configuration
Change-Id: I9afb97bfba05366fa63dc7b9022b914bd2d1cce0
(cherry picked from commit 97cd95d5a2a7a1bf1f3bfd3091f2d66f747eee33)
2018-09-25 16:04:28 +00:00
Ray Milkey
cc0012423b Remove some calls to the deprecated Path.cost() API
Change-Id: I71d01fdf35d8a06639e6422b4c8d5998b14e319d
2018-09-24 17:28:38 +00:00
Ray Milkey
6e7843d5a3 Remove deprecated non-filtered ingress and egress connect point APIs
Change-Id: Ie360dfc2288b27587ffcdb23bc29f266df1a8d73
2018-09-24 17:28:05 +00:00
Ray Milkey
7908ced318 Remove deprecated mplsLabel() method
Change-Id: I65db8d93185034a9f125456f5510a7dc66008dd6
2018-09-24 17:27:48 +00:00
Ray Milkey
d0f017fccb Remove deprecated value() method
Change-Id: I3056a47f4630a5667f9dc05280a6d0ab1a2c7ca8
2018-09-24 17:27:03 +00:00
Ray Milkey
6837293e1b Remove deprecated DistributedPrimitiveCreator APIs
Change-Id: I4a338159558827298d7bd85e3bed0d688f84d596
2018-09-21 11:00:46 -07:00
Ray Milkey
33306ba609 Revert "Removing applyRole to avoid double mastership requests to the provider."
This reverts commit 82e21897f3e735594510709fc9f0bc85f37d8f4c.

Change-Id: Id0a76f915fadcc0f83b588159eef537a5d695c62
2018-09-20 13:42:22 -07:00
Andrea Campanella
80b296d9c7 Notifying the delegate about the RESTORED event on the mastership of a given device.
In turn the DeviceManager checks the role and sends the proper one down to the provider to be applied.

Change-Id: Icab9ac30b6e269d8acf9d14896c9858beaedb6da
2018-09-19 13:14:33 +00:00
Ray Milkey
66bf3824ea Remove deprecated Host Provider APIs
Change-Id: Ie6b2d2e38160a015df97337c06101e9156c8ab83
2018-09-18 16:55:56 -07:00
Andrea Campanella
82e21897f3 Removing applyRole to avoid double mastership requests to the provider.
The request roleforSync call handles the request.
The store selects a role and this in turn issues a
handleMastershipEvent call that deals with applying the request

Adapting NETCONF device provider to mark online only after session establishment.

Change-Id: Id16937ced3af31b5b65bc6e5b0794557cf900a57
2018-09-18 07:35:41 +00:00
Ray Milkey
1f8fcc3c6b Fix problems detected by the latest version of errorprone
Change-Id: I532d3627fa232e93ee6860bd10db64c99e78f915
2018-09-17 22:48:13 +00:00
Ray Milkey
f031e308fd Remove deprecated constructors and change usges to builder pattern
Change-Id: I4d3b756268db233debdcb0782f738d38c77a50ac
2018-09-11 16:43:21 +00:00
Carmelo Cascone
33b27bc190 Ignore entries from constant tables in P4Runtime
Change-Id: I6ba8591a9674287832a18e258c5dd3801c588a32
(cherry picked from commit ba73da5bd09a6b40ab5727ef4a03767d437687e8)
2018-09-10 08:33:35 +00:00
Carmelo Cascone
de3b6843ca Relinquish mastership when device reports "permission" denied event
Also reduces default pipeconf watchdog probe interval
Also fixes NPE on GDP when device is unreachable

Change-Id: Ie2fe1874b0883a037596d9a555a2f8cc030a55a6
(cherry picked from commit d797e2c28505fbdbb8597038ebcf977a053bae72)
2018-09-10 08:33:22 +00:00
Ray Milkey
3bceb01c23 Remove deprecated getLeaderBoard() API from LeadershipService
Change-Id: I009e1ae26faef3950a7a5e997376783895f575f2
2018-09-07 13:42:46 -07:00
Carmelo Cascone
9e4972c5d8 Refactor P4Runtime subsystem to implement async connection procedure
This patch is an attempt to solve issues observed when restarting both
switches and ONOS nodes. Most of the issues seemed to depend on a
brittle mastership handling when deploying the pipeline.

With this patch, GDP registers devices to the core with available=false
(i.e. offline) and marks them online only when the P4 pipeline has been
deployed to the device. A new PiPipeconfWatchdogService takes care of
deploying pipelines and producing event when devices are ready.

Moreover, we fix a race condition where pipeconf-related behaviors
were not found. This was caused by GDP enforcing the merged
driver name in the network config, while external entities (e.g.
Mininet) were pushing a JSON blob with the base driver name. This patch
removes the need to rely on such a trick and instead uses
pipeconf-aware logic directly in the driver manager (change #19622).

Finally, we fix issues in P4RuntimeClientImpl that were causing the
stream channel not detecting unreachable devices. The solution is to
follow gRPC APIs and re-instantiate a new channel once the first fails.

Change-Id: I6fbc91859c0fb58a6db3bc197b7081a8fe9f97f7
2018-09-06 03:08:09 +00:00
Carmelo Cascone
0761cd3cc0 Few core changes in preparation of P4Runtime subsystem refactoring
Refactoring aims at providing a more robust connection procedure of
P4Runtime-based devices.

Refactoring requires devices to be registered to the core with
available=false (i.e. offline), and marked online only when the P4
pipeline has been deployed to the device. Also, it leaves the duty of
handling pipeconf-specific drivers to the driver subsystem, instead of
having the GeneralDeviceProvider take care of it, which resulted to be
brittle.

Changes include:
- Choose not to mark device online when re-asserting mastership role by
declaring special device annotation.
- Lookup drivers in device projectable model unsing driver service
device-based method, which is consistent with the way other subsystems
look for device drivers.
- In DriverManager, when looking for device drivers, consider the case
of pipeconf-programmable devices, in which case a special "merged"
driver needs to instantiated at runtime.
- In PacketManager, push flow objectives only if device is available
(i.e. after pipeline has been deployed).

Change-Id: I80f78a4f40730a06cb82fa55fefab08a91a89268
2018-09-06 03:07:44 +00:00
You Wang
45ce008e51 Increase leadership election timeout to 2500ms
Change-Id: I824fe2b56caeb344f65cfccaf54d8cf3fcafb49b
(cherry picked from commit 8825b4baf4445609819086685a62064ade23ff66)
2018-09-05 17:34:44 +00:00
Charles Chan
dc579c580a Implement compareTo for TableId to avoid IllegalArgumentException
java.lang.IllegalArgumentException: Comparison method violates its general contract!

Change-Id: I4033e9a6743f134583eab936de2b960d76274919
2018-08-29 19:07:02 +00:00
Jordan Halterman
35a02eaa85 Implement destroy() method for certain primitives to preserve backwards compatibility
Change-Id: I64e5790d531bf538bbfd886419362b14967331e6
2018-08-28 19:28:14 +00:00
Jordan Halterman
204c7bf435 Make leadership/mastership failover timeouts configurable
Change-Id: I5e45085205ef3025d947ba69b3a122d41315b828
2018-08-28 16:51:43 +00:00
Carmelo Cascone
da60a61435 Build missing pipeconf-merged driver at startup
Change-Id: Ia5600de362978be1f551c7581d138e35b9736108
(cherry picked from commit 11296f34f16041f3ae32c735b7218cb4ca98637a)
2018-08-28 04:51:16 +00:00
jaegonkim
8eabcecfe6 [ONOS-7751] Sometimes device availability is not changed to available after creation of OF device
Change-Id: I5fd62c598e865e149755b9d09594c985846a572b
2018-08-21 22:14:09 +00:00
Ray Milkey
761e80a427 Remove pom files from ONOS
Change-Id: I53e2395466cba10222d638736635b11380421d98
2018-08-21 18:11:58 +00:00
psneha
f31ac6ff9f Added one more Component Config REST API; for specified component and variable.
Change-Id: I810aa90636c55c8b05c146780ad28c307cefff33
2018-08-21 12:17:32 +00:00
Ray Milkey
312d987732 Starting snapshot 1.15.0-SNAPSHOT
Change-Id: I9239c7695f7faf6dc184a0ff54a34dedf4761b2d
2018-08-20 16:09:54 -07:00
Jordan Halterman
e075338aa7 Upgrade to Atomix 3.0.0 final
Change-Id: Ia8ea1394dde40776a2ede660f8bdb876332e4b49
2018-08-20 15:32:11 -07:00
Jordan Halterman
c1be5b8003 Upgrade to Atomix 3.0.0-rc12
Change-Id: Id05018faa82195608d0ec6dae5cedc7a8899fc19
2018-08-20 19:35:24 +00:00
Charles Chan
b71e1ba963 Do not queue VERIFY objectives
Change-Id: If53738aa3fbe89396bffcc95543a07e9f879c6cb
2018-08-17 17:45:03 +00:00
Ray Milkey
7981a32f37 Fix NPE when component can't be found
Change-Id: I803240cde2d2b2c5efeee03617d0e3a275a2f570
2018-08-16 23:52:44 +00:00
Saurav Das
09c2c4d19b Changing the default pw transport vlan to 4090 instead of 4093.
Also adding component config options for pw transport vlan and default internal vlan.

Change-Id: I8bb48530e46db8534b825eecd9aea781fe3f0de1
2018-08-16 05:00:04 +00:00
Ray Milkey
05d609aa02 buildifier reformatting of bazel files
Change-Id: I1645613ec9dc57e659e7036634fcf3f3992b05a7
2018-08-15 17:55:00 +00:00
Jordan Halterman
6cf60c3f33 Convert all Atomix exceptions to ONOS storage exceptions
Change-Id: If4ba6b4fa41643fc3d9a9f2d84dc68fd6399a352
2018-08-15 17:41:48 +00:00
Thomas Vachuska
6ac9035267 [ONOS-7162] Forcing provider scheme to always be in lowercase.
Change-Id: I27fa58b044da7a4f6d447082ecb92c8f448152fe
2018-08-14 23:19:54 +00:00
ONOS Jenkins User
03e5521fba Starting snapshot 1.14.0-SNAPSHOT 2018-08-14 22:13:58 +00:00
ONOS Jenkins User
3594c24cb2 Tagging 1.14.0-rc2 2018-08-14 22:13:02 +00:00
ONOS Jenkins User
4e5f2d67ac Starting snapshot 1.14.0-SNAPSHOT 2018-08-13 23:16:37 +00:00
ONOS Jenkins User
cff0bd8922 Tagging 1.14.0-rc1 2018-08-13 23:15:43 +00:00
Thomas Vachuska
afac1c61b8 Resizing a unit test that intermittently exceeds the default small size time limit.
Change-Id: I89775fc3520c925987a43127cc5c442e7be6214b
2018-08-13 17:03:00 +00:00
Ray Milkey
4867af2f9c Revert "Tagging 1.14.0-b1"
This reverts commit 78ce40093ac008fd6d169ab83d2d5961f91f6e31.

Change-Id: I8482f550c30f75d65333f6be9c9115a930abc56f
2018-08-10 16:53:10 -07:00
Jordan Halterman
bc559fd94e Upgrade to Atomix 3.0.0-rc11
Change-Id: I731b16319ce2e5607700e178d341729862c7ed57
2018-08-10 20:59:37 +00:00
Carmelo Cascone
4164436785 More p4runtime-related bazel build files
Change-Id: Icdd02a06d7905e4cd0a6c61d282fd522c7b75fe7
2018-08-10 18:42:44 +00:00
Ray Milkey
78ce40093a Tagging 1.14.0-b1 2018-08-10 11:16:44 -07:00
Carmelo Cascone
72893b7755 [WIP] Attempt at building grpc and p4runtime protocols with Bazel
STILL NOT WORKING AT RUNTIME

Change-Id: I1f9e60b12a12e09edad2a714ec2921a4f71c6d35
2018-08-09 20:33:39 +00:00
Jordan Halterman
fa71cc6fdf Upgrade to Atomix 3.0.0-rc10
Change-Id: If4095b225611a62831ae45dbf59550c7ce3a9f3c
2018-08-08 22:50:37 +00:00
Jordan Halterman
bc98239e13 Use default primitive timeout in map keys/values/iterators
Change-Id: I72e3b24eb219b4f10b02406c94798b7581d4effa
2018-08-08 08:03:57 +00:00
Jordan Halterman
6aca84c7e7 Upgrade to Atomix 3.0.0-rc7 to use agent distribution
Change-Id: I368ea95456553518bd627b1f4197442535186158
2018-08-06 02:12:32 +00:00