inist-cnrs / ezmaster Goto Github PK
View Code? Open in Web Editor NEWAdministration of docker applications without any IT skills
License: MIT License
Administration of docker applications without any IT skills
License: MIT License
Hello,
I am trying to deploy ezmaster your solution to create several lodex intances, as described in the document Installing Lodex with ezMaster - LODEX (inist.fr).
I am facing the problem of connection with the mongodb database.
Some pictures of my configurations.
image.png
image.png
image.png
Thank you in advance for your help with the mongodb database connection.
to remove links :
Looks like a non-blocking error.
Hello,
I am trying to deploy ezmaster your solution to create several lodex intances, as described in the document Installing Lodex with ezMaster - LODEX (inist.fr).
I am facing the problem of connection with the mongodb database.
Some pictures of my configurations.
Error [MongoError]: failed to connect to server [undefined:27017] on first connect [Error: getaddrinfo EAI_AGAIN undefined
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:66:26) {
name: 'MongoError'
}]
instances deployed in ezmaster :
`Long name Technical name Creation date Size Application Status Actions
pvs projet-hcl-1 2 hours ago 362 kB inistcnrs/lodex:12.23.3
Running
proj projet-hcl1 21 hours ago 362 kB inistcnrs/lodex:12.23.3
Running
base lodex-database-2 21 hours ago 319 MB inistcnrs/ezmaster-mongo:1.0.7
Running `
Parameter of connection to the instance :
"mongo": { "host": "lodex-database-2:27017" }
Thank you in advance for your help with the mongodb database connection.
Just before i installed the app from scratch folowing the README. I did a "Install and run (without docker)".
Here is my backtrace:
/home/kerphi/ezmaster/routes/route.js:176
container.start(function (err, data) {
^
TypeError: Cannot read property 'start' of null
at /home/kerphi/ezmaster/routes/route.js:176:16
at /home/kerphi/ezmaster/node_modules/dockerode/lib/docker.js:37:21
at /home/kerphi/ezmaster/node_modules/dockerode/node_modules/docker-modem/lib/modem.js:235:7
at getCause (/home/kerphi/ezmaster/node_modules/dockerode/node_modules/docker-modem/lib/modem.js:257:7)
at Modem.buildPayload (/home/kerphi/ezmaster/node_modules/dockerode/node_modules/docker-modem/lib/modem.js:228:5)
at IncomingMessage.<anonymous> (/home/kerphi/ezmaster/node_modules/dockerode/node_modules/docker-modem/lib/modem.js:204:14)
at emitNone (events.js:72:20)
at IncomingMessage.emit (events.js:166:7)
at endReadableNT (_stream_readable.js:913:12)
at nextTickCallbackWith2Args (node.js:442:9)
at process._tickCallback (node.js:356:17)
It crashes when i run ezmaster as bellow and I open my browser on http://127.0.0.1:3000/
This line NODE_ENV=production docker-compose -f ./docker-compose.yml up --force-recreate
is the same as make docker-run-prod
[master] kerphi@p-gully:~/ezmaster
$ NODE_ENV=production docker-compose -f ./docker-compose.yml up --force-recreate
WARNING: The https_proxy variable is not set. Defaulting to a blank string.
WARNING: The http_proxy variable is not set. Defaulting to a blank string.
Recreating ezmaster_ezmaster_db_1
Recreating ezmaster_ezmaster_1
Attaching to ezmaster_ezmaster_db_1, ezmaster_ezmaster_1
ezmaster_db_1 | 2016-05-04T17:25:37.375+0000 I JOURNAL [initandlisten] journal dir=/data/db/journal
ezmaster_db_1 | 2016-05-04T17:25:37.375+0000 I JOURNAL [initandlisten] recover : no journal files present, no recovery needed
ezmaster_db_1 | 2016-05-04T17:25:37.392+0000 I JOURNAL [durability] Durability thread started
ezmaster_db_1 | 2016-05-04T17:25:37.393+0000 I JOURNAL [journal writer] Journal writer thread started
ezmaster_db_1 | 2016-05-04T17:25:37.408+0000 I CONTROL [initandlisten] MongoDB starting : pid=1 port=27017 dbpath=/data/db 64-bit host=7db1f13d6e5d
ezmaster_db_1 | 2016-05-04T17:25:37.409+0000 I CONTROL [initandlisten]
ezmaster_db_1 | 2016-05-04T17:25:37.409+0000 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
ezmaster_db_1 | 2016-05-04T17:25:37.409+0000 I CONTROL [initandlisten] ** We suggest setting it to 'never'
ezmaster_db_1 | 2016-05-04T17:25:37.409+0000 I CONTROL [initandlisten]
ezmaster_db_1 | 2016-05-04T17:25:37.409+0000 I CONTROL [initandlisten] db version v3.0.7
ezmaster_db_1 | 2016-05-04T17:25:37.409+0000 I CONTROL [initandlisten] git version: 6ce7cbe8c6b899552dadd907604559806aa2e9bd
ezmaster_db_1 | 2016-05-04T17:25:37.409+0000 I CONTROL [initandlisten] build info: Linux ip-10-183-78-195 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1 x86_64 BOOST_LIB_VERSION=1_49
ezmaster_db_1 | 2016-05-04T17:25:37.409+0000 I CONTROL [initandlisten] allocator: tcmalloc
ezmaster_db_1 | 2016-05-04T17:25:37.409+0000 I CONTROL [initandlisten] options: { storage: { mmapv1: { smallFiles: true } } }
ezmaster_db_1 | 2016-05-04T17:25:37.413+0000 I NETWORK [initandlisten] waiting for connections on port 27017
ezmaster_1 | npm info it worked if it ends with ok
ezmaster_1 | npm info using [email protected]
ezmaster_1 | npm info using [email protected]
ezmaster_1 | npm info prestart [email protected]
ezmaster_1 | npm info start [email protected]
ezmaster_1 |
ezmaster_1 | > [email protected] start /app
ezmaster_1 | > ./ezmaster
ezmaster_1 |
ezmaster_1 | Load local configuration file. /app/config.local.js
ezmaster_1 | Set extension directory. /app
ezmaster_1 | Watching hot directory. /app/data
ezmaster_1 | Warning: connect.session() MemoryStore is not
ezmaster_1 | designed for a production environment, as it will leak
ezmaster_1 | memory, and will not scale past a single process.
ezmaster_1 | Wed, 04 May 2016 17:25:39 GMT body-parser deprecated bodyParser: use individual json/urlencoded middlewares at routes/route.js:76:52
ezmaster_1 | Wed, 04 May 2016 17:25:39 GMT body-parser deprecated undefined extended: provide extended option at node_modules/body-parser/index.js:105:29
ezmaster_db_1 | 2016-05-04T17:25:39.968+0000 I NETWORK [initandlisten] connection accepted from 172.17.0.3:49445 #1 (1 connection now open)
ezmaster_db_1 | 2016-05-04T17:25:39.969+0000 I NETWORK [initandlisten] connection accepted from 172.17.0.3:49446 #2 (2 connections now open)
ezmaster_db_1 | 2016-05-04T17:25:39.973+0000 I NETWORK [initandlisten] connection accepted from 172.17.0.3:49447 #3 (3 connections now open)
ezmaster_1 | App detected. ezmaster 1.0.4
ezmaster_1 | Server is listening. http://127.0.0.1:3000/
ezmaster_db_1 | 2016-05-04T17:25:39.985+0000 I NETWORK [initandlisten] connection accepted from 172.17.0.3:49448 #4 (4 connections now open)
ezmaster_db_1 | 2016-05-04T17:25:39.991+0000 I NETWORK [conn1] end connection 172.17.0.3:49445 (3 connections now open)
ezmaster_db_1 | 2016-05-04T17:25:39.993+0000 I NETWORK [initandlisten] connection accepted from 172.17.0.3:49449 #5 (4 connections now open)
ezmaster_db_1 | 2016-05-04T17:25:39.995+0000 I NETWORK [conn2] end connection 172.17.0.3:49446 (3 connections now open)
ezmaster_db_1 | 2016-05-04T17:25:39.997+0000 I NETWORK [initandlisten] connection accepted from 172.17.0.3:49450 #6 (4 connections now open)
ezmaster_db_1 | 2016-05-04T17:25:39.998+0000 I NETWORK [conn3] end connection 172.17.0.3:49447 (3 connections now open)
ezmaster_db_1 | 2016-05-04T17:25:39.999+0000 I NETWORK [initandlisten] connection accepted from 172.17.0.3:49451 #7 (4 connections now open)
ezmaster_db_1 | 2016-05-04T17:25:40.000+0000 I NETWORK [conn4] end connection 172.17.0.3:49448 (3 connections now open)
ezmaster_db_1 | 2016-05-04T17:25:40.002+0000 I NETWORK [initandlisten] connection accepted from 172.17.0.3:49452 #8 (4 connections now open)
ezmaster_db_1 | 2016-05-04T17:25:40.012+0000 I NETWORK [conn5] end connection 172.17.0.3:49449 (3 connections now open)
ezmaster_1 | Files and Database are synchronised.
ezmaster_1 | /app/routes/route.js:30
ezmaster_1 | const elements = containers.pop();
ezmaster_1 | ^
ezmaster_1 |
ezmaster_1 | TypeError: Cannot read property 'pop' of null
ezmaster_1 | at check (/app/routes/route.js:30:36)
ezmaster_1 | at Object.callback (/app/routes/route.js:72:10)
ezmaster_1 | at /app/node_modules/dockerode/lib/docker.js:261:10
ezmaster_1 | at Modem.buildPayload (/app/node_modules/dockerode/node_modules/docker-modem/lib/modem.js:225:19)
ezmaster_1 | at ClientRequest.<anonymous> (/app/node_modules/dockerode/node_modules/docker-modem/lib/modem.js:210:10)
ezmaster_1 | at emitOne (events.js:77:13)
ezmaster_1 | at ClientRequest.emit (events.js:169:7)
ezmaster_1 | at Socket.socketErrorListener (_http_client.js:256:9)
ezmaster_1 | at emitOne (events.js:77:13)
ezmaster_1 | at Socket.emit (events.js:169:7)
ezmaster_1 | at emitErrorNT (net.js:1250:8)
ezmaster_1 | at nextTickCallbackWith2Args (node.js:442:9)
ezmaster_1 | at process._tickCallback (node.js:356:17)
ezmaster_db_1 | 2016-05-04T17:25:45.472+0000 I NETWORK [conn8] end connection 172.17.0.3:49452 (2 connections now open)
ezmaster_db_1 | 2016-05-04T17:25:45.472+0000 I NETWORK [conn6] end connection 172.17.0.3:49450 (2 connections now open)
ezmaster_db_1 | 2016-05-04T17:25:45.472+0000 I NETWORK [conn7] end connection 172.17.0.3:49451 (1 connection now open)
ezmaster_1 |
ezmaster_1 | npm info [email protected] Failed to exec start script
ezmaster_1 | npm ERR! Linux 3.16.0-4-amd64
ezmaster_1 | npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
ezmaster_1 | npm ERR! node v4.4.0
ezmaster_1 | npm ERR! npm v2.14.20
ezmaster_1 | npm ERR! code ELIFECYCLE
ezmaster_1 | npm ERR! [email protected] start: `./ezmaster`
ezmaster_1 | npm ERR! Exit status 1
ezmaster_1 | npm ERR!
ezmaster_1 | npm ERR! Failed at the [email protected] start script './ezmaster'.
ezmaster_1 | npm ERR! This is most likely a problem with the ezmaster package,
ezmaster_1 | npm ERR! not with npm itself.
ezmaster_1 | npm ERR! Tell the author that this fails on your system:
ezmaster_1 | npm ERR! ./ezmaster
ezmaster_1 | npm ERR! You can get information on how to open an issue for this project with:
ezmaster_1 | npm ERR! npm bugs ezmaster
ezmaster_1 | npm ERR! Or if that isn't available, you can get their info via:
ezmaster_1 | npm ERR!
ezmaster_1 | npm ERR! npm owner ls ezmaster
ezmaster_1 | npm ERR! There is likely additional logging output above.
ezmaster_1 |
ezmaster_1 | npm ERR! Please include the following file with any support request:
ezmaster_1 | npm ERR! /app/npm-debug.log
ezmaster_ezmaster_1 exited with code 1
ezmaster_1 | /app/node_modules/castor-core/node_modules/mongodb/lib/utils.js:98
ezmaster_1 | process.nextTick(function() { throw err; });
ezmaster_1 | ^
ezmaster_1 |
ezmaster_1 | TypeError: Cannot read property 'insertMany' of undefined
ezmaster_1 | at /app/node_modules/castor-core/app/models/init.js:55:18
ezmaster_1 | at Db.collection (/app/node_modules/castor-core/node_modules/mongodb/lib/db.js:452:27)
ezmaster_1 | at db.collectionsIndex (/app/node_modules/castor-core/app/models/mongo.js:16:21)
ezmaster_1 | at /app/node_modules/castor-core/app/models/init.js:54:34
ezmaster_1 | at handleCallback (/app/node_modules/castor-core/node_modules/mongodb/lib/utils.js:96:12)
ezmaster_1 | at /app/node_modules/castor-core/node_modules/mongodb/lib/db.js:470:40
ezmaster_1 | at handleCallback (/app/node_modules/castor-core/node_modules/mongodb/lib/utils.js:96:12)
ezmaster_1 | at /app/node_modules/castor-core/node_modules/mongodb/lib/cursor.js:835:16
ezmaster_1 | at handleCallback (/app/node_modules/castor-core/node_modules/mongodb/node_modules/mongodb-core/lib/cursor.js:159:5)
ezmaster_1 | at setCursorNotified (/app/node_modules/castor-core/node_modules/mongodb/node_modules/mongodb-core/lib/cursor.js:490:3)
ezmaster_1 | at /app/node_modules/castor-core/node_modules/mongodb/node_modules/mongodb-core/lib/cursor.js:561:16
ezmaster_1 | at queryCallback (/app/node_modules/castor-core/node_modules/mongodb/node_modules/mongodb-core/lib/cursor.js:220:18)
ezmaster_1 | at Callbacks.emit (/app/node_modules/castor-core/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:119:3)
ezmaster_1 | at null.messageHandler (/app/node_modules/castor-core/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:295:23)
ezmaster_1 | at Socket.<anonymous> (/app/node_modules/castor-core/node_modules/mongodb/node_modules/mongodb-core/lib/connection/connection.js:285:22)
ezmaster_1 | at emitOne (events.js:77:13)
I have the case where https://wos-category-2.data.istex.fr/ works, but where https://wos-category.data.istex.fr/ does not (it returns an error 500: Internal server error).
That mechanism did previously work. We did change from http to https, but this bug happened also before this change.
It is likely bound to these lines in the reverse-proxy...
ezmaster should not start if docker is not installed on the machine
maybe it should not start also if docker is installed in a too old version
Il est nécessaire de faire un CTRL-F5 dans le navigateur pour la voir apparaître
I did not try to reproduce it, but we just had the case: after the creation of an instance called 6giecvol1-13703publis
, the instances page was blank.
What confirmed the cause was the deleting of the container, which made the instances page not empty again.
That's was seen during the time the page was blank: API seemed to be working.
The disk usage indicator is inverted: in the screen capture, disk is full at only 9% (Size: 9.72 GB, Free: 8.86 GB), and the Add Instance
button is desactivated, the indicator is red.
See lib/diskusage.js, public/src/components/infos-machine-table.vue
Forgot to precise: [email protected]
$ npm test
> [email protected] test /home/kerphi/ezmaster
> mocha
module.js:327
throw err;
^
Error: Cannot find module '../helpers/fake-helper.js'
at Function.Module._resolveFilename (module.js:325:15)
at Function.Module._load (module.js:276:25)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (/home/kerphi/ezmaster/test/fake-test.js:4:10)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at /home/kerphi/ezmaster/node_modules/mocha/lib/mocha.js:219:27
at Array.forEach (native)
at Mocha.loadFiles (/home/kerphi/ezmaster/node_modules/mocha/lib/mocha.js:216:14)
at Mocha.run (/home/kerphi/ezmaster/node_modules/mocha/lib/mocha.js:468:10)
at Object.<anonymous> (/home/kerphi/ezmaster/node_modules/mocha/bin/_mocha:403:18)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10)
at startup (node.js:139:18)
at node.js:968:3
npm ERR! Test failed. See above for more details.
Because refering to the README, it doesn't seams to support docker-compose.
https://github.com/apocas/dockerode
in this case, some external URLs returns the default EzMaster page.
[master] kerphi@p-gully:~/ezmaster
$ docker-compose up
WARNING: The NODE_ENV variable is not set. Defaulting to a blank string.
WARNING: The https_proxy variable is not set. Defaulting to a blank string.
WARNING: The http_proxy variable is not set. Defaulting to a blank string.
Pulling ezmaster (inistcnrs/ezmaster:latest)...
Pulling repository docker.io/inistcnrs/ezmaster
ERROR: Error: image inistcnrs/ezmaster not found
I have the image localy:
[master] kerphi@p-gully:~/ezmaster
$ docker images | grep ezvis
inistcnrs/ezvis latest a5af4af711a0 6 weeks ago 782.5 MB
Then I run ezmaster in debug mode:
[master] kerphi@p-gully:~/ezmaster
$ make run-debug
Then I visit the http://127.0.0.1:3000/ url
Then it crashes after few seconds with this error log:
castor:helpers:acl access ignored for +9s /-/v1/instances/
/home/kerphi/ezmaster/routes/route.js:173
if(err) { throw err; }
^
Error: HTTP code is 500 which indicates error: server error - Could not get container for mongo_db
at /home/kerphi/ezmaster/node_modules/dockerode/node_modules/docker-modem/lib/modem.js:229:17
at getCause (/home/kerphi/ezmaster/node_modules/dockerode/node_modules/docker-modem/lib/modem.js:257:7)
at Modem.buildPayload (/home/kerphi/ezmaster/node_modules/dockerode/node_modules/docker-modem/lib/modem.js:228:5)
at IncomingMessage.<anonymous> (/home/kerphi/ezmaster/node_modules/dockerode/node_modules/docker-modem/lib/modem.js:204:14)
at emitNone (events.js:72:20)
at IncomingMessage.emit (events.js:166:7)
at endReadableNT (_stream_readable.js:913:12)
at nextTickCallbackWith2Args (node.js:442:9)
at process._tickCallback (node.js:356:17)
Makefile:11: recipe for target 'run-debug' failed
make: *** [run-debug] Error 1
Voici ce que j'obtiens qd j'essayer de linter les fichier vue :( Une idée ?
> [email protected] lint /app
> eslint --ext=.js,.vue ./routes/ ./middlewares/ ./test/ ./lib/ ./public/src/
/app/public/src/components/add-apps.vue
3:8 error Parsing error: Unexpected token is
/app/public/src/components/add-instance.vue
3:8 error Parsing error: Unexpected token is
/app/public/src/components/apps.vue
1:1 error Parsing error: Unexpected token <
/app/public/src/components/infos-machine-table.vue
3:8 error Parsing error: Unexpected token is
/app/public/src/components/table.vue
3:8 error Parsing error: Unexpected token is
✖ 5 problems (5 errors, 0 warnings)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.