Jump to: navigation, search

OpenDaylight Controller:MD-SAL:MD-SAL Document Review:RESTCONF

back to parent

WHAT IS IT

Restconf is protocol described in RFC RESTCONF Protocol. According to this document the protocol "provides a programmatic interface over HTTP for accessing data defined in YANG, using the datastores defined in NETCONF".

RFC describes several operation which is possible to execute via HTTP protocol and thus realize CRUD (create, retrive, update, delete) operation above datastore or just obtain some specific information.

ADDITIONAL COMPONENTS

INTERFACES TO RESTCONF

Restconf is accessible via HTTP operation POST, PUT, UPDATE, DELETE, OPTIONS. It is possible to execute GET operation directly from web browser. For additional operations it is necessary to install REST client to web browser or use application which is able to execute HTTP operation (e. g. CURL)

ASSUMED KNOWLEDGE

Users of the config subsystem should consider consulting following resources:

FOR DEVELOPERS

If some changes or new code should be added it is time saving advantage to have following knowledges:

  • REST
  • JAX-RS - according to javadoc "Java API for RESTful Web Services provides portable APIs for developing, exposing and accessing Web applications designed and implemented in compliance with principles of REST architectural style"
  • Jersey - according to official site "framework for developing RESTful Web Services in Java that provides support for JAX-RS APIs"
  • + the same as operators

FOR OPERATORS

//TODO Are any specific knowledges required for operator?

  • + the same as endusers

FOR ENDUSERS

  • XML/JSON - input and output data are currently specified in these two formats.
  • YANG - input data has to have specified correct namespace (XML) or module name (JSON). This information is specified in YANG files.

ASSUMED ENVIRONMENT

(if applicable)

WHY DO WE HAVE IT?

It makes it possible to:

  • manipulate with datastores,
  • call RPCs

PAINPOINTS

what exactly should be here

HOW DOES IT WORK?

CONFIGURATION PROCESS

COMPONENT MAP

// TODO what should be here?


HOW DOES IT FIT INTO THE CONTROLLER ARCHITECTURE?

WHO SHOULD USE IT?

End-user

WHICH PROJECTS DO/DON'T USE IT?

//TODO


EDUCATION

LEARNING RESOURCES


Resources for developers:


ALTERNATIVES (INVESTIGATED OR POSSIBLE)

EXAMPLES/TUTORIALS


Meetings/Action Items/Progress