Grundik
kolla-ansible -vvvv
Eugene
RUNNING HANDLER [common : Restart kolla-toolbox container] **********************************************************************************************************************************
changed: [localhost]
RUNNING HANDLER [common : Initializing toolbox container using normal user] *****************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "cmd": ["docker", "exec", "-t", "kolla_toolbox", "ansible", "--version"], "delta": "0:00:00.017929", "end": "2024-12-18 11:40:08.082638", "msg": "non-zero return code", "rc": 1, "start": "2024-12-18 11:40:08.064709", "stderr": "Error response from daemon: container b508907caec519270e7b20ba60e217bfd3d75bcb8a361a9a44a653c3966df5c9 is not running", "stderr_lines": ["Error response from daemon: container b508907caec519270e7b20ba60e217bfd3d75bcb8a361a9a44a653c3966df5c9 is not running"], "stdout": "", "stdout_lines": []}
RUNNING HANDLER [common : Restart kolla-toolbox container] **********************************************************************************************************************************
task path: /home/ebudanov/ansible/share/kolla-ansible/ansible/roles/common/handlers/main.yml:16
<localhost> ESTABLISH LOCAL CONNECTION FOR USER: ebudanov
<localhost> EXEC /bin/sh -c 'echo ~ebudanov && sleep 0'
<localhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /home/ebudanov/.ansible/tmp `"&& mkdir "` echo /home/ebudanov/.ansible/tmp/ansible-tmp-1734522268.0120137-3489796-2412201662025 `" && echo ansible-tmp-1734522268.0120137-3489796-2412201662025="` echo /home/ebudanov/.ansible/tmp/ansible-tmp-1734522268.0120137-3489796-2412201662025 `" ) && sleep 0'
Using module file /home/ebudanov/ansible/share/kolla-ansible/ansible/library/kolla_container.py
<localhost> PUT /home/ebudanov/.ansible/tmp/ansible-local-34887960seui5ru/tmpo63abrm2 TO /home/ebudanov/.ansible/tmp/ansible-tmp-1734522268.0120137-3489796-2412201662025/AnsiballZ_kolla_container.py
<localhost> EXEC /bin/sh -c 'chmod u+x /home/ebudanov/.ansible/tmp/ansible-tmp-1734522268.0120137-3489796-2412201662025/ /home/ebudanov/.ansible/tmp/ansible-tmp-1734522268.0120137-3489796-2412201662025/AnsiballZ_kolla_container.py && sleep 0'
<localhost> EXEC /bin/sh -c 'sudo -H -S -n -u root /bin/sh -c '"'"'echo BECOME-SUCCESS-oheujfflyjwptsuvuaqfktcbvozzwouu ; /home/ebudanov/ansible/bin/python3.10 /home/ebudanov/.ansible/tmp/ansible-tmp-1734522268.0120137-3489796-2412201662025/AnsiballZ_kolla_container.py'"'"' && sleep 0'
<localhost> EXEC /bin/sh -c 'rm -f -r /home/ebudanov/.ansible/tmp/ansible-tmp-1734522268.0120137-3489796-2412201662025/ > /dev/null 2>&1 && sleep 0'
NOTIFIED HANDLER common : Initializing toolbox container using normal user for localhost
changed: [localhost] => {
"changed": true,
"invocation": {
"module_args": {
"action": "recreate_or_restart_container",
"api_version": "auto",
"auth_email": null,
"auth_password": null,
"auth_registry": "quay.io",
"auth_username": null,
"cap_add": [],
"client_timeout": 120,
"container_engine": "docker",
"detach": true,
"dimensions": {},
"environment": {
"ANSIBLE_LIBRARY": "/usr/share/ansible",
"ANSIBLE_NOCOLOR": "1",
"KOLLA_CONFIG_STRATEGY": "COPY_ALWAYS",
"KOLLA_SERVICE_NAME": "kolla-toolbox",
"REQUESTS_CA_BUNDLE": ""
},
"graceful_timeout": 60,
"ignore_missing": false,
"image": "quay.io/openstack.kolla/kolla-toolbox:2023.1-ubuntu-jammy",
"labels": {},
"name": "kolla_toolbox",
"privileged": true,
"remove_on_exit": true,
"restart_policy": "unless-stopped",
"restart_retries": 10,
"security_opt": [],
"state": "running",
"tls_verify": false,
"tty": false,
"volumes": [
Grundik
kolla_toolbox был запущено то до этого?
Eugene
Судя по doccker ps — нет.
Grundik
отсюда и ругань
Eugene
Сейчас попробую вернуть обратно старый тег и посмотреть.
Eugene
Действительно, kolla-toolbox не поднимается на теге 2023.1-ubuntu-jammy.
Grundik
смотри логи докера почему
Grundik
имедж спулить может?
Eugene
Может ли быть бага в той версии kolla-ansible, что у меня слита?
Grundik
docker logs -f kolla_toolbox
Eugene
docker logs -f kolla_toolbox
INFO:__main__:Writing out command to execute
INFO:__main__:Setting permission for /var/log/kolla/ansible.log
++ cat /run_command
+ CMD=kolla_toolbox
+ ARGS=
+ sudo kolla_copy_cacerts
+ [[ ! -n '' ]]
+ . kolla_extend_start
++ [[ ! -f /var/log/kolla/ansible.log ]]
+++ stat -c %U:%G /var/log/kolla/ansible.log
++ [[ ansible:kolla != \a\n\s\i\b\l\e\:\k\o\l\l\a ]]
+++ stat -c %a /var/log/kolla/ansible.log
++ [[ 664 != \6\6\4 ]]
+ echo 'Running command: '\''kolla_toolbox'\'''
Running command: 'kolla_toolbox'
+ exec kolla_toolbox
/usr/local/bin/kolla_start: line 24: exec: kolla_toolbox: not found
Grundik
версия kolla-ansible?
Grundik
https://bugs.launchpad.net/kolla-ansible/+bug/2038914
Grundik
нужен обязательно мастер?
Eugene
Нет, просто по этой хаутушке делал: https://docs.openstack.org/kolla-ansible/latest/user/quickstart.html
Eugene
Плюс немного почитал про globals.yml
Grundik
https://docs.openstack.org/kolla-ansible/2023.1/user/quickstart.html
Grundik
сделай по этой)
Eugene
Спсб. Попробую. :)
Eugene
Не помогло. :( С сетью такая же хрень.
Eugene
ЧЯДНТ, не понимаю.
Grundik
all-in-one?
Eugene
Yep.
Grundik
сколько интерфейсов на железке (vm)?
Eugene
Много, сейчас скажу точно.
Eugene
6 интерейсов, часть занята своим.
Grundik
что прописываешь в
network_interface:
neutron_external_interface:
Eugene
Свободный один точно есть, его и указал как neutron_external_interface.
Eugene
network_interface: "eno1np0"
neutron_external_interface: "eno2np1"
Grundik
колла все задеплоила?
Eugene
Ага. В морде вроде всё на месте. Сетку уже руками создавал.
Grundik
как создавал сеть
Eugene
Через вебморду.
Grundik
тип сети?
Eugene
Блэт, vxlan.
Eugene
Я так понимаю, мне flat надо.
Grundik
да
Eugene
Если просто в локалку бриджом пихнуть.
Eugene
Так... И как быть?
Grundik
пересоздай сеть
Eugene
Тогда пока грохну эту сеть.
Grundik
ovn или ovs?
Grundik
так как много интерфейсов - нужно посмотреть правильно ли сделан mapping в ovs
Grundik
docker exec openvswitch_vswitchd ovs-vsctl list-ports br-ex
Grundik
проверь что чтой интерфейс в бридже
Grundik
норм
Eugene
openstack network create --share --external \
--provider-physical-network flat \
--provider-network-type flat public
Error while executing command: BadRequestException: 400, Invalid input for operation: physical_network 'flat' unknown for flat provider network.
Grundik
--provider-physical-network physnet1
Eugene
Ага, появилось.
Eugene
Подсетки так же через утилиту создавать или уже можно в морде?
Grundik
и так и так
Eugene
Да, роутер теперь по-другому настраивается, появились новые поля.
Eugene
Уф-ф-ф-ф! Заеблось!
Eugene
@BigGrundik я тебе должен. :)
Eugene
Добрый вечер!
Гм, а поясните мне тут. При multinode, получается, один хост — одно назначение? Тут потребовалось уже кластером раскатать просто. И обнаружил, что ноды не совмещаются. Или просто я чего-то не знаю?
Илья | 😶☮️🐸
Eugene
Eugene
Или так нельзя?
Илья | 😶☮️🐸
да как по кайфу можно делать в целом
Илья | 😶☮️🐸
Вопрос в целесообразности и как вы будете собирать потроха потом
Илья | 😶☮️🐸
icewolf
Так вот у меня kolla не даёт. Пишет, что такой-то контейнер уже занят и падает.
Ну бывает, просто в кластере делается чистовой редеплой. Тут ващет важен другой брутальный момент, это уже инфраструктура как код, ну то есть уже использование ironic+bifrost тяжелое моделирование и deploy. Важен и другой момент что класть все в одну корзину при большом деплое лучше не надо. То есть стойка это просто компьюты на верхнем слое уже контрол плейн, нетворк плейн и стораж, последний внезапно делится на слой для виртуализации и слой для s3
icewolf
и это еще не паблик облако, это так деплой мини облака на 30-40 нод(из которых минимум 8-9 это ceph, где то 8-9 это ceph под s3; 3 control node; 2 network node.. а остальное это compute)
уже минимум деление на 4 типа серверов.
Alex
Размещайте узлы нетворк в разных стойках
Размещайте узлы сдс в разных стойках
Размещайте узлы с3 в разных стойках
Размещайте узлы контрол в разных стойках
Зачем ждать когда жаренный петух клюнет?
Илья | 😶☮️🐸
а можно как-то раскидать dhcp агентов и при этом не выделять каждому адрес из public сети? при десятках сетей и 3-5 агентов это такое себе выходит уже
icewolf
Grundik
Grundik
Ну конечно если bare metal не нужен
icewolf
Eugene
Утро коллегам.
Я почему вечером вчера спрашивал про одновременное размещение контрола и нетворка, вот что при попытке совместить и раскатать сс помощью Kolla происходит:
changed: [storage01]
changed: [control01]
fatal: [network01]: FAILED! => {"changed": true, "msg": "'Traceback (most recent call last):\\n File \"/usr/local/lib/python3.10/dist-packages/docker/api/client.py\", line 268, in _raise_for_status\\n response.raise_for_status()\\n File \"/usr/local/lib/python3.10/dist-packages/requests/models.py\", line 1021, in raise_for_status\\n raise HTTPError(http_error_msg, response=self)\\nrequests.exceptions.HTTPError: 409 Client Error: Conflict for url: http+docker://localhost/v1.47/containers/create?name=kolla_toolbox\\n\\nThe above exception was the direct cause of the following exception:\\n\\nTraceback (most recent call last):\\n File \"/tmp/ansible_kolla_docker_payload_yhwusfa0/ansible_kolla_docker_payload.zip/ansible/modules/kolla_docker.py\", line 408, in main\\n File \"/tmp/ansible_kolla_docker_payload_yhwusfa0/ansible_kolla_docker_payload.zip/ansible/module_utils/kolla_docker_worker.py\", line 370, in recreate_or_restart_container\\n self.start_container()\\n File \"/tmp/ansible_kolla_docker_payload_yhwusfa0/ansible_kolla_docker_payload.zip/ansible/module_utils/kolla_docker_worker.py\", line 397, in start_container\\n self.create_container()\\n File \"/tmp/ansible_kolla_docker_payload_yhwusfa0/ansible_kolla_docker_payload.zip/ansible/module_utils/kolla_docker_worker.py\", line 358, in create_container\\n self.dc.create_container(**options)\\n File \"/usr/local/lib/python3.10/dist-packages/docker/api/container.py\", line 431, in create_container\\n return self.create_container_from_config(config, name, platform)\\n File \"/usr/local/lib/python3.10/dist-packages/docker/api/container.py\", line 448, in create_container_from_config\\n return self._result(res, True)\\n File \"/usr/local/lib/python3.10/dist-packages/docker/api/client.py\", line 274, in _result\\n self._raise_for_status(response)\\n File \"/usr/local/lib/python3.10/dist-packages/docker/api/client.py\", line 270, in _raise_for_status\\n raise create_api_error_from_http_exception(e) from e\\n File \"/usr/local/lib/python3.10/dist-packages/docker/errors.py\", line 39, in create_api_error_from_http_exception\\n raise cls(e, response=response, explanation=explanation) from e\\ndocker.errors.APIError: 409 Client Error for http+docker://localhost/v1.47/containers/create?name=kolla_toolbox: Conflict (\"Conflict. The container name \"/kolla_toolbox\" is already in use by container \"01667a64be91573a10e0968fe3e2d94d25d4004410d21f6fca2e0d9107d914ec\". You have to remove (or rename) that container to be able to reuse that name.\")\\n'"}
changed: [compute01]
Потому и спросил, пушо удивился.
Eugene
Явно видно, что он пытается контейнер с тем же именем использовать.
Grundik
Покажи multinode файл
J
Утро коллегам.
Я почему вечером вчера спрашивал про одновременное размещение контрола и нетворка, вот что при попытке совместить и раскатать сс помощью Kolla происходит:
changed: [storage01]
changed: [control01]
fatal: [network01]: FAILED! => {"changed": true, "msg": "'Traceback (most recent call last):\\n File \"/usr/local/lib/python3.10/dist-packages/docker/api/client.py\", line 268, in _raise_for_status\\n response.raise_for_status()\\n File \"/usr/local/lib/python3.10/dist-packages/requests/models.py\", line 1021, in raise_for_status\\n raise HTTPError(http_error_msg, response=self)\\nrequests.exceptions.HTTPError: 409 Client Error: Conflict for url: http+docker://localhost/v1.47/containers/create?name=kolla_toolbox\\n\\nThe above exception was the direct cause of the following exception:\\n\\nTraceback (most recent call last):\\n File \"/tmp/ansible_kolla_docker_payload_yhwusfa0/ansible_kolla_docker_payload.zip/ansible/modules/kolla_docker.py\", line 408, in main\\n File \"/tmp/ansible_kolla_docker_payload_yhwusfa0/ansible_kolla_docker_payload.zip/ansible/module_utils/kolla_docker_worker.py\", line 370, in recreate_or_restart_container\\n self.start_container()\\n File \"/tmp/ansible_kolla_docker_payload_yhwusfa0/ansible_kolla_docker_payload.zip/ansible/module_utils/kolla_docker_worker.py\", line 397, in start_container\\n self.create_container()\\n File \"/tmp/ansible_kolla_docker_payload_yhwusfa0/ansible_kolla_docker_payload.zip/ansible/module_utils/kolla_docker_worker.py\", line 358, in create_container\\n self.dc.create_container(**options)\\n File \"/usr/local/lib/python3.10/dist-packages/docker/api/container.py\", line 431, in create_container\\n return self.create_container_from_config(config, name, platform)\\n File \"/usr/local/lib/python3.10/dist-packages/docker/api/container.py\", line 448, in create_container_from_config\\n return self._result(res, True)\\n File \"/usr/local/lib/python3.10/dist-packages/docker/api/client.py\", line 274, in _result\\n self._raise_for_status(response)\\n File \"/usr/local/lib/python3.10/dist-packages/docker/api/client.py\", line 270, in _raise_for_status\\n raise create_api_error_from_http_exception(e) from e\\n File \"/usr/local/lib/python3.10/dist-packages/docker/errors.py\", line 39, in create_api_error_from_http_exception\\n raise cls(e, response=response, explanation=explanation) from e\\ndocker.errors.APIError: 409 Client Error for http+docker://localhost/v1.47/containers/create?name=kolla_toolbox: Conflict (\"Conflict. The container name \"/kolla_toolbox\" is already in use by container \"01667a64be91573a10e0968fe3e2d94d25d4004410d21f6fca2e0d9107d914ec\". You have to remove (or rename) that container to be able to reuse that name.\")\\n'"}
changed: [compute01]
Потому и спросил, пушо удивился.
Ну он пытается дважды kolla-toolbox контейнер у тебя задеплоить зачем-то.