perfsonar / psconfig-web

pSConfig Web Admin
Apache License 2.0
7 stars 9 forks source link

perfsonar-psconfig-web-admin-api.service failed. #223

Open alexdodson opened 2 years ago

alexdodson commented 2 years ago

Hello, After an update to 4.4.2 on a rhel7 host the perfsonar-psconfig-web-admin-api service is failing to start. When looking at journald output I see the following error. Hostname changed to hostname.

Feb 03 01:52:36 hostname node[38546]: /usr/lib/perfsonar/psconfig-web-admin/shared/node_modules/busboy/lib/utils.js:465 Feb 03 01:52:36 hostname node[38546]: } catch {} Feb 03 01:52:36 hostname node[38546]: ^ Feb 03 01:52:36 hostname node[38546]: SyntaxError: Unexpected token { Feb 03 01:52:36 hostname node[38546]: at createScript (vm.js:56:10) Feb 03 01:52:36 hostname node[38546]: at Object.runInThisContext (vm.js:97:10) Feb 03 01:52:36 hostname node[38546]: at Module._compile (module.js:549:28) Feb 03 01:52:36 hostname node[38546]: at Object.Module._extensions..js (module.js:586:10) Feb 03 01:52:36 hostname node[38546]: at Module.load (module.js:494:32) Feb 03 01:52:36 hostname node[38546]: at tryModuleLoad (module.js:453:12) Feb 03 01:52:36 hostname node[38546]: at Function.Module._load (module.js:445:3) Feb 03 01:52:36 hostname node[38546]: at Module.require (module.js:504:17) Feb 03 01:52:36 hostname node[38546]: at require (internal/module.js:20:19) Feb 03 01:52:36 hostname node[38546]: at Object. (/usr/lib/perfsonar/psconfig-web-admin/shared/node_modules/busboy/lib/index.js:6:30) Feb 03 01:52:36 hostname systemd[1]: perfsonar-psconfig-web-admin-api.service: main process exited, code=exited, status=1/FAILURE Feb 03 01:52:36 hostname systemd[1]: Unit perfsonar-psconfig-web-admin-api.service entered failed state. Feb 03 01:52:36 hostname systemd[1]: perfsonar-psconfig-web-admin-api.service failed. Feb 03 01:52:36 hostname systemd[1]: perfsonar-psconfig-web-admin-api.service holdoff time over, scheduling restart. Feb 03 01:52:36 hostname systemd[1]: Stopped perfSONAR PWA API daemon. -- Subject: Unit perfsonar-psconfig-web-admin-api.service has finished shutting down

package versions if that helps for perfsonar and nodejs

libperfsonar-perl-4.4.2-1.el7.noarch perfsonar-psconfig-web-admin-shared-4.4.2-0.a1.0.el7.x86_64 perfsonar-psconfig-utils-4.4.2-1.el7.noarch perfsonar-common-4.4.2-1.el7.noarch libperfsonar-psconfig-perl-4.4.2-1.el7.noarch libperfsonar-sls-perl-4.4.2-1.el7.noarch perfsonar-psconfig-web-admin-publisher-4.4.2-0.a1.0.el7.x86_64 nagios-plugins-perfsonar-4.4.2-1.el7.x86_64 perfsonar-psconfig-web-admin-ui-4.4.2-0.a1.0.el7.x86_64 libperfsonar-esmond-perl-4.4.2-1.el7.noarch perfsonar-graphs-4.4.2-1.el7.noarch perfsonar-psconfig-maddash-devel-4.4.2-1.el7.noarch perfsonar-psconfig-web-admin-auth-4.4.2-1.el7.x86_64 perfsonar-psconfig-maddash-4.4.2-1.el7.noarch perfsonar-traceroute-viewer-4.4.2-1.el7.noarch libperfsonar-pscheduler-perl-4.4.2-1.el7.noarch nodejs-6.17.1-1.el7.x86_64

grigutis commented 2 years ago

Hi Alex,

Can you try upgrading nodejs to 14 and see if that resolves it?

alexdodson commented 2 years ago

Hello,

When a yum update attempted to update node we saw similar to the below so it is pinned at the moment.

Error: Package: mongodb-server-2.6.12-6.el7.x86_64 (@perfSONAR) Requires: libv8.so.3()(64bit) Removing: 1:v8-3.14.5.10-25.el7.x86_64 (@epel) libv8.so.3()(64bit) Obsoleted By: 1:nodejs-libs-16.13.2-3.el7.x86_64 (epel) ~libv8.so.9()(64bit) Error: Package: mongodb-2.6.12-6.el7.x86_64 (@perfSONAR) Requires: libv8.so.3()(64bit) Removing: 1:v8-3.14.5.10-25.el7.x86_64 (@epel) libv8.so.3()(64bit) Obsoleted By: 1:nodejs-libs-16.13.2-3.el7.x86_64 (epel) ~libv8.so.9()(64bit)

alexdodson commented 2 years ago

Post update to 4.4.3-1 we still see the same issue on trying to start the service. Is there something that can be done with the mongo package to make it so we can update the nodejs stuff?

Feb 07 22:47:39 sa-prka-psctrl1 node[31839]: /usr/lib/perfsonar/psconfig-web-admin/shared/node_modules/busboy/lib/utils.js:465 Feb 07 22:47:39 sa-prka-psctrl1 node[31839]: } catch {} Feb 07 22:47:39 sa-prka-psctrl1 node[31839]: ^ Feb 07 22:47:39 sa-prka-psctrl1 node[31839]: SyntaxError: Unexpected token { Feb 07 22:47:39 sa-prka-psctrl1 node[31839]: at createScript (vm.js:56:10) Feb 07 22:47:39 sa-prka-psctrl1 node[31839]: at Object.runInThisContext (vm.js:97:10) Feb 07 22:47:39 sa-prka-psctrl1 node[31839]: at Module._compile (module.js:549:28) Feb 07 22:47:39 sa-prka-psctrl1 node[31839]: at Object.Module._extensions..js (module.js:586:10) Feb 07 22:47:39 sa-prka-psctrl1 node[31839]: at Module.load (module.js:494:32) Feb 07 22:47:39 sa-prka-psctrl1 node[31839]: at tryModuleLoad (module.js:453:12) Feb 07 22:47:39 sa-prka-psctrl1 node[31839]: at Function.Module._load (module.js:445:3) Feb 07 22:47:39 sa-prka-psctrl1 node[31839]: at Module.require (module.js:504:17) Feb 07 22:47:39 sa-prka-psctrl1 node[31839]: at require (internal/module.js:20:19) Feb 07 22:47:39 sa-prka-psctrl1 node[31839]: at Object. (/usr/lib/perfsonar/psconfig-web-admin/shared/node_modules/busboy/lib/index.js:3:30)

grigutis commented 2 years ago

I'm still looking into this, but I believe this was caused by Node.js being updated in the EPEL repo. It went from 6 to 16 a couple of weeks ago. Which is causing the libv8 conflict between the MongoDB and Node.js packages.

alexdodson commented 2 years ago

Hey, I got this working with the pointers off the mailling list. The only thing thats an issue with the updated mongo packages is the user and group it runs as changes from mongodb to mongod so on the first start of the server it cant write to the existing log file /var/log/mongodb/mongod.log as the ownership is still in the old user group format from mongodb 2.6. This stops the mongod service starting.

-rw-r--r--. 1 mongod mongod 1.5M Feb 16 22:54 mongod.log -- (changed by me to start the service) -rw-r--r--. 1 mongodb mongodb 408K Feb 14 04:07 mongod.log.2022-02-14T04-07-28 -- old owner example.