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.
Проверьте доступность адреса с узла контроллера, на котором вы сейчас находитесь:
ping -c 1 <ip>
Проверьте, что на этот адрес ходят большие пакеты:
ping -c 1 -s 10000 <ip>
Проверьте, что доступен порт 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.