docs
This commit is contained in:
parent
a285b14222
commit
a2c2375b38
6 changed files with 77 additions and 31 deletions
|
|
@ -29,6 +29,8 @@
|
||||||
#
|
#
|
||||||
# ***** END LICENSE BLOCK *****
|
# ***** END LICENSE BLOCK *****
|
||||||
|
|
||||||
|
- Datastore text module is now the default.
|
||||||
|
|
||||||
- Refined netconf "none" semantics in tests and text datastore
|
- Refined netconf "none" semantics in tests and text datastore
|
||||||
|
|
||||||
- Moved apps/dbctrl to datastore/
|
- Moved apps/dbctrl to datastore/
|
||||||
|
|
|
||||||
31
README.md
31
README.md
|
|
@ -1,15 +1,10 @@
|
||||||
# CLIXON
|
# Clixon
|
||||||
|
|
||||||
CLIXON is an automatic configuration manager where you from a YANG
|
Clixon is an automatic configuration manager where you from a YANG
|
||||||
specification generate interactive CLI, NETCONF, RESTCONF and embedded
|
specification generate interactive CLI, NETCONF, RESTCONF and embedded
|
||||||
databases with transaction support.
|
databases with transaction support.
|
||||||
|
|
||||||
CLIXON is a fork of CLICON where legacy key specification has been
|
Presentations and tutorial is found on the [CLICON project page](http://www.clicon.org)
|
||||||
replaced completely by YANG. This means that legacy CLICON
|
|
||||||
applications such as CLICON/ROST does not run on CLIXON.
|
|
||||||
|
|
||||||
Presentations and tutorial is found on the [CLICON project
|
|
||||||
page](http://www.clicon.org)
|
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
|
@ -20,8 +15,13 @@ A typical installation is as follows:
|
||||||
> sudo make install # Install libs, binaries, and config-files
|
> sudo make install # Install libs, binaries, and config-files
|
||||||
> sudo make install-include # Install include files (for compiling)
|
> sudo make install-include # Install include files (for compiling)
|
||||||
|
|
||||||
One example applications is provided, the IETF IP YANG datamodel with generated CLI and configuration interface. It all origins from work at
|
One example applications is provided, a IETF IP YANG datamodel with generated CLI and configuration interface.
|
||||||
[KTH](http://www.csc.kth.se/~olofh/10G_OSR)
|
|
||||||
|
## More info
|
||||||
|
|
||||||
|
- [Datastore](datastore).
|
||||||
|
- [Restconf](apps/restconf).
|
||||||
|
- [Netconf](apps/netconf).
|
||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
|
|
||||||
|
|
@ -38,12 +38,13 @@ General Public License Version 2. You choose.
|
||||||
|
|
||||||
See LICENSE.md for license, CHANGELOG for recent changes.
|
See LICENSE.md for license, CHANGELOG for recent changes.
|
||||||
|
|
||||||
## Client code
|
## Related
|
||||||
|
|
||||||
[CLI](apps/restconf).
|
CLIXON is a fork of CLICON where legacy key specification has been
|
||||||
[Restconf](apps/restconf).
|
replaced completely by YANG. This means that legacy CLICON
|
||||||
[Netconf](apps/netconf).
|
applications such as CLICON/ROST does not run on CLIXON.
|
||||||
[Netconf](apps/netconf).
|
|
||||||
|
Clixon origins from work at [KTH](http://www.csc.kth.se/~olofh/10G_OSR)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
17
apps/netconf/README.md
Normal file
17
apps/netconf/README.md
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
# Clixon Netconf
|
||||||
|
|
||||||
|
Clixon netconf implements the following standards:
|
||||||
|
- RFC 4741 (NETCONF Configuration Protocol),
|
||||||
|
- RFC 4742 (Using the NETCONF Configuration Protocol over Secure SHell (SSH)) and
|
||||||
|
- RFC 5277 (NETCONF Event Notifications).
|
||||||
|
|
||||||
|
It needs to be updated to RFC6241 and RFC 6242. It also does not implement the following features:
|
||||||
|
|
||||||
|
- :url capability
|
||||||
|
- copy-config source config
|
||||||
|
- edit-config testopts
|
||||||
|
- edit-config erropts
|
||||||
|
- edit-config config-text
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,13 +1,12 @@
|
||||||
Clixon Restconf
|
# Clixon Restconf
|
||||||
===============
|
|
||||||
|
|
||||||
Contents:
|
Contents:
|
||||||
1. Features
|
1. Features
|
||||||
2. Installation using NGINX
|
2. Installation using NGINX
|
||||||
3. Debugging
|
3. Debugging
|
||||||
|
|
||||||
1. FEATURES
|
## 1. FEATURES
|
||||||
+++++++++++
|
|
||||||
Clixon restconf is a daemon based on FASTCGI. Instructions are available to
|
Clixon restconf is a daemon based on FASTCGI. Instructions are available to
|
||||||
run with NGINX.
|
run with NGINX.
|
||||||
The implementatation supports plain OPTIONS, HEAD, GET, POST, PUT, PATCH, DELETE.
|
The implementatation supports plain OPTIONS, HEAD, GET, POST, PUT, PATCH, DELETE.
|
||||||
|
|
@ -18,10 +17,10 @@ including:
|
||||||
- notifications (sec 6)
|
- notifications (sec 6)
|
||||||
- only rudimentary error reporting exists (sec 7)
|
- only rudimentary error reporting exists (sec 7)
|
||||||
|
|
||||||
2. INSTALLATION using NGINX
|
## 2. INSTALLATION using NGINX
|
||||||
+++++++++++++++++++++++++++
|
|
||||||
|
|
||||||
# Define nginx config file/etc/nginx/sites-available/default
|
Define nginx config file/etc/nginx/sites-available/default
|
||||||
|
```
|
||||||
server {
|
server {
|
||||||
...
|
...
|
||||||
location /restconf {
|
location /restconf {
|
||||||
|
|
@ -30,13 +29,19 @@ server {
|
||||||
include fastcgi_params;
|
include fastcgi_params;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
# Start nginx daemon
|
```
|
||||||
|
Start nginx daemon
|
||||||
|
```
|
||||||
sudo /etc/init.d nginx start
|
sudo /etc/init.d nginx start
|
||||||
|
```
|
||||||
|
|
||||||
# Start clixon restconf daemon
|
Start clixon restconf daemon
|
||||||
|
```
|
||||||
olof@vandal> sudo su -c "/www-data/clixon_restconf -f /usr/local/etc/routing.conf " -s /bin/sh www-data
|
olof@vandal> sudo su -c "/www-data/clixon_restconf -f /usr/local/etc/routing.conf " -s /bin/sh www-data
|
||||||
|
```
|
||||||
|
|
||||||
# Make restconf calls with curl
|
Make restconf calls with curl
|
||||||
|
```
|
||||||
olof@vandal> curl -G http://127.0.0.1/restconf/data/interfaces
|
olof@vandal> curl -G http://127.0.0.1/restconf/data/interfaces
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
|
|
@ -62,16 +67,21 @@ olof@vandal> curl -G http://127.0.0.1/restconf/data/interfaces/interface/name=et
|
||||||
]
|
]
|
||||||
|
|
||||||
curl -sX POST -d '{"clicon":{"interfaces":{"interface":{"name":"eth1","type":"eth","enabled":"true"}}}}' http://localhost/restconf/data
|
curl -sX POST -d '{"clicon":{"interfaces":{"interface":{"name":"eth1","type":"eth","enabled":"true"}}}}' http://localhost/restconf/data
|
||||||
|
```
|
||||||
|
|
||||||
|
## DEBUGGING
|
||||||
|
|
||||||
3. DEBUGGING
|
|
||||||
++++++++++++
|
|
||||||
Start the restconf fastcgi program with debug flag:
|
Start the restconf fastcgi program with debug flag:
|
||||||
sudo su -c "/www-data/clixon_restconf -Df /usr/local/etc/routing.conf" -s /bin/sh www-data
|
```
|
||||||
|
sudo su -c "/www-data/clixon_restconf -Df /usr/local/etc/routing.conf" -s /bin/sh www-
|
||||||
|
data
|
||||||
|
```
|
||||||
Look at syslog:
|
Look at syslog:
|
||||||
|
```
|
||||||
tail -f /var/log/syslog | grep clixon_restconf
|
tail -f /var/log/syslog | grep clixon_restconf
|
||||||
|
```
|
||||||
|
|
||||||
Send command:
|
Send command:
|
||||||
|
```
|
||||||
curl -G http://127.0.0.1/restconf/data/*
|
curl -G http://127.0.0.1/restconf/data/*
|
||||||
|
```
|
||||||
|
|
|
||||||
|
|
@ -118,7 +118,7 @@ CLICON_BACKEND_PIDFILE localstatedir/APPNAME/APPNAME.pidfile
|
||||||
CLICON_XMLDB_DIR localstatedir/APPNAME
|
CLICON_XMLDB_DIR localstatedir/APPNAME
|
||||||
|
|
||||||
# XMLDB datastore plugin filename (see datastore/ and clixon_xml_db.[ch])
|
# XMLDB datastore plugin filename (see datastore/ and clixon_xml_db.[ch])
|
||||||
CLICON_XMLDB_PLUGIN libdir/xmldb/keyvalue.so
|
CLICON_XMLDB_PLUGIN libdir/xmldb/text.so
|
||||||
|
|
||||||
# Dont include keys in cvec in cli vars callbacks, ie a & k in 'a <b> k <c>' ignored
|
# Dont include keys in cvec in cli vars callbacks, ie a & k in 'a <b> k <c>' ignored
|
||||||
# CLICON_CLI_VARONLY 1
|
# CLICON_CLI_VARONLY 1
|
||||||
|
|
|
||||||
16
datastore/README.md
Normal file
16
datastore/README.md
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
# Clixon datastore
|
||||||
|
|
||||||
|
The Clixon datastore is a stand-alone XML based datastore used by
|
||||||
|
Clixon. The idea is to be able to use different datastores. There is
|
||||||
|
currently a Key-value plugin based on qdbm and a plain text-file
|
||||||
|
datastore.
|
||||||
|
|
||||||
|
The datastore is primarily designed to be used by Clixon but can be used
|
||||||
|
separately. See datastore_client.c for an example of how to use a
|
||||||
|
datastore plugin for other applications
|
||||||
|
|
||||||
|
Can we equate a file that does not exist with an empty file?
|
||||||
|
Or is empty file same as <config/>?
|
||||||
|
Three states:
|
||||||
|
NULL <---> "" <---> "<config/>"
|
||||||
|
which are valid?
|
||||||
Loading…
Add table
Add a link
Reference in a new issue