312 Commits

Author SHA1 Message Date
Carmelo Cascone
3c216fa4f4 Fixed bmv2.py assigning gRPC/Thrift port already in use
Also handle Mininet exceptions by shutting down all BMv2 instances

Change-Id: I5a8d1a06441daa57c5dd3b0861f1b7484828174a
2018-06-22 14:52:15 +02:00
Carmelo Cascone
df32beae1e Fixed AttributeError when logging bmv2 crash in bmv2.py
Change-Id: Ia899a0e5090d3f27694b65f2a75f06500a0b6fec
2018-06-19 21:03:34 +00:00
Eder Ollora
319b9bfe3e Fixed URL for p4.vim in tutorial script
Change-Id: Ia7a174edfd63ba677fce81fc91b4463cfc62d813
2018-06-19 15:06:39 +00:00
Carmelo Cascone
6af4e17c53 Bumped supported revisions of P4 tools
Includes:
- Use new P4Runtime "v1" package names
- Removed VALID match
- New table entry priority spec (1 is min priority, not 0)
- Fixed p4c-bm2-ss to include arch flag
- Re-compiled P4 programs with more recent p4c (with updated p4info)

Change-Id: I05908f40eda0f0c755009268fd261fb8bcc9be35
2018-06-15 19:04:30 +00:00
Thomas Vachuska
f5d1720a86 Consolidating BUILD files for clarity and ease of maintenance.
- module definitions extracted to modules.bzl
- all packaging done from top BUILD file
- removed all BUILD files from under tools tree

Change-Id: I0f45eb77c809c48d1446ce86f62be6f5baf40ded
2018-06-13 00:53:18 +00:00
Thomas Vachuska
0f95603f6e Adding Bazel packaging of admin tools and test tools.
Change-Id: I321c79264cf5f3ca0d6c7a52e300c916acbe463a
2018-06-12 18:33:44 +00:00
Yi Tseng
43ee7e8ea8 Add P4 info to java constant tool
Change-Id: I73a451404e8b657845bfc9b6a37abd824a10910e
2018-06-08 02:17:09 +00:00
Andrea Campanella
4f9085e2d7 Adding an STC scenario for fabric.p4
Change-Id: I3457ab67c2c97eab73623500ba3f6a75b9ed33a3
2018-06-04 10:24:55 +00:00
Carmelo Cascone
55965c6aae Allow arbitrary ONOS device ID in bmv2.py
Needed for SR functional tests

Change-Id: Ieec7d6ef72628b55787b0275d725c829230790da
2018-05-21 17:17:56 +00:00
Yuta HIGUCHI
57ba38eb10 bump yang-tools version to 2.4.7
Change-Id: I0a257b8b524cd7f6e606d57e6d1a3a5388646ebe
2018-05-16 02:05:38 +00:00
Carmelo Cascone
c282133c31 Remove depenency on internal BMv2 device ID when starting bmv2.py
Needed to support TestON-based Segment Routing tests. All instances
started with internal ID = 0 (one PI/P4Runtime server procees is
executed for each simple_switch_grpc instance, i.e, there's no need to
use different internal IDs to distinguish between switch instances).
Log/conf files and bm-* commands are now based on switch name.

Change-Id: I34d3079d6dff5933ceb4d95f04863426af24eb81
2018-05-15 05:19:30 +00:00
Carmelo Cascone
ef71549529 Fix incorrect SSH port when generating P4 VM
Change-Id: I649433e2fcaa3c935bd6ebe61240e1645ace8d77
2018-05-14 19:48:46 -07:00
Carmelo Cascone
57defd3782 Generate leaner P4 VM
Dev: 1.5 GB instead of 3.5 GB
Tutorial: 2.3 GB instead of 5.5 GB

Change-Id: Ib63d47578a2c9e16a97827bfba463f90cfe1187d
2018-05-11 16:01:16 -07:00
Carmelo Cascone
c5569c2c19 Extend ONOS+P4 VM scripts to build tutorial VM
With Lubuntu desktop and P4-enabled code editors

Change-Id: I0c287c1d039da5f227d43994340b20a01ffc2617
2018-04-18 09:48:30 +00:00
Carmelo Cascone
eaa8b1dcf9 Simplified Mininet command line args when using bmv2.py
All lower case, easier to remember

Change-Id: I5093769263f8c282381e0f8f8bcd040268045809
2018-04-11 21:30:02 +00:00
Carmelo Cascone
81929aa0cf Bumped supported commit of P4Runtime and BMv2
Includes fixes for:
- ONOS-7593: Support for indirect resource Index type
- ONOS-7595: Removed ID from direct resources
- P4Runtime requires unset bits to be 0 in ternary field matches
- Incorrect parsing of flow rule byte counters
- Full entity names in P4Info with top-level control block (fixed only
	for basic.p4, other programs need to be re-compiled and PI IDs in
	respective pipeconf changed)

