Parse Brew Doctor Warnings с Ansible - PullRequest
2 голосов
/ 22 июня 2019

Я хочу разобрать результаты работы brew doctor в список доступных переменных

Brew Doctor дает следующее

Warning: The following directories are not writable by your user:
/usr/local/Cellar
/usr/local/Homebrew
/usr/local/bin
/usr/local/etc
/usr/local/etc/bash_completion.d
/usr/local/include
/usr/local/lib...

You should change the ownership of these directories to your user.
sudo chown -R $(whoami) /usr/local/Cellar /usr/local/Homebrew...

Я хочу сохранить эти файлы и перебрать их в ansible

Ответы [ 2 ]

1 голос
/ 22 июня 2019

Это то, что вы ищете?

vars:

  my_command: Brew-Doctor-List-Files-Command
  my_owner: Brew-Doctor-Files-Owner
  my_dirs: []

tasks:

  - set_fact:
      my_dirs: "{{ my_dirs + [ item ] }}"
    with_lines: "{{ my_command }}"
    when: item is search('^/usr/local/(.*)')

  - file:
      state: directory
      recurse: yes
      path: "{{ item }}"
      owner: "{{ my_owner }}"
    loop: "{{ my_dirs }}"

(не тестировалось)

0 голосов
/ 24 июня 2019

Исправлено с этим:

vars:
  my_dirs: []

tasks:

  - name: set_fact IGNORE ERRORS  
    shell: brew doctor 
    register: doc_data 
    ignore_errors: yes 

  - name: setting facts for chown and chmod from brew doctor 
    set_fact: 
      my_dirs: "{{ my_dirs + [ item ] }}" 
    with_items: "{{ doc_data.stderr_lines }}" 
    when: item | regex_search('^/usr/local/(.*)') 
...