sudo python install.py --production
TASK [init bench] **************************************************************
fatal: [localhost]: FAILED! => {“changed”: true, “cmd”: [“bench”, “init”, “/home/frappe/frappe-bench”, “–frappe-branch”, “master”], “delta”: “0:02:45.949740”, “end”: “2017-03-09 10:44:36.151644”, “failed”: true, “rc”: 1, “start”: “2017-03-09 10:41:50.201904”, “stderr”: “INFO:bench.app:getting app frappe\nCloning into ‘frappe’…\nINFO:bench.app:installing frappe\nnpm WARN enoent ENOENT: no such file or directory, open ‘/home/frappe/frappe-bench/package.json’\nnpm WARN frappe-bench No description\nnpm WARN frappe-bench No repository field.\nnpm WARN frappe-bench No README data\nnpm WARN frappe-bench No license field.\n/home/frappe/frappe-bench/env/bin/python: No module named sanitizer”, “stdout”: “Already using interpreter /usr/bin/python\n/home/frappe/frappe-bench\n├─┬ express@4.15.2 \n│ ├─┬ accepts@1.3.3 \n│ │ ├─┬ mime-types@2.1.14 \n│ │ │ └── mime-db@1.26.0 \n│ │ └── negotiator@0.6.1 \n│ ├── array-flatten@1.1.1 \n│ ├── content-disposition@0.5.2 \n│ ├── content-type@1.0.2 \n│ ├── cookie@0.3.1 \n│ ├── cookie-signature@1.0.6 \n│ ├── debug@2.6.1 \n│ ├── depd@1.1.0 \n│ ├── encodeurl@1.0.1 \n│ ├── escape-html@1.0.3 \n│ ├── etag@1.8.0 \n│ ├─┬ finalhandler@1.0.0 \n│ │ └── unpipe@1.0.0 \n│ ├── fresh@0.5.0 \n│ ├── merge-descriptors@1.0.1 \n│ ├── methods@1.1.2 \n│ ├─┬ on-finished@2.3.0 \n│ │ └── ee-first@1.1.1 \n│ ├── parseurl@1.3.1 \n│ ├── path-to-regexp@0.1.7 \n│ ├─┬ proxy-addr@1.1.3 \n│ │ ├── forwarded@0.1.0 \n│ │ └── ipaddr.js@1.2.0 \n│ ├── qs@6.4.0 \n│ ├── range-parser@1.2.0 \n│ ├─┬ send@0.15.1 \n│ │ ├── destroy@1.0.4 \n│ │ └── http-errors@1.6.1 \n│ ├── serve-static@1.12.1 \n│ ├── setprototypeof@1.0.3 \n│ ├── statuses@1.3.1 \n│ ├─┬ type-is@1.6.14 \n│ │ └── media-typer@0.3.0 \n│ ├── utils-merge@1.0.0 \n│ └── vary@1.1.0 \n├─┬ redis@2.6.5 \n│ ├── double-ended-queue@2.1.0-0 \n│ ├── redis-commands@1.3.1 \n│ └── redis-parser@2.4.0 \n├─┬ socket.io@1.7.3 \n│ ├─┬ debug@2.3.3 \n│ │ └── ms@0.7.2 \n│ ├─┬ engine.io@1.8.3 \n│ │ ├── base64id@1.0.0 \n│ │ ├── debug@2.3.3 \n│ │ ├─┬ engine.io-parser@1.3.2 \n│ │ │ ├── after@0.8.2 \n│ │ │ ├── arraybuffer.slice@0.0.6 \n│ │ │ ├── base64-arraybuffer@0.1.5 \n│ │ │ ├── blob@0.0.4 \n│ │ │ └── wtf-8@1.0.0 \n│ │ └─┬ ws@1.1.2 \n│ │ ├── options@0.0.6 \n│ │ └── ultron@1.0.2 \n│ ├─┬ has-binary@0.1.7 \n│ │ └── isarray@0.0.1 \n│ ├── object-assign@4.1.0 \n│ ├─┬ socket.io-adapter@0.5.0 \n│ │ └── debug@2.3.3 \n│ ├─┬ socket.io-client@1.7.3 \n│ │ ├── backo2@1.0.2 \n│ │ ├── component-bind@1.0.0 \n│ │ ├── component-emitter@1.2.1 \n│ │ ├── debug@2.3.3 \n│ │ ├─┬ engine.io-client@1.8.3 \n│ │ │ ├── component-emitter@1.2.1 \n│ │ │ ├── component-inherit@0.0.3 \n│ │ │ ├── debug@2.3.3 \n│ │ │ ├── has-cors@1.1.0 \n│ │ │ ├── parsejson@0.0.3 \n│ │ │ ├── parseqs@0.0.5 \n│ │ │ ├── xmlhttprequest-ssl@1.5.3 \n│ │ │ └── yeast@0.1.2 \n│ │ ├── indexof@0.0.1 \n│ │ ├── object-component@0.0.3 \n│ │ ├─┬ parseuri@0.0.5 \n│ │ │ └─┬ better-assert@1.0.2 \n│ │ │ └── callsite@1.0.0 \n│ │ └── to-array@0.1.4 \n│ └─┬ socket.io-parser@2.3.1 \n│ ├── component-emitter@1.1.2 \n│ ├─┬ debug@2.2.0 \n│ │ └── ms@0.7.1 \n│ └── json3@3.3.2 \n└─┬ superagent@3.5.0 \n ├── component-emitter@1.2.1 \n ├── cookiejar@2.1.0 \n ├── extend@3.0.0 \n ├─┬ form-data@2.1.2 \n │ ├── asynckit@0.4.0 \n │ └─┬ combined-stream@1.0.5 \n │ └── delayed-stream@1.0.0 \n ├── formidable@1.1.1 \n ├── mime@1.3.4 \n └─┬ readable-stream@2.2.3 \n ├── buffer-shims@1.0.0 \n ├── core-util-is@1.0.2 \n ├── inherits@2.0.3 \n ├── isarray@1.0.0 \n ├── process-nextick-args@1.0.7 \n ├── string_decoder@0.10.31 \n └── util-deprecate@1.0.2 \n\ninstalling frappe”, “stdout_lines”: [“Already using interpreter /usr/bin/python”, “/home/frappe/frappe-bench”, "├─┬ express@4.15.2 ", "│ ├─┬ accepts@1.3.3 ", "│ │ ├─┬ mime-types@2.1.14 ", "│ │ │ └── mime-db@1.26.0 ", "│ │ └── negotiator@0.6.1 ", "│ ├── array-flatten@1.1.1 ", "│ ├── content-disposition@0.5.2 ", "│ ├── content-type@1.0.2 ", "│ ├── cookie@0.3.1 ", "│ ├── cookie-signature@1.0.6 ", "│ ├── debug@2.6.1 ", "│ ├── depd@1.1.0 ", "│ ├── encodeurl@1.0.1 ", "│ ├── escape-html@1.0.3 ", "│ ├── etag@1.8.0 ", "│ ├─┬ finalhandler@1.0.0 ", "│ │ └── unpipe@1.0.0 ", "│ ├── fresh@0.5.0 ", "│ ├── merge-descriptors@1.0.1 ", "│ ├── methods@1.1.2 ", "│ ├─┬ on-finished@2.3.0 ", "│ │ └── ee-first@1.1.1 ", "│ ├── parseurl@1.3.1 ", "│ ├── path-to-regexp@0.1.7 ", "│ ├─┬ proxy-addr@1.1.3 ", "│ │ ├── forwarded@0.1.0 ", "│ │ └── ipaddr.js@1.2.0 ", "│ ├── qs@6.4.0 ", "│ ├── range-parser@1.2.0 ", "│ ├─┬ send@0.15.1 ", "│ │ ├── destroy@1.0.4 ", "│ │ └── http-errors@1.6.1 ", "│ ├── serve-static@1.12.1 ", "│ ├── setprototypeof@1.0.3 ", "│ ├── statuses@1.3.1 ", "│ ├─┬ type-is@1.6.14 ", "│ │ └── media-typer@0.3.0 ", "│ ├── utils-merge@1.0.0 ", "│ └── vary@1.1.0 ", "├─┬ redis@2.6.5 ", "│ ├── double-ended-queue@2.1.0-0 ", "│ ├── redis-commands@1.3.1 ", "│ └── redis-parser@2.4.0 ", "├─┬ socket.io@1.7.3 ", "│ ├─┬ debug@2.3.3 ", "│ │ └── ms@0.7.2 ", "│ ├─┬ engine.io@1.8.3 ", "│ │ ├── base64id@1.0.0 ", "│ │ ├── debug@2.3.3 ", "│ │ ├─┬ engine.io-parser@1.3.2 ", "│ │ │ ├── after@0.8.2 ", "│ │ │ ├── arraybuffer.slice@0.0.6 ", "│ │ │ ├── base64-arraybuffer@0.1.5 ", "│ │ │ ├── blob@0.0.4 ", "│ │ │ └── wtf-8@1.0.0 ", "│ │ └─┬ ws@1.1.2 ", "│ │ ├── options@0.0.6 ", "│ │ └── ultron@1.0.2 ", "│ ├─┬ has-binary@0.1.7 ", "│ │ └── isarray@0.0.1 ", "│ ├── object-assign@4.1.0 ", "│ ├─┬ socket.io-adapter@0.5.0 ", "│ │ └── debug@2.3.3 ", "│ ├─┬ socket.io-client@1.7.3 ", "│ │ ├── backo2@1.0.2 ", "│ │ ├── component-bind@1.0.0 ", "│ │ ├── component-emitter@1.2.1 ", "│ │ ├── debug@2.3.3 ", "│ │ ├─┬ engine.io-client@1.8.3 ", "│ │ │ ├── component-emitter@1.2.1 ", "│ │ │ ├── component-inherit@0.0.3 ", "│ │ │ ├── debug@2.3.3 ", "│ │ │ ├── has-cors@1.1.0 ", "│ │ │ ├── parsejson@0.0.3 ", "│ │ │ ├── parseqs@0.0.5 ", "│ │ │ ├── xmlhttprequest-ssl@1.5.3 ", "│ │ │ └── yeast@0.1.2 ", "│ │ ├── indexof@0.0.1 ", "│ │ ├── object-component@0.0.3 ", "│ │ ├─┬ parseuri@0.0.5 ", "│ │ │ └─┬ better-assert@1.0.2 ", "│ │ │ └── callsite@1.0.0 ", "│ │ └── to-array@0.1.4 ", "│ └─┬ socket.io-parser@2.3.1 ", "│ ├── component-emitter@1.1.2 ", "│ ├─┬ debug@2.2.0 ", "│ │ └── ms@0.7.1 ", "│ └── json3@3.3.2 ", "└─┬ superagent@3.5.0 ", " ├── component-emitter@1.2.1 ", " ├── cookiejar@2.1.0 ", " ├── extend@3.0.0 ", " ├─┬ form-data@2.1.2 ", " │ ├── asynckit@0.4.0 ", " │ └─┬ combined-stream@1.0.5 ", " │ └── delayed-stream@1.0.0 ", " ├── formidable@1.1.1 ", " ├── mime@1.3.4 ", " └─┬ readable-stream@2.2.3 ", " ├── buffer-shims@1.0.0 ", " ├── core-util-is@1.0.2 ", " ├── inherits@2.0.3 ", " ├── isarray@1.0.0 ", " ├── process-nextick-args@1.0.7 ", " ├── string_decoder@0.10.31 ", " └── util-deprecate@1.0.2 ", “”, “installing frappe”], “warnings”: []}
to retry, use: --limit @production/install.retry
PLAY RECAP *********************************************************************
localhost : ok=32 changed=20 unreachable=0 failed=1
Traceback (most recent call last):
File “install.py”, line 351, in
install_bench(args)
File “install.py”, line 111, in install_bench
run_playbook(‘production/install.yml’, sudo=True, extra_vars=extra_vars)
File “install.py”, line 301, in run_playbook
success = subprocess.check_call(args, cwd=os.path.join(cwd, ‘playbooks’))
File “/usr/lib/python2.7/subprocess.py”, line 541, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command ‘[‘ansible-playbook’, ‘-c’, ‘local’, ‘production/install.yml’, ‘-e’, ‘@/tmp/extra_vars.json’, ‘–become’, ‘–become-user=frappe’]’ returned non-zero exit status 2
root@ubuntu:~#
any suggestion ?
already 2 times still same error