Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot install under easy install script on CentOS7 #29

Open
1 of 2 tasks
ckc opened this issue Jun 16, 2020 · 2 comments
Open
1 of 2 tasks

Cannot install under easy install script on CentOS7 #29

ckc opened this issue Jun 16, 2020 · 2 comments

Comments

@ckc
Copy link

ckc commented Jun 16, 2020

Issue: Easy Install

Do the checklist before filing an issue:

  • Did you retain the logfile (path of logfile is shared while the script is run)? We definitely need the logfile to debug any easy install related issues.
  • Is this something you can debug and fix? Send a pull request! Bug fixes and documentation fixes are welcome

Distro Information (Required)
Linux I-THH-ERP01 5.3.10-1-pve frappe/bench#1 SMP PVE 5.3.10-1 (Thu, 14 Nov 2019 10:43:13 +0100) x86_64 x86_64 x86_64 GNU/Linux

CentOS Linux release 7.8.2003 (Core)
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

CentOS Linux release 7.8.2003 (Core)
CentOS Linux release 7.8.2003 (Core)

Command Run (Required)
python3 install.py --production

Log File (Required)
cat /tmp/logs/easy-install__2020-06-16__08-27.log
Collecting setuptools
Downloading https://files.pythonhosted.org/packages/c4/f9/15ec4639c50f54043a6d385a89447f69b3ee3601f65cc7c17ab8c178f0a6/setuptools-47.3.0-py3-none-any.whl (583kB)
Collecting cryptography
Downloading https://files.pythonhosted.org/packages/58/95/f1282ca55649b60afcf617e1e2ca384a2a3e7a5cf91f724cf83c8fbe76a1/cryptography-2.9.2-cp35-abi3-manylinux1_x86_64.whl (2.7MB)
Collecting ansible==2.8.5
Downloading https://files.pythonhosted.org/packages/04/25/48fee5f8048360d9375e01846fcf395dda58242ed1f25a2106b6794452eb/ansible-2.8.5.tar.gz (14.4MB)
Collecting pip
Downloading https://files.pythonhosted.org/packages/43/84/23ed6a1796480a6f1a2d38f2802901d078266bda38388954d01d3f2e821d/pip-20.1.1-py2.py3-none-any.whl (1.5MB)
Collecting six>=1.4.1 (from cryptography)
Downloading https://files.pythonhosted.org/packages/ee/ff/48bde5c0f013094d729fe4b0316ba2a24774b3ff1c52d924a8a4cb04078a/six-1.15.0-py2.py3-none-any.whl
Collecting cffi!=1.11.3,>=1.8 (from cryptography)
Downloading https://files.pythonhosted.org/packages/f1/c7/72abda280893609e1ddfff90f8064568bd8bcb2c1770a9d5bb5edb2d1fea/cffi-1.14.0-cp36-cp36m-manylinux1_x86_64.whl (399kB)
Collecting jinja2 (from ansible==2.8.5)
Downloading https://files.pythonhosted.org/packages/30/9e/f663a2aa66a09d838042ae1a2c5659828bb9b41ea3a6efa20a20fd92b121/Jinja2-2.11.2-py2.py3-none-any.whl (125kB)
Collecting PyYAML (from ansible==2.8.5)
Downloading https://files.pythonhosted.org/packages/64/c2/b80047c7ac2478f9501676c988a5411ed5572f35d1beff9cae07d321512c/PyYAML-5.3.1.tar.gz (269kB)
Collecting pycparser (from cffi!=1.11.3,>=1.8->cryptography)
Downloading https://files.pythonhosted.org/packages/ae/e7/d9c3a176ca4b02024debf82342dab36efadfc5776f9c8db077e8f6e71821/pycparser-2.20-py2.py3-none-any.whl (112kB)
Collecting MarkupSafe>=0.23 (from jinja2->ansible==2.8.5)
Downloading https://files.pythonhosted.org/packages/b2/5f/23e0023be6bb885d00ffbefad2942bc51a620328ee910f64abe5a8d18dd1/MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl
Installing collected packages: setuptools, six, pycparser, cffi, cryptography, MarkupSafe, jinja2, PyYAML, ansible, pip
Running setup.py install for PyYAML: started
Running setup.py install for PyYAML: finished with status 'done'
Running setup.py install for ansible: started
Running setup.py install for ansible: finished with status 'done'
Successfully installed MarkupSafe-1.1.1 PyYAML-5.3.1 ansible-2.8.5 cffi-1.14.0 cryptography-2.9.2 jinja2-2.11.2 pip-20.1.1 pycparser-2.20 setuptools-47.3.0 six-1.15.0
ansible-playbook 2.8.5
config file = None
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/python3.6/site-packages/ansible
executable location = /usr/local/bin/ansible-playbook
python version = 3.6.8 (default, Apr 2 2020, 13:34:55) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
No config file found; using defaults
setting up inventory plugins
host_list declined parsing /etc/ansible/hosts as it did not pass it's verify_file() method
Skipping due to inventory source not existing or not being readable by the current user
script declined parsing /etc/ansible/hosts as it did not pass it's verify_file() method
auto declined parsing /etc/ansible/hosts as it did not pass it's verify_file() method
Skipping due to inventory source not existing or not being readable by the current user
yaml declined parsing /etc/ansible/hosts as it did not pass it's verify_file() method
Skipping due to inventory source not existing or not being readable by the current user
ini declined parsing /etc/ansible/hosts as it did not pass it's verify_file() method
Skipping due to inventory source not existing or not being readable by the current user
toml declined parsing /etc/ansible/hosts as it did not pass it's verify_file() method
Loading callback plugin default of type stdout, v2.0 from /usr/local/lib/python3.6/site-packages/ansible/plugins/callback/default.py

