Plastic

Welcome to 

Introduction

The Plastic Project Proposal is a great place to get the five minute read of what Plastic is and why you might want to consider using it. A portion of that content is repeated below.

What is a mapping problem?

  • Occurs in internals of a system behind endpoints
  • ODL context – moving from northbound to southbound representations
  • Sometimes need to trivially convert data representation
  • JSON, XML, YML, other parse-able formats
  • Sometimes need to change abstractions (1:1, N:1, N:N)
  • Morph one model into completely different model
  • Morph N models into one model

ODL/plastic Advantages

  • Pay-as-you-go for complexity (field deployable changes)
  • Declarative representations are emphasized (clear schemas)
  • Translation-by-intent (say what you want, not how to do it)
  • Deeper levels of abstraction to help keep custom logic schema-independence
  • Can specify arbitrary morphing via plug-ins in JVM language
  • Understands breaking large mapping problems up (both time and space) into small chunks

Solves problems like…

  • Schema changes for device configurations across releases
  • No more hard-wired dependency on vendor libraries
  • In-the-field updating to support multiple versions of devices
  • Light weight specifications avoid religiosity around “DRY"

Project Facts

Project Creation Date: Nov 1st, 2019
Lifecycle State: Incubation
Type: Kernel
Primary Contact: Allan Clarke <aclarke-at-pobox.com>
Project Lead:  Allan Clarke <aclarke-at-pobox.com>
Committers:  
IRC: freenode.net #opendaylight-plastic
Mailing List:  plastic-dev@lists.opendaylight.org
    Archives: mailing list archives
Meetings: See Community Meetings 
Repository: git clone https://git.opendaylight.org/gerrit/plastic
Jenkins: jenkins silo
Gerrit Patches: code patches/reviews
Bugs:

Documentation, Tutorials & Examples

Documentation

Tutorial

Both parts of the tutorial below include examples ready to run via Plastic Runner

  • A No Coding Tutorial on how to configure translations without using any coding (for the translation itself)
  • A Coding Tutorial that shows how to create simple plugins that are automatically picked up during the translation process

Source

  • Git clone below for read-only access 

https://git.opendaylight.org/gerrit/plastic.git

Roadmap

Acknowledgments

  • Allan Clarke, originator, architect, and primary implementor
  • Lumina Networks, Inc, for allowing this code to be open-sourced
  • Balaji Varadaraju, for discussing ideas and requirements wrangling
  • Mike Arsenault, for discussing ideas and contributing
  • Shaleen Saxeena, for pushing the boundaries around requirements

Open Meetings

Please contact hosts in case of any issues.

  • Topic: ODL - Weekly Plastic Project meeting
  • Time: TBA