Size: a a a

ansible — русскоговорящее сообщество

2018 February 12

NK

ID:448411134 in ansible — русскоговорящее сообщество
А мне то как интересно увидеть решение задачи :)
источник
2018 February 13

NK

ID:448411134 in ansible — русскоговорящее сообщество
В общем, решил задачу так:
      - name: Check user
      getent:
        database: passwd
        key: "{{ username }}"
      register: user_result
      ignore_errors: yes

    - name: Check user2  
      shell: echo 1
      failed_when: user_result|success

    - debug:
        var: getenta

    - debug:
        var: user

Если существует - выдаст ошибку и остановит сценарий.
Если не существует - выдаст ошибку, проигнорирует и будет выполнять сценарий дальше.
источник

AK

Andrew Krw. in ansible — русскоговорящее сообщество
источник

NK

ID:448411134 in ansible — русскоговорящее сообщество
Ппц...
источник
2018 February 14

cc

cent cent in ansible — русскоговорящее сообщество
А кто-то баг ловил, когда ansible_module_apt_repository.py не останавливается корректно и лок файл залочен?
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
источник

NK

ID:448411134 in ansible — русскоговорящее сообщество
Попробуй
sudo rm /var/lib/apt/lists/lock
sudo apt --configure -a
источник

cc

cent cent in ansible — русскоговорящее сообщество
ID:448411134
Попробуй
sudo rm /var/lib/apt/lists/lock
sudo apt --configure -a
Ну, как лечить - это понятно. А как не допускать подобное?
https://github.com/ansible/ansible-modules-core/issues/2951#issuecomment-191892885 - чувак делает через shell
источник

NK

ID:448411134 in ansible — русскоговорящее сообщество
Ну хз. Лично не сталкивался.
источник

NK

ID:448411134 in ansible — русскоговорящее сообщество
Там пишут
sudo rm -rf /var/lib/apt/lists/* solve the issues momentarily for me too.

Попробуй. Может проканает
источник

AK

Alex Kharkevich in ansible — русскоговорящее сообщество
cent cent
А кто-то баг ловил, когда ansible_module_apt_repository.py не останавливается корректно и лок файл залочен?
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
- name: hack to resolve Problem with MergeList Issue
 shell: 'find /var/lib/apt/lists -maxdepth 1 -type f -exec rm -v {} \;'

я делаю так
источник

cc

cent cent in ansible — русскоговорящее сообщество
Alex Kharkevich
- name: hack to resolve Problem with MergeList Issue
 shell: 'find /var/lib/apt/lists -maxdepth 1 -type f -exec rm -v {} \;'

я делаю так
Каждый раз перед обновлением?
источник

AK

Alex Kharkevich in ansible — русскоговорящее сообщество
угу, не идемпотетно, но как есть. иначе играшь в лотерею - повезет-неповезет
источник

AK

Alex Kharkevich in ansible — русскоговорящее сообщество
дальше как-то так
- name: update
 apt:
   upgrade: dist
   update_cache: yes
источник

cc

cent cent in ansible — русскоговорящее сообщество
Похоже, что это у меня проблема просто с подключением реп была. И это не связано с update_cache: yes
источник

cc

cent cent in ansible — русскоговорящее сообщество
А можете накидать ссылок на извращенно сложные ansible окружения, с кучей envs?
источник

AK

Alex Kharkevich in ansible — русскоговорящее сообщество
cent cent
А можете накидать ссылок на извращенно сложные ansible окружения, с кучей envs?
????
источник
2018 February 15

NK

ID:448411134 in ansible — русскоговорящее сообщество
Как через lineinfile добавить текст в конец строки? Не создать новую строку, а именно добавить в конец строки?
источник

NK

ID:448411134 in ansible — русскоговорящее сообщество
И да, на счастье 1 строка в файле
источник

M

Mikhail in ansible — русскоговорящее сообщество
Нужно regexp использовать, который распознает именно эту строку
Чтобы идемпотентность была нужно вначале проверять что то чего добавляем нет
- name: add path {{new_path}} needed
 command: grep -E "^\s*PRUNEPATHS\s+=.*{{new_path}}" {{filename}}
 register: grep_result
 failed_when: grep_result.rc > 1
 changed_when: false

- name: updatedb add path {{new_path}}
 lineinfile:
   dest: "{{filename}}"
   backrefs: True
   state: present
   regexp: '(^PRUNEPATHS\s+\=\s+)(?:")([\w+\s/]+)(?:")'
   # specific for rwMMV2
   line: '\1"\2 {{new_path}}"'
 when: grep_result.rc != 0
источник

M

Mikhail in ansible — русскоговорящее сообщество
Если нужно один раз что то добавить, то можно одним lineinfile обойтись. У меня из списка добавлялось.
источник