PLAYBOOK: create_user.yml ******************************************************
Positional arguments: create_user.yml
verbosity: 4
connection: local
timeout: 10
become_method: sudo
tags: ('all',)
inventory: ('/etc/ansible/hosts',)
extra_vars: ('@/tmp/extra_vars.json',)
forks: 5
1 plays in create_user.yml

PLAY [localhost] ***************************************************************

TASK [Gathering Facts] *********************************************************
task path: /tmp/.bench/playbooks/create_user.yml:3
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: root
<127.0.0.1> EXEC /bin/sh -c 'echo ~root && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "echo /root/.ansible/tmp/ansible-tmp-1592296096.9400597-169517418479742" && echo ansible-tmp-1592296096.9400597-169517418479742="echo /root/.ansible/tmp/ansible-tmp-1592296096.9400597-169517418479742" ) && sleep 0'
Using module file /usr/local/lib/python3.6/site-packages/ansible/modules/system/setup.py
<127.0.0.1> PUT /root/.ansible/tmp/ansible-local-13437ezewz80l/tmp45fzf9j6 TO /root/.ansible/tmp/ansible-tmp-1592296096.9400597-169517418479742/AnsiballZ_setup.py
<127.0.0.1> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1592296096.9400597-169517418479742/ /root/.ansible/tmp/ansible-tmp-1592296096.9400597-169517418479742/AnsiballZ_setup.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '/bin/python3 /root/.ansible/tmp/ansible-tmp-1592296096.9400597-169517418479742/AnsiballZ_setup.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1592296096.9400597-169517418479742/ > /dev/null 2>&1 && sleep 0'
ok: [localhost]
META: ran handlers

