Невозможно установить пакеты на удаленные узлы через Ansible

Я установил и настроил Ansible. Моя среда следующая:

  • Control Machine - Ubuntu 14.04
  • Узлы - Centos 7

Ниже мой файл hosts :

# cat /etc/hosts
127.0.0.1   localhost
192.168.2.100  ubunansible.intern.local ubunansible 
192.168.2.240  node1.intern.local node1
192.168.2.250  node2.intern.local node2

Я хотел бы установить пакеты на узлы, но я могу 't, хотя анзибл пинг успешно проходит от Ubuntu к узлам:

# ansible -m ping php 
192.168.2.240 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}
192.168.2.250 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

Мой php.yml, как показано ниже

# cat php.yml
---
- hosts: php
  remote_user: root


  tasks:
  - name: Install required packages
    yum:  update_cache=yes state=latest  name={{ item }}
    with_items:
    - git
    - mcrypt
    - nginx
    - php5-cli
    - php5-curl
    - php5-fpm
    - php5-intl
    - php5-json
    - php5-mcrypt
    - php5-sqlite
    - sqlite3

Синтаксис Yaml правильный; это было проверено онлайн-валидатором yaml. Но когда я запускаю

$ ansible-playbook php.yml

PLAY [php] ********************************************************************************************************************

TASK [Gathering Facts] ********************************************************************************************************
ok: [192.168.2.240]
ok: [192.168.2.250]

TASK [Install required packages] **********************************************************************************************
failed: [192.168.2.250] (item=[u'git', u'mcrypt', u'nginx', u'php5-cli', u'php5-curl', u'php5-fpm', u'php5-intl', u'php5-json', u'php5-mcrypt', u'php5-sqlite', u'sqlite3']) => {"changed": false, "failed": true, "item": ["git", "mcrypt", "nginx", "php5-cli", "php5-curl", "php5-fpm", "php5-intl", "php5-json", "php5-mcrypt", "php5-sqlite", "sqlite3"], "msg": "No package matching 'php5-cli' found available, installed or updated", "rc": 126, "results": ["No package matching 'php5-cli' found available, installed or updated"]}
failed: [192.168.2.240] (item=[u'git', u'mcrypt', u'nginx', u'php5-cli', u'php5-curl', u'php5-fpm', u'php5-intl', u'php5-json', u'php5-mcrypt', u'php5-sqlite', u'sqlite3']) => {"changed": false, "failed": true, "item": ["git", "mcrypt", "nginx", "php5-cli", "php5-curl", "php5-fpm", "php5-intl", "php5-json", "php5-mcrypt", "php5-sqlite", "sqlite3"], "msg": "No package matching 'php5-cli' found available, installed or updated", "rc": 126, "results": ["No package matching 'php5-cli' found available, installed or updated"]}
to retry, use: --limit @/etc/ansible/php.retry

PLAY RECAP ********************************************************************************************************************
192.168.2.240              : ok=1    changed=0    unreachable=0    failed=1   
192.168.2.250              : ok=1    changed=0    unreachable=0    failed=1   

, он терпит неудачу.

0
09.08.2017, 15:10
1 ответ

Проблема, вызывающая сбой ansible run, указана в вашем последнем блоке терминалов:

No package matching 'php5-cli' found available, installed or updated

Вы должны обнаружить, что это также не работает, если вы попытаетесь установить его на узел без с помощью ansible; попробуй

node$ sudo apt install php5-cli

Удалите php5-cliиз php.ymlи повторите попытку.

2
28.01.2020, 02:33

Теги

Похожие вопросы