Intereting Posts
как перемещать набор файлов в один слой Значения суммы в 5-м столбце, которые соответствуют одному полю во втором столбце Сделайте меньше файлов, возвращенных с помощью команды Можно ли настроить ядро ​​Linux для запуска сценария пользовательского пространства, когда происходит сбой ядра? Разрешения Setfacl игнорируются для файла, скопированного по sftp Как оштрафовать файл в n-out-of-m redundancy (код стирания, например, вид соломона)? Файловая система размонтирована после выходных В чем разница между файлами localtime и timezone? Сравнить документы PDF со встроенными ссылками? Как создать простой скрипт, чтобы убить uhttpd, а затем запустить lighttpd? Как найти файлы не определенного типа? key_read: несоответствие типа: ошибка кодирования путь bind к 'named.pid' выглядит немного странно после установки не столь гладкой упаковки Zsh: автоматическое изменение выполняемой команды разрыв с программой, запущенной в интерактивном сеансе в окне экрана

Не удалось выполнить запрос Curl из сценария Ansible playbook

Я делаю простой скрипт, который будет запускаться на узле Ansible, и уведомлять меня через Slack api, если доступны обновления.

Если я выполняю скрипт на своих хостах (все на основе Debian), я получаю уведомление в приложении Slack по своему желанию, но когда он запускается через Ansible, он не сообщает об ошибках, но я никогда не получал выход.

В чем может быть проблема? Я из идей.

Сценарий Bash запускался в Ansible:

#!/bin/bash UPGRADE_LIST=$(mktemp) HOLDED_PACKAGES=$(mktemp) TMP=$(mktemp) HOST=$(hostname) APT=$(which apt) #Get packages that are holded by the pkg manager dpkg --get-selections | awk '/hold$/{print $1}' > "${HOLDED_PACKAGES}" #Get list of upgradeable packages $APT list --upgradable > "${UPGRADE_LIST}" #Filter it awk '/.*\/.*/ {FS="/"; print $1 }' "${UPGRADE_LIST}" > "${TMP}" slack () { a=$1 curl -X POST -H "Content-type: application/json" --data "{\"text\":\"${a}\"}" "API HOOK" } COUNT=$(wc -l "${TMP}") # If count is not equal to 0, then there available packages for upgrade if [[ $COUNT != 0 ]]; then c="Upgrade available for $HOST" slack $c #Print only those that aren't holded by dpkg while read line; do pkg=$(grep -v $line "${TMP}") slack "${pkg}" pkg="" done < "${HOLDED_PACKAGES}" else b="No upgrade available for ${HOST}" slack $b fi #CLEANUP rm "${TMP}" "${UPGRADE_LIST}" "${HOLDED_PACKAGES}" 

Playbook:

 --- - hosts: debian tasks: - script: /etc/ansible/scripts/update-manager.sh 

Редактировать:

Исправлена. Была ли локальная проблема в инвентаре. Он указывал на локальный хор, который является альпийским.