@tarasovc47
Эникей со стажем))

Как собрать OpenStack при помощи kolla-ansible?

Добрый день!
Дано:
7 физических серверов в одной локалке
у каждого по 1 роли
1 control
1 network
2 compute
1 storage
1 monitoring
1 deployment
пока без резервирования, чисто тестовый запуск
centos stream 8 в качестве базы
kolla-ansible (делаю по официальным мануалам)
конфиг подготовлен: /etc/kolla/globals.yml
вот содержимое multinode

...
[network]
network1 neutron_external_interface=eno1 api_interface=eno1
compute1 neutron_external_interface=ens2 api_interface=ens2
...
[loadbalancer:children]
network
...

когда делаю kolla-ansible -i ./multinode prechecks

проверка крашится на этом этапе
TASK [loadbalancer : Checking if kolla_internal_vip_address and kolla_external_vip_address are not pingable from any node]
failed: [network1] (item={'address': '192.168.0.4', 'command': 'ping'}) => {"ansible_loop_var": "item", "changed": false, "cmd": ["ping", "-c", "3", "192.168.0.4"], "delta": "0:00:02.069840", "end": "2022-10-05 10:58:59.646353", "failed_when_result": true, "item": {"address": "192.168.0.4", "command": "ping"}, "msg": "", "rc": 0, "start": "2022-10-05 10:58:57.576513", "stderr": "", "stderr_lines": [], "stdout": "PING 192.168.0.4 (192.168.0.4) 56(84) bytes of data.\n64 bytes from 192.168.0.4: icmp_seq=1 ttl=64 time=0.432 ms\n64 bytes from 192.168.0.4: icmp_seq=2 ttl=64 time=0.514 ms\n64 bytes from 192.168.0.4: icmp_seq=3 ttl=64 time=0.515 ms\n\n--- 192.168.0.4 ping statistics ---\n3 packets transmitted, 3 received, 0% packet loss, time 2066ms\nrtt min/avg/max/mdev = 0.432/0.487/0.515/0.038 ms", "stdout_lines": ["PING 192.168.0.4 (192.168.0.4) 56(84) bytes of data.", "64 bytes from 192.168.0.4: icmp_seq=1 ttl=64 time=0.432 ms", "64 bytes from 192.168.0.4: icmp_seq=2 ttl=64 time=0.514 ms", "64 bytes from 192.168.0.4: icmp_seq=3 ttl=64 time=0.515 ms", "", "--- 192.168.0.4 ping statistics ---", "3 packets transmitted, 3 received, 0% packet loss, time 2066ms", "rtt min/avg/max/mdev = 0.432/0.487/0.515/0.038 ms"]}
failed: [compute1] (item={'address': '192.168.0.4', 'command': 'ping'}) => {"ansible_loop_var": "item", "changed": false, "cmd": ["ping", "-c", "3", "192.168.0.4"], "delta": "0:00:02.065560", "end": "2022-10-05 10:58:59.918098", "failed_when_result": true, "item": {"address": "192.168.0.4", "command": "ping"}, "msg": "", "rc": 0, "start": "2022-10-05 10:58:57.852538", "stderr": "", "stderr_lines": [], "stdout": "PING 192.168.0.4 (192.168.0.4) 56(84) bytes of data.\n64 bytes from 192.168.0.4: icmp_seq=1 ttl=64 time=0.360 ms\n64 bytes from 192.168.0.4: icmp_seq=2 ttl=64 time=0.348 ms\n64 bytes from 192.168.0.4: icmp_seq=3 ttl=64 time=0.297 ms\n\n--- 192.168.0.4 ping statistics ---\n3 packets transmitted, 3 received, 0% packet loss, time 2056ms\nrtt min/avg/max/mdev = 0.297/0.335/0.360/0.027 ms", "stdout_lines": ["PING 192.168.0.4 (192.168.0.4) 56(84) bytes of data.", "64 bytes from 192.168.0.4: icmp_seq=1 ttl=64 time=0.360 ms", "64 bytes from 192.168.0.4: icmp_seq=2 ttl=64 time=0.348 ms", "64 bytes from 192.168.0.4: icmp_seq=3 ttl=64 time=0.297 ms", "", "--- 192.168.0.4 ping statistics ---", "3 packets transmitted, 3 received, 0% packet loss, time 2056ms", "rtt min/avg/max/mdev = 0.297/0.335/0.360/0.027 ms"]}
failed: [network1] (item={'address': '192.168.0.4', 'command': 'ping'}) => {"ansible_loop_var": "item", "changed": false, "cmd": ["ping", "-c", "3", "192.168.0.4"], "delta": "0:00:02.050500", "end": "2022-10-05 10:59:01.886478", "failed_when_result": true, "item": {"address": "192.168.0.4", "command": "ping"}, "msg": "", "rc": 0, "start": "2022-10-05 10:58:59.835978", "stderr": "", "stderr_lines": [], "stdout": "PING 192.168.0.4 (192.168.0.4) 56(84) bytes of data.\n64 bytes from 192.168.0.4: icmp_seq=1 ttl=64 time=0.490 ms\n64 bytes from 192.168.0.4: icmp_seq=2 ttl=64 time=0.437 ms\n64 bytes from 192.168.0.4: icmp_seq=3 ttl=64 time=0.392 ms\n\n--- 192.168.0.4 ping statistics ---\n3 packets transmitted, 3 received, 0% packet loss, time 2048ms\nrtt min/avg/max/mdev = 0.392/0.439/0.490/0.046 ms", "stdout_lines": ["PING 192.168.0.4 (192.168.0.4) 56(84) bytes of data.", "64 bytes from 192.168.0.4: icmp_seq=1 ttl=64 time=0.490 ms", "64 bytes from 192.168.0.4: icmp_seq=2 ttl=64 time=0.437 ms", "64 bytes from 192.168.0.4: icmp_seq=3 ttl=64 time=0.392 ms", "", "--- 192.168.0.4 ping statistics ---", "3 packets transmitted, 3 received, 0% packet loss, time 2048ms", "rtt min/avg/max/mdev = 0.392/0.439/0.490/0.046 ms"]}
failed: [compute1] (item={'address': '192.168.0.4', 'command': 'ping'}) => {"ansible_loop_var": "item", "changed": false, "cmd": ["ping", "-c", "3", "192.168.0.4"], "delta": "0:00:02.054751", "end": "2022-10-05 10:59:02.478130", "failed_when_result": true, "item": {"address": "192.168.0.4", "command": "ping"}, "msg": "", "rc": 0, "start": "2022-10-05 10:59:00.423379", "stderr": "", "stderr_lines": [], "stdout": "PING 192.168.0.4 (192.168.0.4) 56(84) bytes of data.\n64 bytes from 192.168.0.4: icmp_seq=1 ttl=64 time=0.385 ms\n64 bytes from 192.168.0.4: icmp_seq=2 ttl=64 time=0.292 ms\n64 bytes from 192.168.0.4: icmp_seq=3 ttl=64 time=0.318 ms\n\n--- 192.168.0.4 ping statistics ---\n3 packets transmitted, 3 received, 0% packet loss, time 2047ms\nrtt min/avg/max/mdev = 0.292/0.331/0.385/0.044 ms", "stdout_lines": ["PING 192.168.0.4 (192.168.0.4) 56(84) bytes of data.", "64 bytes from 192.168.0.4: icmp_seq=1 ttl=64 time=0.385 ms", "64 bytes from 192.168.0.4: icmp_seq=2 ttl=64 time=0.292 ms", "64 bytes from 192.168.0.4: icmp_seq=3 ttl=64 time=0.318 ms", "", "--- 192.168.0.4 ping statistics ---", "3 packets transmitted, 3 received, 0% packet loss, time 2047ms", "rtt min/avg/max/mdev = 0.292/0.331/0.385/0.044 ms"]}