TASK [Create user] *************************************************************
task path: /tmp/.bench/playbooks/create_user.yml:7
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: root
<127.0.0.1> EXEC /bin/sh -c 'echo ~root && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "echo /root/.ansible/tmp/ansible-tmp-1592296098.536142-250657114375603" && echo ansible-tmp-1592296098.536142-250657114375603="echo /root/.ansible/tmp/ansible-tmp-1592296098.536142-250657114375603" ) && sleep 0'
Using module file /usr/local/lib/python3.6/site-packages/ansible/modules/system/user.py
<127.0.0.1> PUT /root/.ansible/tmp/ansible-local-13437ezewz80l/tmpaf_krrgx TO /root/.ansible/tmp/ansible-tmp-1592296098.536142-250657114375603/AnsiballZ_user.py
<127.0.0.1> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1592296098.536142-250657114375603/ /root/.ansible/tmp/ansible-tmp-1592296098.536142-250657114375603/AnsiballZ_user.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '/bin/python3 /root/.ansible/tmp/ansible-tmp-1592296098.536142-250657114375603/AnsiballZ_user.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1592296098.536142-250657114375603/ > /dev/null 2>&1 && sleep 0'
changed: [localhost] => {
"changed": true,
"comment": "",
"create_home": true,
"group": 1001,
"home": "/home/frappe",
"invocation": {
"module_args": {
"append": false,
"authorization": null,
"comment": null,
"create_home": true,
"expires": null,
"force": false,
"generate_ssh_key": true,
"group": null,
"groups": null,
"hidden": null,
"home": null,
"local": null,
"login_class": null,
"move_home": false,
"name": "frappe",
"non_unique": false,
"password": null,
"password_lock": null,
"profile": null,
"remove": false,
"role": null,
"seuser": null,
"shell": null,
"skeleton": null,
"ssh_key_bits": 0,
"ssh_key_comment": "ansible-generated on I-THH-ERP01",
"ssh_key_file": null,
"ssh_key_passphrase": null,
"ssh_key_type": "rsa",
"state": "present",
"system": false,
"uid": null,
"update_password": "always"
}
},
"name": "frappe",
"shell": "/bin/bash",
"ssh_fingerprint": "2048 SHA256:FLOBt2/p6deqtKr6IjnrI1XWuo6iXdx1ZuMokcmoZdM ansible-generated on I-THH-ERP01 (RSA)",
"ssh_key_file": "/home/frappe/.ssh/id_rsa",
"ssh_public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDE6YxEYgv8ru4btWqjKbv3wbPCvNsB5Fj4kh3PQJ+DVrpvW73TQFE4s8a+6zllHfde6IbwlNSpvnuH0jJ51ah07YxB+6umnmBLG9qchIWMcmzthNX0uHj98SswqND0i3yd8xemgsqkFY8jODNRTZUzC/d7mi15mz99604GFbvDLYXWhZZRGL+dIWl7fNnj1u22VDKWWO+o5QYpupFknbPVNt2UYjRu7d5f4maW2BvXq5mGmmn8M6e0tDlV59sbn6Tdk21kJOR1hBpCdduZJkcffHW+Kc4EQk86Iu8GichstqMkphLJsG7lKws1C10iWehCHiiIPSGVsVdXhe7Aiu+p ansible-generated on I-THH-ERP01",
"state": "present",
"system": false,
"uid": 1001
}

TASK [Set home folder perms] ***************************************************
task path: /tmp/.bench/playbooks/create_user.yml:12
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: root
<127.0.0.1> EXEC /bin/sh -c 'echo ~root && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "echo /root/.ansible/tmp/ansible-tmp-1592296099.3615003-174544324200329" && echo ansible-tmp-1592296099.3615003-174544324200329="echo /root/.ansible/tmp/ansible-tmp-1592296099.3615003-174544324200329" ) && sleep 0'
Using module file /usr/local/lib/python3.6/site-packages/ansible/modules/files/file.py
<127.0.0.1> PUT /root/.ansible/tmp/ansible-local-13437ezewz80l/tmpd67grjek TO /root/.ansible/tmp/ansible-tmp-1592296099.3615003-174544324200329/AnsiballZ_file.py
<127.0.0.1> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1592296099.3615003-174544324200329/ /root/.ansible/tmp/ansible-tmp-1592296099.3615003-174544324200329/AnsiballZ_file.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '/bin/python3 /root/.ansible/tmp/ansible-tmp-1592296099.3615003-174544324200329/AnsiballZ_file.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1592296099.3615003-174544324200329/ > /dev/null 2>&1 && sleep 0'
changed: [localhost] => {
"changed": true,
"diff": {
"after": {
"mode": "0705",
"path": "/home/frappe"
},
"before": {
"mode": "0700",
"path": "/home/frappe"
}
},
"gid": 1001,
"group": "frappe",
"invocation": {
"module_args": {
"_diff_peek": null,
"_original_basename": null,
"access_time": null,
"access_time_format": "%Y%m%d%H%M.%S",
"attributes": null,
"backup": null,
"content": null,
"delimiter": null,
"directory_mode": null,
"follow": true,
"force": false,
"group": "frappe",
"mode": "o+rx",
"modification_time": null,
"modification_time_format": "%Y%m%d%H%M.%S",
"owner": "frappe",
"path": "/home/frappe",
"recurse": true,
"regexp": null,
"remote_src": null,
"selevel": null,
"serole": null,
"setype": null,
"seuser": null,
"src": null,
"state": "directory",
"unsafe_writes": null
}
},
"mode": "0705",
"owner": "frappe",
"path": "/home/frappe",
"size": 4096,
"state": "directory",
"uid": 1001
}

