Yuma Installation Guide
YANG-Based Unified Modular Automation Tools
YUMA Package Installation
Version 1.15
Last Updated: July 20, 2011
Table Of Contents
Yuma Installation Guide
1 Preface
1.1 Legal Statements
1.2.1 WEB Sites
1.2.2 Mailing Lists
1.3 Conventions Used in this Document
3.2.1 libxml2
3.2.2 ncurses
4.1 Ubuntu
4.1.1 External Libraries
4.1.2 Install the Yuma Package
4.2 Fedora
4.2.1 External Libraries
4.2.2 Install the Yuma Package
Copyright 2009 - 2011, Andy Bierman, All Rights Reserved.
Other documentation includes:
Yuma Quickstart Guide
Yuma User Manual
Yuma netconfd Manual
Yuma yangcli Manual
Yuma yangdiff Manual
Yuma yangdump Manual
Yuma Developer Manual
To obtain additional support you may join the yuma-users group on sourceforge.net and send email to this e-mail address:
yuma-users@lists.sourceforge.net
The SourceForge.net Support Page for Yuma can be found at this WEB page:
http://sourceforge.net/projects/yuma/support
There are several sources of free information and tools for use with YANG and/or NETCONF.
The following section lists the resources available at this time.
Netconf Central
Yuma Home Page
Free information on NETCONF and YANG, tutorials, on-line YANG module validation and documentation database
Yuma SourceFource OpenSource Project
http://sourceforge.net/projects/yuma/
Download Yuma source and binaries; project forums and help
Yang Central
Free information and tutorials on YANG, free YANG tools for download
NETCONF Working Group Wiki Page
Free information on NETCONF standardization activities and NETCONF implementations
NETCONF WG Status Page
http://tools.ietf.org/wg/netconf/
IETF Internet draft status for NETCONF documents
libsmi Home Page
Free tools such as smidump, to convert SMIv2 to YANG
NETCONF Working Group
http://www.ietf.org/html.charters/netconf-charter.html
Technical issues related to the NETCONF protocol are discussed on the NETCONF WG mailing list. Refer to the instructions on the WEB page for joining the mailing list.
NETMOD Working Group
Technical issues related to the YANG language and YANG data types are discussed on the NETMOD WG mailing list. Refer to the instructions on the WEB page for joining the mailing list.
The following formatting conventions are used throughout this document:
Documentation Conventions
|
Convention |
Description |
|
--foo |
CLI parameter foo |
|
<foo> |
XML parameter foo |
|
foo |
yangcli command or parameter |
|
$FOO |
Environment variable FOO |
|
$$foo |
yangcli global variable foo |
|
some text |
Example command or PDU |
|
some text |
Plain text |
Refer to section 3 of the Yuma User Manual for a complete introduction to Yuma Tools.
This section focuses on the client and server tools within the Yuma Tools programs.
This document is intended for users of the Yuma Tools NETCONF client and server programs. It covers the installation of the Yuma Tools package.
The following requirements must be met for Yuma Tools to be installed.
The following platforms are supported at this time for the Yuma binary package:
Ubuntu version 9.10 (32 bit x86 and 64-bit AMD)
Fedora version 12 (32 bit x86)
The following programs and libraries need to be available for Yuma Tools to work.
The libxml2 package is needed by the yuma package for some of the XML parsing functions.
The ncurses library is needed by the yuma package for some terminal support.
It is not needed on Ubuntu versions of Yuma Tools because it is statically linked.
This section describes how to use the platform package manager program to install the Yuma Tools programs.
First, make sure the external libraries are installed.
mydir> dpkg --list libxml2
If the library is installed, the status will show 'ii libxml2', as in the example below:
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==============-==============-============================================
ii libxml2 2.7.6.dfsg-1ub GNOME XML library
mydir>
If the libxml2 library is not installed, then install it with following command:
mydir> sudo apt-get install libxml2
Next, install the Yuma Tools package. Here is an example.
The actual hardware platform identifier may be different:
mydir> sudo dpkg -i yuma-1.13-3.u1004.i386.deb
First, make sure the external libraries are installed.
mydir> rpm -q libxml2 ncurses
If the packages are installed then a line will be printed for each package showing the version, such as in the following example (your versions may be different)
libxml2-2.7.6-2.fc12.i686
ncurses-5.7-3.20090207.fc12.i686
If a package is not already installed, then install it. This example shows how to install both external libraries:
mydir> sudo yum install libxml2 ncurses
Next, install the Yuma Tools package. Here is an example.
The actual yuma revision and hardware platform may be different:
mydir> sudo yum localinstall yuma-1.13-3.fc12.i686.rpm
This section describes all the files and/or directories installed by Yuma Tools.
/usr/bin directory contains the following programs:
yangcli
yangdiff
yangdump
make_sil_dir
/usr/sbin directory contains the following server programs:
netconfd
netconf-subsystem
/usr/lib/yuma directory contains the following file:
libtoaster.so
/usr/include/yuma directory contains H files needed to compile SIL code so it can be loaded into the server at runtime:
ncx/*.h
agt/*.h
platform/procdefs.h
/usr/share/yuma/src/libtoaster directory contains the following contents:
Makefile
src directory
Makefile
toaster.c
toaster.c.start
toaster.h
toaster.h.start
bin directory
lib directory
/usr/share/yuma/util directory contains the following files:
makefile.sil
makefile-top.sil
/usr/share/doc/yuma directory containing the following files:
AUTHORS
yuma-legal-notices.pdf
README
yuma-installation-guide.pdf
yuma-quickstart-guide.pdf
yuma-user-cmn-manual.pdf
yuma-yangcli-manual.pdf
yuma-yangdiff-manual.pdf
yuma-yangdump-manual.pdf
yuma-netconfd-manual.pdf
yuma-dev-manual.pdf
/usr/share/doc/yuma directory (Ubuntu only) containing the following files:
copyright
changelog.Debian
/usr/share/yuma/modules directory contains all the YANG modules:
ietf/
netconfcentral/
yang/
test/
/usr/share/man/man1 directory contains the following files:
yangcli.1.gz
yangdiff.1.gz
yangdump.1.gz
netconfd.1.gz
netconf-subsystem.1.gz
make_sil_dir.1.gz
/etc/yuma directory contains the following sample configuration files:
yangcli-sample.conf
yangdiff-sample.conf
yangdump-sample.conf
netconfd-sample.conf
Yuma Quickstart Guide:
/usr/share/doc/yuma/yuma-quickstart-quide.pdf
Yuma Common User Manual:
/usr/share/doc/yuma/yuma-user-cmn-manual.pdf
Yuma Program Specific User Manual
/usr/share/doc/yuma/yuma-netconfd-manual.pdf
/usr/share/doc/yuma/yuma-yangcli-manual.pdf
/usr/share/doc/yuma/yuma-yangdiff-manual.pdf
/usr/share/doc/yuma/yuma-yangdump-manual.pdf
Yuma Developer Manual:
/usr/share/doc/yuma/yuma-dev-manual.pdf
The unix 'man' program can be used to get documentation about each program. For example:
man yangcli
man yangdump
man yangdiff
man netconfd
man netconf-subsystem
man make_sil_dir
Each program also has extensive help information available with the --help CLI parameter. For example:
yangcli --help
yangdump --help
yangdiff --help
netconfd --help
If you are just using the Yuma client applications, then there is no further mandatory setup required.
If a work directory is used, then the $YUMA_HOME environment variable needs to be defined. Refer to the user manual for details.
If Yuma is installed in a location other than the default location described above, then the $YUMA_INSTALL environment variable needs to be defined. Refer to the user manual for details.
The following binary applications are available:
/usr/bin/yangcli: NETCONF-over-SSH client application
/usr/bin/yangdump: YANG compiler
/usr/bin/yangdiff: YANG compare program
/usr/bin/make_sil_dir: Bash script to create a new SIL work directory. Refer to the Yuma Developer Manual for details.
The Yuma server does not automatically start running when installed. This will be supported in a future release.
The following steps must be taken to start the netconfd server:
You must modify the /etc/ssh/sshd_config file, and add the 'netconf' subsystem, as described in the user manual.If the yuma package was installed in a non-default location, then the path to the netconf-subsystem will be different than the example below. The following commands must be present:
Port 22
Port 830
Subsystem netconf /usr/sbin/netconf-subsystem
Start the netconfd server, as described in the user manual or quickstart guide. This can be in the foreground or the background. If it is in the background, then the '--log' CLI parameter should be provided, as shown below:
mydir> /usr/sbin/netconfd --log=$HOME/mylog &
Restart the SSH server. This is a platform-specific task. Refer to the sshd manual page for your system for more details. This step may need to be run as root or with the 'sudo' program.
Fedora 12 version
mydir> sudo /etc/rc.d/init.d/sshd restart
Ubuntu 9.10 version:
mydir>
sudo /etc/init.d/ssh restart