Changes to templates are lost when netxmsd gets stopped and started

Started by twenrich, January 05, 2017, 02:57:07 PM

Previous topic - Next topic

twenrich

Hi,

the problem I have is with with a fresh installation of NetXMS 2.0.8 (also tried 2.0.7 and 2.1-M1).

Changes to templates are fine as long netxmsd is running, but disappear when netxmsd is stopped/started.

I tried NetXMS 2.0.7 and 2.1-M1 with sqlite and postgresql databases.

With the postgres backend I get some SQL errors (below), the sqlite backend does not show any SQL errors.

Is there something I miss ?

Kind regards,

Thomas

[05-Jan-2017 13:22:52.347] [ERROR] SQL query failed (Query = "SELECT event_name FROM event_cfg WHERE event_name='?'"): 08P01 ERROR:  bind message supplies 1 parameters, but prepared statement "netxms_stmt_0x1efaf00_93" requires 0
[05-Jan-2017 13:22:52.351] [ERROR] SQL query failed (Query = "SELECT event_name FROM event_cfg WHERE event_name='?'"): 08P01 ERROR:  bind message supplies 1 parameters, but prepared statement "netxms_stmt_0x1f004f0_95" requires 0



---------------------------------------------------------------------
                         Configure results
---------------------------------------------------------------------

Prefix                  : /usr/local
Platform                : Linux
Shared library suffix   : .so
IPv6 support            : YES
Build Server            : YES
Server libs             : -lldap -llber
LDAP support            : YES
XMPP support            : YES
ZeroMQ support          : YES
Encryption enabled      : YES
Build DB-Drivers        : pgsql sqlite odbc
Build Clients           : NO
Build Agent             : YES
Subagents list          : linux ds18x20
Build Static Agent      : NO
UNICODE build           : NO
Use internal libexpat   : YES
Use internal libtre     : YES
Use internal libjansson : YES
Use internal sqlite     : NO
Use internal zlib       : NO
Force 32bit build       : NO
C compiler              : gcc
C++ compiler            : g++
CPPFLAGS                :  -D_THREAD_SAFE -DTRE_WCHAR=1 -I/opt/openssl/include -D_GNU_SOURCE -O2 -Wformat -Wno-unused-result -Werror=return-type -I/usr/local/include -DPREFIX=\"${prefix}\" -DDATADIR=\"${pkgdatadir}\" -DBINDIR=\"${bindir}\" -DLIBDIR=\"${libdir}\" -DPKGLIBDIR=\"${pkglibdir}\" -DSTATEDIR=\"${localstatedir}/lib/netxms\" -DNDEBUG
CXXFLAGS                : -g -O2 -fno-rtti -fno-exceptions
CFLAGS                  : -g -O2
LDFLAGS                 :   -L/usr/local/lib -L/opt/openssl/lib -L/usr/local/lib
LIBS                    : -lm -lz -lresolv -ldl  -lpthread -lssl -lcrypto
PostgreSQL CPPFLAGS     : -I/usr/include/pgsql
PostgreSQL LDFLAGS      : -L/usr/lib64/pgsql
PostgreSQL LIBS         : -lpq
ODBC LIBS               : -lodbc



twenrich

OK.
Found this myself.
It seems that netxmsd loads all the template XML files living in .../share/templates/, overwriting all configured DCIs already in the database.

Workaround:
remove all templates in .../share/templates/ after first start of netxmsd.


Victor Kirhenshtein

Hi,

you can also disable template auto import by setting server configuration parameter ImportConfigurationOnStartup to 0. It is preferred method, because after upgrade standard templates will be back in share/templates.

Best regards,
Victor