TASK [Set /tmp/.bench folder perms] ********************************************
task path: /tmp/.bench/playbooks/create_user.yml:20
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: root
<127.0.0.1> EXEC /bin/sh -c 'echo ~root && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "echo /root/.ansible/tmp/ansible-tmp-1592296099.9345188-234795354696185" && echo ansible-tmp-1592296099.9345188-234795354696185="echo /root/.ansible/tmp/ansible-tmp-1592296099.9345188-234795354696185" ) && sleep 0'
Using module file /usr/local/lib/python3.6/site-packages/ansible/modules/files/file.py
<127.0.0.1> PUT /root/.ansible/tmp/ansible-local-13437ezewz80l/tmp5xbdcp66 TO /root/.ansible/tmp/ansible-tmp-1592296099.9345188-234795354696185/AnsiballZ_file.py
<127.0.0.1> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1592296099.9345188-234795354696185/ /root/.ansible/tmp/ansible-tmp-1592296099.9345188-234795354696185/AnsiballZ_file.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '/bin/python3 /root/.ansible/tmp/ansible-tmp-1592296099.9345188-234795354696185/AnsiballZ_file.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1592296099.9345188-234795354696185/ > /dev/null 2>&1 && sleep 0'
changed: [localhost] => {
"changed": true,
"diff": {
"after": {
"group": 1001,
"owner": 1001,
"path": "/tmp/.bench"
},
"before": {
"group": 0,
"owner": 0,
"path": "/tmp/.bench"
}
},
"gid": 1001,
"group": "frappe",
"invocation": {
"module_args": {
"_diff_peek": null,
"_original_basename": null,
"access_time": null,
"access_time_format": "%Y%m%d%H%M.%S",
"attributes": null,
"backup": null,
"content": null,
"delimiter": null,
"directory_mode": null,
"follow": true,
"force": false,
"group": "frappe",
"mode": null,
"modification_time": null,
"modification_time_format": "%Y%m%d%H%M.%S",
"owner": "frappe",
"path": "/tmp/.bench",
"recurse": true,
"regexp": null,
"remote_src": null,
"selevel": null,
"serole": null,
"setype": null,
"seuser": null,
"src": null,
"state": "directory",
"unsafe_writes": null
}
},
"mode": "0755",
"owner": "frappe",
"path": "/tmp/.bench",
"size": 4096,
"state": "directory",
"uid": 1001
}

