renci-nrig / na2-oess-plugin Goto Github PK
View Code? Open in Web Editor NEWNodeAgen2 plugin for OESS
License: Eclipse Public License 1.0
NodeAgen2 plugin for OESS
License: Eclipse Public License 1.0
This code is no longer being maintained. The repo is kept for historical reasons. For NA2 configuration file, the following parameters can be specified: <plugin name="oess-plugin"> <!-- mandatory --> <jar>../../../na2-oess-plugin/target/oess-plugin-1.0-SNAPSHOT-jar-with-dependencies.jar</jar> <!-- mandatory --> <mainClass>org.renci.nodeagent2.oess.Main</mainClass> <!-- mandatory --> <schedulePeriod length="5" unit="minute" /> <!-- mandatory --> <description>OESS Plugin for localhost</description> <properties> <!-- mandatory --> <property name="oess.username" value="oess" /> <!-- mandatory --> <property name="oess.password" value="oess" /> <!-- mandatory --> <property name="oess.url" value="https://localhost:20443/oess" /> <!-- mandatory --> <property name="workgroup.id" value="1" /> <!-- mandatory --> <property name="network.type" value="openflow" /> <!-- disables SSL cert and host checks, useful for testing, should be enabled in production --> <property name="disable.ssl.check" value="true" /> <!-- disable SSL SNI extension (should be done for AL2S OESS servers) --> <property name="disable.sni" value="true" /> <!-- enable HTTP debugging into log file --> <property name="debug.http" value="false" /> <!-- For MPLS network only, force to use shortest path. For openflow shortest path always used regardless --> <property name="use.shortest.path" value="true" /> <!-- comment to put with the circuit created by node agent --> <property name="oess.comment" value="Test Circuit" /> </properties> </plugin> The plugin uses the following ADDITIONAL properties for JOIN operations: private static final String TAGZ_PROP = "oess.tagZ"; - on join call specifies one of the endpoint tags private static final String TAGA_PROP = "oess.tagA"; - on join call specifies one of the endpoint tags private static final String EPZ_PROP = "oess.endpointZ"; - on join call specifies one of the endpoint OSCARS urns private static final String EPA_PROP = "oess.endpointA"; - on join call specifies one of the endpoint OSCARS urns private static final String BW_PROP = "oess.bw"; - on join call specifies bandwidth in BPS(!)
Background information is here https://github.com/RENCI-NRIG/exogeni/issues/364
Need to decide on the timeline and whether we want to support anything beyond the Layer 2 functionality currently supported.
Refer for more details https://github.com/RENCI-NRIG/exogeni/issues/280
AL2S circuit create/remove requests occasionally fail when multiple requests are submitted.
Inter-rack slices with >3 circuits encounter some failed ion reservations.
Join calls are submitted for all ion reservations, most of them succeed, but at least one (or more) circuit request encounters error in Nodeagent as below. On the other hand, circuits are created for all join calls on OESS.
Error reported on Flukes:
Last lease update: all units failed priming: Error code 255 during join for unit: BE4C2E08 with message: join error: Unable to invoke join method in org.renci.nodeagent2.oess.Main due to Exception: org.springframework.web.client.HttpServerErrorException: 504 Gateway Timeout
Nodeagent2 Log (na2d.log) statement for the failed reservation:
2019-01-03 16:59:39,139 INFO [qtp2073127856-309] server.PluginController.join() - JOIN call to oess-plugin, setting deadline to Tue Jan 15 16:59:39 EST 2019
2019-01-03 16:59:39,140 DEBUG [qtp2073127856-309] server.PluginController.join() - with properties oess.endpointA: urn:ogf:network:domain=al2s.net.internet2.edu:node=rtsw.jack.net.internet2.edu:port=et-4/0/0, oess.tagZ: 3991, oess.tagA: 1422, oess.dir: /etc/orca/am+broker-12080//packages/pkg/6E06A4E8-90F7-4530-B263-4230D80E7ED5, oess.site.properties: /etc/orca/am+broker-12080/config/oess.site.properties, oess.scripts: /etc/orca/am+broker-12080//packages/pkg/6E06A4E8-90F7-4530-B263-4230D80E7ED5/scripts/, oess.endpointZ: urn:ogf:network:domain=al2s.net.internet2.edu:node=rtsw.pitt.net.internet2.edu:port=et-4/0/0, oess.bw: 10000000,
2019-01-03 16:59:39,140 INFO [qtp2073127856-309] oess.Main.join() - Creating OESS circuit from rtsw.jack.net.internet2.edu---et-4/0/0/1422 to rtsw.pitt.net.internet2.edu---et-4/0/0/3991 with bandwidth 10Mbps
2019-01-03 16:59:39,140 INFO [qtp2073127856-309] oess.Driver.provisionCircuit() - Invoking provisionCircuit() with default path for rtsw.jack.net.internet2.edu/et-4/0/0/1422 and rtsw.pitt.net.internet2.edu/et-4/0/0/3991
. . .
2019-01-03 17:00:50,013 ERROR [qtp2073127856-309] server.PluginController.join() - PluginError invoking join on oess-plugin: org.renci.nodeagent2.agentlib.PluginException: Unable to invoke join method in org.renci.nodeagent2.oess.Main due to Exception: org.springframework.web.client.HttpServerErrorException: 504 Gateway Timeout
2019-01-03 16:54:01,888 INFO [qtp2073127856-308] oess.Main.leave() - Removing OESS circuit 379919
2019-01-03 16:54:01,888 INFO [qtp2073127856-308] oess.Driver.removeCircuit() - Invoking removeCircuit() for 379919
. . .
2019-01-03 16:54:51,318 ERROR [qtp2073127856-284] server.PluginController.leave() - PluginError invoking leave on oess-plugin: org.renci.nodeagent2.agentlib.PluginException: Unable to invoke leave method in org.renci.nodeagent2.oess.Main due to Exception: org.springframework.web.client.HttpServerErrorException: 504 Gateway Timeout
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.