при этом если убрать в multinode группу loadbalancer:children - то проверка сразу крашится, что логично, если в loadbalancer:children 1 или две группы - то собственно выпадает вышеприведённая ошибка. если добавить в группу network ещё какую-нибудь ноду, например monitoring1, то это никак не влияет, причём и из самой ошибки видно, что всё пингуется, и напрямую с нод всё пингуется, короче ошибка "ничё не пингуется, вот вам результаты пинга 3 передано 3 принято 0 потеряно"
добавляю в loadbalancer:children группу monitoring к примеру - добавляется в ошибку "не пингуется" ещё и узел monitoring1, с теми же 0 потерями
Вопрос: как так то? ЧЯДНТ?
  • Вопрос задан
  • 898 просмотров
Пригласить эксперта
Ответы на вопрос 1
@tarasovc47 Автор вопроса
Эникей со стажем))
нашёл проблему, описана была в багрепорте, но я не придал значение, т.к. я понял, что типа этот баг был пофикшен давно, в версии milestone. но, видимо "май инлиш ис вэри кровать".
Короче, надо в /etc/kolla/globals.yml явно выключить haproxy:
enable_haproxy: "no"
тогда проверка проходит корректно. как задеплою стек - помечу решением, а то precheck проходит без ошибок, но с mariadb проблемы, фз вдруг оно связано
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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