TASK [Change default shell to bash] ********************************************
task path: /tmp/.bench/playbooks/create_user.yml:27
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: root
<127.0.0.1> EXEC /bin/sh -c 'echo ~root && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "echo /root/.ansible/tmp/ansible-tmp-1592296100.3323405-69677363692641" && echo ansible-tmp-1592296100.3323405-69677363692641="echo /root/.ansible/tmp/ansible-tmp-1592296100.3323405-69677363692641" ) && sleep 0'
Using module file /usr/local/lib/python3.6/site-packages/ansible/modules/commands/command.py
<127.0.0.1> PUT /root/.ansible/tmp/ansible-local-13437ezewz80l/tmpysh3bcum TO /root/.ansible/tmp/ansible-tmp-1592296100.3323405-69677363692641/AnsiballZ_command.py
<127.0.0.1> EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1592296100.3323405-69677363692641/ /root/.ansible/tmp/ansible-tmp-1592296100.3323405-69677363692641/AnsiballZ_command.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '/bin/python3 /root/.ansible/tmp/ansible-tmp-1592296100.3323405-69677363692641/AnsiballZ_command.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1592296100.3323405-69677363692641/ > /dev/null 2>&1 && sleep 0'
fatal: [localhost]: FAILED! => {
"changed": true,
"cmd": "chsh frappe -s $(which bash)",
"delta": "0:00:00.007323",
"end": "2020-06-16 08:28:20.733558",
"invocation": {
"module_args": {
"_raw_params": "chsh frappe -s $(which bash)",
"_uses_shell": true,
"argv": null,
"chdir": null,
"creates": null,
"executable": null,
"removes": null,
"stdin": null,
"stdin_add_newline": true,
"strip_empty_ends": true,
"warn": true
}
},
"msg": "non-zero return code",
"rc": 1,
"start": "2020-06-16 08:28:20.726235",
"stderr": "/bin/sh: which: command not found\nchsh: option requires an argument -- 's'\n\nUsage:\n chsh [options] [username]\n\nOptions:\n -s, --shell specify login shell\n -l, --list-shells print list of shells and exit\n\n -u, --help display this help and exit\n -v, --version output version information and exit\n\nFor more details see chsh(1).",
"stderr_lines": [
"/bin/sh: which: command not found",
"chsh: option requires an argument -- 's'",
"",
"Usage:",
" chsh [options] [username]",
"",
"Options:",
" -s, --shell specify login shell",
" -l, --list-shells print list of shells and exit",
"",
" -u, --help display this help and exit",
" -v, --version output version information and exit",
"",
"For more details see chsh(1)."
],
"stdout": "",
"stdout_lines": []
}

PLAY RECAP *********************************************************************
localhost : ok=4 changed=3 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0

Install script run at 08:27 on 2020-06-16

Additional context
Logs are saved under /tmp/logs/easy-install__2020-06-16__08-35.log
Checking System Compatibility...
centos 7 is compatible!
Maybe run: yum groups mark install (see man yum)
curl already installed!
wget already installed!
git already installed!
pip3 already installed!
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note
that the implicit localhost does not match 'all'
Traceback (most recent call last):
File "install.py", line 440, in
install_bench(args)
File "install.py", line 211, in install_bench
run_playbook('create_user.yml', extra_vars=extra_vars)
File "install.py", line 365, in run_playbook
success = subprocess.check_call(args, cwd=playbooks_folder, stdout=log_stream, stderr=sys.stderr)
File "/usr/lib64/python3.6/subprocess.py", line 311, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['ansible-playbook', '-c', 'local', 'create_user.yml', '-vvvv', '-e', '@/tmp/extra_vars.json']' returned non-zero exit status 2.

Possible Solution

Thanks

@ckc ckc closed this as completed Jun 16, 2020
@ckc ckc reopened this Jun 16, 2020
@ckc ckc changed the title How to install under root of centOS? Cannot install under easy install script on CentOS7 Jun 16, 2020
@ckc
Copy link
Author

ckc commented Jun 16, 2020

Logs are saved under /tmp/logs/easy-install__2020-06-16__08-50.log
Checking System Compatibility...
centos 7 is compatible!
Maybe run: yum groups mark install (see man yum)
curl already installed!
wget already installed!
git already installed!
pip3 already installed!
Traceback (most recent call last):
  File "install.py", line 440, in <module>
    install_bench(args)
  File "install.py", line 211, in install_bench
    run_playbook('create_user.yml', extra_vars=extra_vars)
  File "install.py", line 365, in run_playbook
    success = subprocess.check_call(args, cwd=playbooks_folder, stdout=log_stream, stderr=sys.stderr)
  File "/usr/lib64/python3.6/subprocess.py", line 306, in check_call
    retcode = call(*popenargs, **kwargs)
  File "/usr/lib64/python3.6/subprocess.py", line 287, in call
    with Popen(*popenargs, **kwargs) as p:
  File "/usr/lib64/python3.6/subprocess.py", line 729, in __init__
    restore_signals, start_new_session)
  File "/usr/lib64/python3.6/subprocess.py", line 1364, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'ansible-playbook': 'ansible-playbook'

@jinjie
Copy link

jinjie commented Mar 3, 2021

It seem that sudo dnf install ansible fixed the issue. Hope this helps anyone who are facing the same issue.

@ankush ankush transferred this issue from frappe/bench Nov 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants