Pacemaker

Ошибка выглядит следующим образом:

Error: 'pcs status | grep -q -e "acloud-compute-30[[:blank:]].*Started"' returned 1 instead of one of [0]

Это значит, что pacemaker не смог запустить ресурс acloud-compute-30.

С любого из контроллеров выполните:

sudo pcs status

Вы увидите статус FAILED для ресурса acloud-compute-30. Проверьте правильность его настройки:

sudo pcs resource config acloud-compute-30

В выводе будет указан адрес ресурса в поле Attributes.

  1. Проверьте доступность адреса с узла контроллера, на котором вы сейчас находитесь:

    ping -c 1 <ip>
    
  2. Проверьте, что на этот адрес ходят большие пакеты:

    ping -c 1 -s 10000 <ip>
    
  3. Проверьте, что доступен порт 3121. Запрос не должен виснуть и не должен выводить ошибку Failed to connect:

    curl <ip>:3121
    

Если порт не доступен, зайдите на проблемный узел по ssh и проверьте статус сервиса pacemaker_remote:

sudo systemctl status pacemaker_remote

Этот сервис должен быть активен только на узлах виртуализации. На узлах контроллерах должен быть активен сервис pacemaker.

Если сервис активен, но имеет ошибки вида:

error: TLS handshake with remote client failed: An illegal parameter has been received.

скопируйте файл /etc/pacemaker/auth с рабочего узла. Команды с узла развёртывания:

ssh tripleo-admin@<working-host>.ctlplane 'sudo cp /etc/pacemaker/auth ./'
rsync -azP tripleo-admin@<working-host>.ctlplane:authkey ./
rsync -azP authkey tripleo-admin@<failed-host>.ctlplane:
ssh tripleo-admin@<failed-host>.ctlplane 'sudo cp authkey /etc/pacemaker/'

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

sudo pcs resouce refresh <failed-host>

В указанном выше примере failed-host == acloud-compute-30.

Запустите повторно puppet на узле, на котором puppet упал изначально.

Если puppet выполнит работу без ошибок, продолжите работу Ansible далее без повторного выполнения задачи Ansible.