Overview
The SAFplus Management system provides an integrated NETCONF, SNMP, CLI (local and remote), local API, and web access platform whose data model presents on these northbound interfaces as a single management data configuration and statistics tree. Yet data can be stored and requests serviced by many separate applications running on many nodes in a cluster. Incoming requests from multiple protocol handlers are automatically translated into a standard high performance message request format and routed to the application that is currently servicing that portion of the data tree. Data routing is dynamic. Applications can "bind" to portions of the tree at any time, allowing data servicing to be handed from one application to another and for crashing applications to be seamlessly restarted or failed over.
This guide describes how to add SAFplus Management into a cluster. It assumes that cluster applications are already management-enabled. To learn how to enable your applications for management access, please refer to the SAFplus Management Developer's Guide.
This document was prepared using the Ubuntu 14.04 Linux distribution. Your distribution may be different.
Installation
First add our key to your package manager
wget -q -O - http://download.openclovis.com/files/debian/OpenClovis.asc | sudo apt-key add -
Next, add our repository
sudo add-apt-repository "deb http://download.openclovis.com/files/debian $(lsb_release -s -c) contrib"
Update the list of software packages in the repository
sudo apt-get update
Finally, install SAFplus Management
sudo apt-get install safplusMgt
This installation has placed SAFplus Management binaries, libraries and helper files into the directory /opt/safplus/<version>/mgt.
Running
Installation
The first step is to enable NETCONF access through ssh. We have created a simple script to accomplish this in Ubuntu 14.04:
sudo /opt/safplus/<version>/mgt/mgt_install
If this script will not work for you, you simply need to change your /etc/ssh/sshd_config configuration file and add:
Port 830 Subsystem netconf ${ASP_BIN}/netconf-subsystem
Then restart ssh via:
service ssh restart
To verify that this worked, let's see what process id is listening to port 830 and then make sure that process is "sshd":
mint17 mgt # netstat -tulpn | grep :830 tcp 0 0 0.0.0.0:830 0.0.0.0:* LISTEN 10931/sshd tcp6 0 0 :::830 :::* LISTEN 10931/sshd mint17 mgt # ps 10931 PID TTY STAT TIME COMMAND 10931 ? Ss 0:00 /usr/sbin/sshd -D
Execution
SAFplus Management can be run within the SAFplus Availability/Scalability Platform or in a standalone configuration. To run within the SAFplus Platform, the "safplus_mgt" and "netsnmpd" binaries should be added to your cluster's model inside a 1+1 redundancy group. For more information about this see <TBD>. Like any SAFplus application, note that it is also possible to run the application within the SAFplus cluster but started manually simply by running the applications on the command line or in the debugger when safplus_amf is already running.
To run SAFplus Management without high availability, simply run the binary when safplus_amf is not running. It will detect that it is in standalone mode and handle some of the platform services that safplus_amf normally provides. But first we need to describe how to communicate with the management enabled processes. For clustered access use your backplane ethernet interface. For local access use the loopback interface, and enable it for broadcast packets:
ifconfig lo broadcast 127.255.255.255 export SAFPLUS_BACKPLANE_INTERFACE=lo
Set up paths and environment variables and then start the safplus_mgt and netsnmpd binaries. In this case we'll use provided scripts:
cd /opt/safplus/7.0/mgt source ./mgt_setup ./mgt_start
Troubleshooting
NETCONF clients connect and then disconnect instantly
You have either not enabled NETCONF in sshd_config, or the binding program does not exist. Add this to /etc/ssh/sshd_config and restart:
Port 830 Subsystem netconf <replace with your path to SAFplus>/bin/netconf-subsystem
Assertion `!"Cannot load dbal plugin"' failed.
You have not selected a database layer. copy libclSQLiteDB.so (or other layer) to /opt/safplus/7.0/mgt/plugin
Assertion `!"Required env variable [SAFPLUS_BACKPLANE_INTERFACE] not defined"' failed.
You have not selected a network interface to communicate with management enabled applications. To access local apps only, try:
export SAFPLUS_BACKPLANE_INTERFACE=lo ifconfig lo broadcast 127.255.255.255
Assertion `!"Cannot load message transport plugin"' failed.
You have not selected a network transport to communicate with management enabled applications. Copy clMsgUdp.so to /opt/safplus/7.0/mgt/plugin