Giter Site home page Giter Site logo

fty-discovery-ng's Introduction

fty-discovery-ng

New Discovery which discovers power devices (ups, epdu, ats).

Discovery build contains logical 4 parts.

  • Rest submodule for tntnet
  • Discovery agent
  • Common discovery static lib
  • Unit tests

How to build

Discovery based on cmake, so build is standart for any cmake build.

    mkdir build
    cd build
    cmake ..
    make

or for 21 century :)

    mkdir build
    cd build
    cmake -G Ninja ..
    ninja

Dependencies used in current version:

  • tntnet
  • netsnmp
  • neon
  • cxxtools
  • fty-utils
  • fty-pack
  • fty-cmake-rest
  • fty_common_logging
  • fty_common_messagebus
  • fty_common_logging
  • fty_common_rest
  • fty_security_wallet
  • fty_common_socket
  • Catch2::Catch2 (in case if you want unit testing)

How to build and use unit tests

To enable unit tests build just reconfigure your cmake build

cd build
cmake -DBUILD_TESTING=ON ..
make

To run unit test go to build/test subdirectory and run fty-discovery-ng-tests

How to run agent

systemctl start fty-discovery-ng

Structure of the project

  • common - common static library for agent, rest and for tests
  • rest - tntnet submodule
  • server - discovery agent
    • conf - agent configuration
    • mibs - snmp mibs database
    • src - sources
  • test - unit testing

How to add device to discover

This is not finished yet. But current implementation suppose to do:

  • Add MIB file to MIB database. (server/mibs)
  • In server/src/jobs/impl/mibs.cpp
    • add MIB to knownMibs mapping
    • add MIB to mapMibToLegacy to map MIB to nut snmp-ups usage
  • Recompile

In future will not necessary to recompile project, just add MIB to MIB database and write your mib into config

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.