Ошибка при использовании команды conda через ansible - PullRequest
0 голосов
/ 01 октября 2019

Я пытаюсь автоматизировать установку Miniconda с помощью заданной роли. Я не вставил всю ошибку, так как пытаюсь понять эту ошибку разрешения, надеясь, что это настоящая проблема, я не понимаю, почему conda пытается создать файлы или папки с путем /. cph_xxx . Если бы у кого-то уже была эта проблема, я бы очень хотел знать. Моя работа немного сложна для описания, я проверяю роль с молекулой. Итак, весь этот код выполняется в контейнере Docker RHEL7.

Вот мой файл tasks / main.yml в роли:

---
# necessary steps to deploy the role.
- name: 'Add the user {{ miniconda_user }} with a bash shell'
  user:
    name: '{{ miniconda_user }}'
    shell: /bin/bash

- name: check if already installed
  stat: path={{ miniconda_home }}/bin/conda
  register: bin_conda
  changed_when: bin_conda.stat.exists == False
  become: yes
  become_user: '{{ miniconda_user }}'

- name: Create a tmp directory if it does not exist
  file:
    path: '{{ miniconda_tmp }}'
    state: directory
    mode: '0755'
  become: yes
  become_user: '{{ miniconda_user }}'

- name: download miniconda installer
  get_url:
    url={{ miniconda_url }}
    dest={{ miniconda_tmp }}/miniconda.sh
    mode=0755
  register: miniconda_downloaded
  when: bin_conda.stat.exists == False
  become: yes
  become_user: '{{ miniconda_user }}'

- name: install miniconda
  shell: '{{ miniconda_tmp }}/miniconda.sh -b -f -p {{ miniconda_home }}'
  register: miniconda_installed
  when: miniconda_downloaded | success
  become: yes
  become_user: '{{ miniconda_user }}'

- name: remove miniconda setup script
  file: name={{ miniconda_tmp }}/miniconda.sh state=absent
  when: miniconda_installed | success
  become: yes
  become_user: '{{ miniconda_user }}'

- name: Recursively change ownership of Miniconda a directory
  file:
    path: '{{ miniconda_home }}'
    state: directory
    recurse: yes
    mode: '0755'
    owner: '{{ miniconda_user }}'
    group: '{{ miniconda_user }}'

- name: update miniconda
  shell: '{{ miniconda_conda_bin }} update --all'
  register: miniconda_installed
  when: miniconda_downloaded | success
  become: yes
  become_user: '{{ miniconda_user }}'

Чего я не понимаю, так это того, что последнийstep, conda update выдает мне следующую ошибку, несмотря на каждый шаг перед началом работы:

fatal: [instance]: FAILED! => {
  "changed": true, 
  "cmd": "/home/proxirhmanager/miniconda/bin/conda update --all", 
  "delta": "0:00:08.547853", "end": "2019-10-01 09:14:57.246143", 
  "msg": "non-zero return code", 
  "rc": 1, 
  "start": "2019-10-01 09:14:48.698290", 
  "stderr": "
  [Errno 13] Permission denied: '/.cph_tmp05aumjox'
  [Errno 13] Permission denied: '/.cph_tmp4au09jia'
  [Errno 13] Permission denied: '/.cph_tmp33mgqg0y'
  [Errno 13] Permission denied: '/.cph_tmpo10r_iv1'
  [Errno 13] Permission denied: '/.cph_tmpnbwz5bvs'
  "
...