.. _controller_configuration: .. sectnum:: :start: 8 :depth: 3 ************* Configuration ************* The controller extends the clixon configuration file as follows: ``CLICON_CONFIG_EXTEND`` The value should be `clixon-controller-config` making the controller-specific ``CONTROLLER_ACTION_COMMAND`` Should be set to the PyAPI binary with correct arguments The namespace is ="http://clicon.org/controller-config" ``CLICON_BACKEND_USER`` Set to the user which the action binary (above) is used. Normally `clicon` ``CLICON_SOCK_GROUP`` Set to user group, ususally `clicon` ``CLICON_YANG_DOMAIN_DIR`` Virtual directory where mounted device YANGs are stored locally. Both for RFC 6022 get-schema retrieval as well as local module-set YANGs. Typically ``/usr/local/shared/controller/mounts`` ``CONTROLLER_PYAPI_MODULE_PATH`` Path to Python code for PyAPI ``CONTROLLER_PYAPI_MODULE_FILTER`` Comma separated list of services modules that should be ignored and not loaded. ``CONTROLLER_PYAPI_PIDFILE`` Path to the pidfile for the controller. Typically ``/usr/local/var/run/controller/clixon_server.pid`` ``CONTROLLER_SSH_IDENTITYFILE`` SSH Identityfile if not default Example ======= The following configuration file examplifies the configure options described above:: /usr/local/etc/controller.xml ietf-netconf:startup clixon-restconf:allow-auth-none clixon-controller-config /usr/local/bin/clixon_server.py -f /usr/local/etc/controller.xml -F /usr/local/share/controller/modules/ /tmp/clixon_server.pid clicon clicon Adaptations =========== You may need to adapt the controller configuration to devices. Known issues are: 1) YANG features 2) Autocli rules Features -------- Device features are not supported, you need to install them explicitly in controller.xml or in a separate config file. For example, assume a device needs YANG feature `foo` in module `mymodule` to run correctly. You then need to add the following entry in the controller config file:: ... mymodule:foo Autocli ------- The autocli may need to be adapted to devices. By default the autocli is open for openconfig and junos, CLI for other YANGs need to be explicitly added by editing the file `autocli.xml`. For example, assume a device with Yangs starting with `myyang-`. Then the following rule needs to be added to `autocli.xml`:: ... Include myyang myyang-* enable