LINUX.ORG.RU

Ansible 2.1 apt: autoremove

 , ,


0

1

Доброго времени суток

имеется

ansible 2.1.0
config file = /etc/ansible/ansible.cfg
configured module search path = ['/usr/share/my_modules/']

хочется чтобы при запуске плейбука с содержанием

- name: Clean autoremove
apt: autoremove=yes
sudo: yes

выполнялось apt-get autoremove -y
однако происходит

FAILED! => {«changed»: false, «failed»: true, «module_s tderr»: "", «module_stdout»: «Traceback (most recent call last):\r\n File \»/tm p/ansible_zNyv0o/ansible_module_apt.py\", line 824, in <module>\r\n main()\r\ n File \«/tmp/ansible_zNyv0o/ansible_module_apt.py\», line 784, in main\r\n for package in packages:\r\nTypeError: 'NoneType' object is not iterable\r\n", " msg": «MODULE FAILURE», «parsed»: false}

пробовал как описано
https://groups.google.com/forum/#!msg/ansible-project/rYjWBHYOiFg/gqPEHkxTCgAJ

типо
- name: Upgrade software packege
apt: upgrade=dist autoremove=yes
sudo: yes

репортит что все ок однако на целевом сервере apt-get autoremove -y
не выполняет



Последнее исправление: the_Black_Ghost (всего исправлений: 1)

Начните с того, что откатитесь на стабильную ветку. Ошибка у вас в питоновском скрипте, который запускает Ansible, нужно разбираться что ему там приходит на вход и почему, но на devel-сборках ждать нормальной работы не стоит.

alozovskoy ★★★★★
()
Ответ на: комментарий от the_Black_Ghost

Уже нашли откуда там пустота приходит в иттератор? Скорее всего модуль, парсящий плейбуки, должен в случае отсутствия списка пакетов какой-нибудь all туда подставлять или что-то подобное. В любом случае если это нужно сделать прям сейчас то можно воспользоваться модулем shell.

alozovskoy ★★★★★
()
Ответ на: комментарий от alozovskoy

Не добил питоскрипт, ибо не силен я в питоне, причем судя по всему вообще.

Однако, решил проблему таким хинтом

- name: Clean autoremove

apt: name=mc sate=absent autoremove=yes

sudo: yes

То есть видимо оно парсит команду когда есть аргументы, а исполняет ее только когда заказано удаление пакета, причем я прозреваю только тогда когда у пакета есть зависимости

Вообщем будет время займусь и им в трекер напишу чтобы можно было именно чистый apt-get autoremove -y

Насчет шела и версии я кагбе специально играюсь с 2.1 и насколько оно в прод может.

the_Black_Ghost
() автор топика
Ответ на: комментарий от the_Black_Ghost

Я «в проде» до сих пор гоняю 1.9чтототам потому что они даже к релизу умудряются кучу багов выкатить, тестовую ветку я даже не смотрю после того как принятый мною патч был потерян мерджем следующего коммита, в котором этих изменений не было. В общем советую использовать стабильные ветки =)

alozovskoy ★★★★★
()
Ответ на: комментарий от the_Black_Ghost

А какой вообще смысл в apt-get autoremove -y ? Зачем его постоянно дергать? Он ведь и нужен по факту только когда ты удаляешь пакет, а зависимости остаются.

autonomous ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.