Change-Id: Ia19aa949c02e363a550e692915c6d6516a2d13d7
2018-04-11 19:04:45 +00:00
Carmelo Cascone
05354678a9 Fixed missing square brackets in install-p4-tools.sh
Change-Id: I46e118bba275e704ddc0c73514796e2ca2495b52
2018-04-10 20:57:53 +00:00
jaegonkim
a1988f3fdf [ONOS-7600] Supporting debug mode in onos.py
Change-Id: I388114bfd2419181cca6e137a9cc9b84c62c90de
2018-04-10 18:37:35 +00:00
Thomas Vachuska
a10137c0fc Fixing residual ON.Lab references.
Change-Id: Ic54a281ce67e49236c7aeb536729d3900dd9433d
2018-04-04 00:02:22 +00:00
jaegonkim
4e360499cc [ONOS-7489] onos.py - killing onos, and restarting onos for onos cluster failover test.
Change-Id: I111ccc72ac5d7ae826973e613b2073e96099f3f9
2018-03-13 17:37:54 +00:00
Ray Milkey
32e73d7783 allow for null 5th parameter
Change-Id: Ib2fa030b52403a293f379f8c4ffa8e81ec5c2840
2018-03-09 17:53:08 +00:00
Ray Milkey
2c6ffb8c95 Allow default bash profile to be run with unbound variable checking enabled
Change-Id: I82e4028f5b3e43eedae072dda1c45156fb3b0cee
2018-03-09 17:42:10 +00:00
Yuta HIGUCHI
5a438bbdee Forgot to bump yang tool version
Change-Id: Ia0f77356814c18b7f77a269b9ed11fa606abd9db
2018-03-01 17:12:47 -08:00
Thomas Vachuska
7f2a356294 Creating build of a small bundle of remote administrative tools that
can be installed separately from the ONOS source or ONOS runtime.

Change-Id: I0f8a7e2739010f34d913d79ab40390aef3fc07e2
2018-02-28 18:57:05 +00:00
Yuta HIGUCHI
a5ab2246ce alias for op, ob with retries
Change-Id: I5ce9aa0dac21cc509f0e3450a8ba2a811ebcfbcb
2018-02-15 19:33:55 +00:00
Yuta HIGUCHI
28bcaf16dc decouple buck yang plugin from buck main archive
- prep to allow bumping yang tool versin without releasing whole
  onos-buck archive

- with this patch,
  reverting back from locally patched state
  (= undo `patch-yang-libs`)
  will be:
   $ git checkout -- lib/BUCK tools/build/onos-buck

Change-Id: I06bfccdcfd6b22e2252b5c9dc145cece26058841
2018-02-15 19:33:05 +00:00
Carmelo Cascone
4f985cd8c5 Disabled gNMI support in p4vm until it becomes more stable
Change-Id: If2085d5824a2b9d06b249bf8d82d92fd384de5af
2018-02-11 20:12:49 -08:00
Ray Milkey
5193cb736c Bump yang tools version to 2.4
Change-Id: I7fada36e6ecd93d761c41ba70f057ce3a62b842b
2018-02-09 20:46:57 +00:00
Kevin Chuang
53a9d5b37d Fix build error on Ubuntu 14.04
- Build protobuf-c (libprotobuf-c-dev is not available on Ubuntu 14.04
apt repository)
- Build libboost-iostreams1.58 (The highest version of libboost-iostreams on Ubuntu 14.04
apt repository is 1.55, which will cause error when building p4c)

Change-Id: I00648e3c4890ebee0052c643e9f4b4ea10d345a9
2018-02-01 01:00:54 +00:00
Carmelo Cascone
76b3ee6bb5 Install P4Runtime Python test scripts in dev VM
Change-Id: I096bf1ef6b91bb2507745250c5fec0a7d18a6680
2018-01-31 02:16:09 +00:00
Thomas Vachuska
ca40fe4961 Added a new warden slave
Change-Id: Ie588b13cf9f8e071fb48c1073499e09d1dd2aed4
2018-01-30 17:18:05 +00:00
Andrea Campanella
bf9e5ce3f5 [ONOS-7137] Interfaces Discovery through gNMI
Also, bumped version of gNMI proto as supported by PI

Change-Id: If2903b2dc483f545893daae77f993cc7dadee468
2018-01-24 16:54:21 +00:00
Carmelo Cascone
f11513d1bc Various improvements to P4 dev env
- Better handling of BMv2 crashes in bmv2.py (with watchdog and logging)
- bm-* commands for easy access to BMv2 log, CLI, etc

