Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The DANOS installer is responsible for setting up the system such that it will work properly with the image management system.

Extension APIs

The Extension APIs are how non-core components communicate with the core. A given feature may need to use multiple extension APIs to talk to the various core components to effectively implement its functionality.

Management Plane

Management API

The management API is made up of a few different libraries.

...

This is the original Vyatta management API. A fairly large portion of the system still uses this API to get access to configuration data. This API is built as a compatibility layer on top of the newer Configd API with the original behavior retained (suboptimal behavior and all). Changes to this layer must be highly scrutinized as some of the behaviors have subtle implications that scripts may be relying on. These scripts are considered legacy and are currently being replaced by VCI components. This API has remained backwards compatible since 2011, only extensions in functionality have been made in ways that were compatible with the old APIs.

Configd API

This is the newer API for interfacing with the configuration infrastructure. This API can manipulate configuration, access configuration, and manage configuration sessions. It is available in several language Go, C, C++, Perl 5, Python 3, Ruby and bash. Each language has the same semantics as its peers with minor additions to provide language native helpers. Changes to Configd, our configuration management daemon, will change the semantics of this API and must be reviewed with scrutiny that we are retaining compatibility with these APIs.

...

Newer configuration action scripts may also be using this API for configuration access. These scripts are considered legacy and are currently being replaced by VCI components.

VCI

The Vyatta Component Infrastructure (VCI) is the newest mechanism for integrating features with the management plane. We are in the process of porting most features to this mechanism. It consists of a very small API and may only be extended in a backwards compatible way. The components each expose a data-model consisting of the YANG modules they manage. Configuration data in this model is transformed by the component into a form that will be understood by the service implementing the functionality. Likewise, operational data is retrieved from a service and transformed into a data-model by the component. Components also implement RPCs and react to notifications from other components. 

...