Release - RPM

Simengine project is packaged as RPM. You can retrieve the project specs by downloading the repo details from the project repository:

wget https://raw.githubusercontent.com/Seneca-CDOT/simengine/master/rpm/simengine.repo

cp simengine.repo /etc/yum.repos.d/

Install app's core components:

dnf install simengine-database simengine-core simengine-dashboard

Development Version

DNF Dependencies

Simengine uses OpenIPMI lanserv simulator for its BMC emulations and libvirt for virtualization.

dnf install libvirt OpenIPMI OpenIPMI-lanserv OpenIPMI-libs OpenIPMI-devel python3-libvirt -y
dnf install gcc redis -y
dnf install ipmitool -y #for testing

Neo4J

For Neo4J installation, see this official page

You will need to create a simengine user (see link).

ipmi_sim

hoas_extend is a plugin built for ipmi_sim.

Change location to enginecore/ipmi_sim

Build the extension:

gcc -shared -o ./haos_extend.so -fPIC ./haos_extend.c

Move to lib folder (may be arch-dependent):

sudo mkdir /usr/lib64/simengine

sudo cp ./haos_extend.so /usr/lib64/simengine

enginecore

Change location to enginecore

Install pip packages:

python3 -m pip install -r requirements.txt

Install snmpsimd (python2 version):

pip install snmpsim

Frontend

Change location to dashboard/fronend

Run npm install and then npm start

MIBs

Vendor-specific mibs may need to be installed for the testing purposes.

dnf install net-snmp net-snmp-utils

Add mib definitions:

mkdir /usr/share/snmp/mibs/apc

cp data/ups/powernet426.mib /usr/share/snmp/mibs/apc/ # copy from simengine project

Create configuration file:

vi /etc/snmp/snmp.conf

Paste mibdirs reference:

mibdirs /usr/share/snmp/mibs:/usr/share/snmp/mibs/apc
mibs ALL

Running

simengine-cli will need to be put into $PATH as export PATH="$PATH:/path/to/simengine/enginecore"

You can start the main daemon (as root) by issuing:

./app.py -d -r -v