Change-Id: I1c79acda641171566d8e1162442c7f377bb273fe
2018-01-18 00:59:26 +00:00
Carmelo Cascone
b7e618d43d Updated script to build P4 VM
Among other things, build now is not based on the upstream version of
onos-setup-p4-dev, but on the local one.

Change-Id: I270a324152a9349d6a9989aa8b5a38b45e1856d9
2018-01-14 18:21:06 +00:00
Brian O'Connor
f3735654e3 Updating onos-setup-p4-dev to support gNMI
- Adding gNMI dependencies
- Updating PI and BMv2 to build with sysrepo support
- Building simple_switch_grpc with Thrift server

Change-Id: Ida69d80353652174b0bc61a16b6436bf78a2d194
2018-01-13 00:38:27 +00:00
Carmelo Cascone
65cd9e3e17 Bumped version of p4c in p4 tools script
Needed to fix bug seen when compiling spgw.p4

Change-Id: I2f6d06bdd7755e0819c8f1dc91d3746f922089cb
2018-01-09 21:12:42 +00:00
Keesjan Karsten
8539f088f2 Mininet gRPC switch startup reachability check
Just a small change to make sure the gRPC port of simple_switch_grpc
is actually opened after startup, before ONOS gets the netcfg to try
to connect to the switch. Otherwise ONOS will receive a TCP RST from
the still closed port and the connection fails, rendering the switch
devices unavailable. Also included a timeout for port opening.

Change-Id: I1338a4ba24a14be57717f636e684c91c4cb12a7c
2018-01-04 16:08:15 +00:00
Carmelo Cascone
d66150733a ONOS-7330 Added ONOS-P4 VM build script
Builds and OVA from scratch with the most updated tools in one command.
The build process is based on Vagrant.

Change-Id: I633d99092946f99e877f0c97631a4f99c5b1f37e
2017-12-20 21:56:02 +00:00
Carmelo Cascone
ee09071b6a Bumped p4c and fixed missing dependency in onos-setup-p4-dev
Change-Id: I079c55a4f7716369f6b8828b3ffd6477a9a31ed5
2017-12-15 18:06:25 +00:00
Carmelo Cascone
b1936bd93f Bumped version of gRPC to 1.3.1
Change-Id: I7798476bd443a796e0e6a6e149ab8f66435ba4fa
2017-12-13 03:24:50 +00:00
Andrea Campanella
8bcd5863ff [ONOS-7311] and [ONOS-7197] Update ONOS to support most recent version of BMv2 and PI
Change-Id: Ie69cfe1946f3c9241dc7f59a64bd40005a063931
2017-12-12 14:03:36 -08:00
Thomas Vachuska
28d4657304 Changing cell configuration to reflect the move to flex data center.
Change-Id: I0b3710b8e9b329b62a765ac87a269cd7aac4d7dd
(cherry picked from commit d2535d768d7b0c2385c907e060fe6e5ded899942)
2017-12-05 21:40:35 +00:00
Ray Milkey
cbf9917ca8 Bump up ONOS to version 2.3.1 of yangtools
Change-Id: I96c3ce7672df6c11f9049eb8462b395b75087da2
2017-11-30 20:05:56 +00:00
Carmelo Cascone
6ec8f8ff93 Minor refactoring of BMv2 mininet scripts
With options to delay pushing the netcfg for each device and generating
the full netcfg JSON for bmv2-demo.

Change-Id: I046a93a8c639f4bb4cf76cbd61b826473760bfb1
2017-11-23 00:49:04 +00:00
Carmelo Cascone
c3baa4cad9 Fixed onos.py
It now works also when no OpenFlow subsytem is loaded

Change-Id: If51f1ab654dad7c02a3f8744b53f4029abf1bd9f
2017-11-21 19:05:43 +00:00
Yuta HIGUCHI
74681b57f2 Bump next yang tool version to 2.4 series
Change-Id: I90cd799f2bc263f2b59de961cbfba8fd0abede29
2017-11-15 22:52:55 +00:00
Ray Milkey
1c4826636c Bump up yangtools to 2.3 version
Change-Id: Ia56b3a3866760a58aa541604a20f23317fe94b4d
2017-11-15 22:40:44 +00:00
Lyndon Fawcett
fbad2e75f8 ONOS-7040 added java options for configuring maximum and initial memory pool for JVM.
Change-Id: I87246759ffcd063497e2b522686f2028fe2c150a
2017-11-10 20:05:14 +00:00
Yi Tseng
3e7f145b90 [ONOS-7143] Add arbitration update support by P4RuntimeClient
Change-Id: I671275576018d50447f969166a7b42a28dd93b1d
2017-11-03 23:13:29 +00:00
Ray Milkey
1cf74edf93 Update ONOS to use yang tools version 2.3.0-b3
Change-Id: I09f6ac082804a1e4b9f80732bbebb83596a1f4d7
2017-11-03 15:00:07 -07:00