mirror of
https://github.com/frappe/bench.git
synced 2025-01-10 00:37:51 +00:00
[fix] installer - ask password
This commit is contained in:
parent
68564849e6
commit
15492630af
@ -8,8 +8,7 @@ default_config = {
|
|||||||
'update_bench_on_update': True,
|
'update_bench_on_update': True,
|
||||||
'frappe_user': getpass.getuser(),
|
'frappe_user': getpass.getuser(),
|
||||||
'shallow_clone': True,
|
'shallow_clone': True,
|
||||||
'background_workers': 1,
|
'background_workers': 1
|
||||||
'dns_multitenant': True
|
|
||||||
}
|
}
|
||||||
|
|
||||||
def make_config(bench_path):
|
def make_config(bench_path):
|
||||||
|
@ -12,10 +12,15 @@
|
|||||||
when: ansible_distribution_version | version_compare('16.04', 'ge')
|
when: ansible_distribution_version | version_compare('16.04', 'ge')
|
||||||
|
|
||||||
- name: Add apt repository
|
- name: Add apt repository
|
||||||
apt_repository: repo='deb [arch=amd64,i386] http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.1/ubuntu {{ ansible_distribution_release }} main' state=present
|
apt_repository:
|
||||||
|
repo: 'deb [arch=amd64,i386] http://nyc2.mirrors.digitalocean.com/mariadb/repo/10.1/ubuntu {{ ansible_distribution_release }} main'
|
||||||
|
state: present
|
||||||
become: yes
|
become: yes
|
||||||
become_user: root
|
become_user: root
|
||||||
|
|
||||||
|
- name: Unattended package installation
|
||||||
|
shell: export DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
- name: apt-get install
|
- name: apt-get install
|
||||||
apt: pkg={{ item }} update_cache=yes state=present
|
apt: pkg={{ item }} update_cache=yes state=present
|
||||||
with_items:
|
with_items:
|
||||||
|
@ -48,6 +48,11 @@ def install_bench(args):
|
|||||||
'yum': 'sudo python get-pip.py',
|
'yum': 'sudo python get-pip.py',
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if success:
|
||||||
|
run_os_command({
|
||||||
|
'pip': 'sudo pip install --upgrade pip setuptools',
|
||||||
|
})
|
||||||
|
|
||||||
# Restricting ansible version due to following bug in ansible 2.1
|
# Restricting ansible version due to following bug in ansible 2.1
|
||||||
# https://github.com/ansible/ansible-modules-core/issues/3752
|
# https://github.com/ansible/ansible-modules-core/issues/3752
|
||||||
success = run_os_command({
|
success = run_os_command({
|
||||||
@ -64,16 +69,28 @@ def install_bench(args):
|
|||||||
if is_sudo_user() and not args.user and not args.production:
|
if is_sudo_user() and not args.user and not args.production:
|
||||||
raise Exception('Please run this script as a non-root user with sudo privileges, but without using sudo or pass --user=USER')
|
raise Exception('Please run this script as a non-root user with sudo privileges, but without using sudo or pass --user=USER')
|
||||||
|
|
||||||
|
if not args.user:
|
||||||
|
if args.production:
|
||||||
|
args.user = 'frappe'
|
||||||
|
else:
|
||||||
|
args.user = getpass.getuser()
|
||||||
|
|
||||||
# args is namespace, but we would like to use it as dict in calling function, so use vars()
|
if args.user == 'root':
|
||||||
if args.production and not args.user:
|
raise Exception('--user cannot be root')
|
||||||
args.user = 'frappe'
|
|
||||||
|
|
||||||
# create user if not exists
|
# create user if not exists
|
||||||
extra_vars = vars(args)
|
extra_vars = vars(args)
|
||||||
|
extra_vars.update(frappe_user=args.user)
|
||||||
|
|
||||||
run_playbook('develop/create_user.yml', extra_vars=extra_vars)
|
run_playbook('develop/create_user.yml', extra_vars=extra_vars)
|
||||||
|
|
||||||
|
extra_vars.update(get_passwords(args.run_travis))
|
||||||
|
if args.production:
|
||||||
|
extra_vars.update(max_worker_connections=multiprocessing.cpu_count() * 1024)
|
||||||
|
|
||||||
|
branch = 'master' if args.production else 'develop'
|
||||||
|
extra_vars.update(branch=branch)
|
||||||
|
|
||||||
if args.develop:
|
if args.develop:
|
||||||
run_playbook('develop/install.yml', sudo=True, extra_vars=extra_vars)
|
run_playbook('develop/install.yml', sudo=True, extra_vars=extra_vars)
|
||||||
|
|
||||||
@ -173,26 +190,11 @@ def get_passwords(run_travis=False):
|
|||||||
'admin_password': admin_password
|
'admin_password': admin_password
|
||||||
}
|
}
|
||||||
|
|
||||||
def get_extra_vars_json(extra_args, run_travis=False):
|
def get_extra_vars_json(extra_args):
|
||||||
# We need to pass production as extra_vars to the playbook to execute conditionals in the
|
# We need to pass production as extra_vars to the playbook to execute conditionals in the
|
||||||
# playbook. Extra variables can passed as json or key=value pair. Here, we will use JSON.
|
# playbook. Extra variables can passed as json or key=value pair. Here, we will use JSON.
|
||||||
json_path = os.path.join('/tmp', 'extra_vars.json')
|
json_path = os.path.join('/tmp', 'extra_vars.json')
|
||||||
extra_vars = dict(extra_args.items())
|
extra_vars = dict(extra_args.items())
|
||||||
|
|
||||||
if extra_args.get('production'):
|
|
||||||
run_travis = extra_args.get('run_travis')
|
|
||||||
extra_vars.update(get_passwords(run_travis))
|
|
||||||
extra_vars.update(max_worker_connections=multiprocessing.cpu_count() * 1024)
|
|
||||||
|
|
||||||
branch = 'master' if extra_args.get('production') else 'develop'
|
|
||||||
extra_vars.update(branch=branch)
|
|
||||||
|
|
||||||
user = args.user or getpass.getuser()
|
|
||||||
if user == 'root':
|
|
||||||
raise Exception('--user cannot be root')
|
|
||||||
|
|
||||||
extra_vars['frappe_user'] = user
|
|
||||||
|
|
||||||
with open(json_path, mode='w') as j:
|
with open(json_path, mode='w') as j:
|
||||||
json.dump(extra_vars, j, indent=1, sort_keys=True)
|
json.dump(extra_vars, j, indent=1, sort_keys=True)
|
||||||
|
|
||||||
|
@ -33,6 +33,8 @@
|
|||||||
chdir: '{{ bench_path }}'
|
chdir: '{{ bench_path }}'
|
||||||
|
|
||||||
- name: Change permissions for frappe home folder
|
- name: Change permissions for frappe home folder
|
||||||
|
become: yes
|
||||||
|
become_user: root
|
||||||
file:
|
file:
|
||||||
dest: '{{ ansible_env.HOME }}'
|
dest: '{{ ansible_env.HOME }}'
|
||||||
owner: '{{ ansible_user_id }}'
|
owner: '{{ ansible_user_id }}'
|
||||||
|
Loading…
Reference in New Issue
Block a user