Openstack Q&A
haproxy
keepalived
endpoints
Вопрос 1
Q: почему endpoints прописаны именно на адрес 10.0.2.2, а не на 10.0.10.2 ?
A: admin работает по 10.0.10.2, остальные пользователи по 10.0.2.2.
Вопрос 2
Q: каким образом на контейнер haproxy назначены 4 IP-адреса, когда в нем имеются два сетевых интерфейса (eth0, eth1) с четко присвоенными IP-адресами (10.0.10.3 и 10.0.2.3)
A: Два виртуальных IP-адреса навешены с помощью keepalived
Вопрос 3
Q: Ошибка при создании инстанса: Binding failed for port 53f6f3f4-6bc0-461b-9154-baab0e9ea033, please check neutron logs for more information. Код 500
В логе на целевом гипервизоре /var/log/neutron/neutron-openvswitch-agent.log:
019-09-03 12:26:33.141 25058 ERROR neutron.plugins.ml2.drivers.openvswitch.agent.ovs_neutron_agent [-] Failed reporting state!: AccessRefused: (0, 0): (403) ACCESS_REFUSED - Login was refused using authentication mechanism AMQPLAIN. For details see the broker logfile.
A: Нет каталога для сокета взаимодействия с RabbitMQ
mkdir /var/lib/neutron/lock; chown neutron: /var/lib/neutron/lock
systemctl restart neutron-openvswitch-agent
Вопрос 4
A: Проверить файл описания сервиса
Закомментировать User=neutron, Group=neutron в файлах – описаниях сервиса /etc/systemd/system/neutron-openvswitch-agent.service
sed -i 's/User=neutron/#User=neutron/' /etc/systemd/system/neutron-openvswitch-agent.service
sed -i 's/Group=neutron/#Group=neutron/' /etc/systemd/system/neutron-openvswitch-agent.service
Добавить в секцию [securitygroup] файла /etc/neutron/plugins/ml2/openvswitch_agent.ini
firewall_driver = iptables_hybrid
Затем – перегрузить демона systemctl и службу агента
systemctl daemon-reload; systemctl restart neutron-openvswitch-agent
Вопрос 5
Q: Не создаются ВМ на конкретном, определенном типа флавора: 4.8.60
A: В типе инстанса были установлены свойства, которые не поддерживаются ни одним их 3-х гипервизоров.
# os flavor show 4886ef8c-95d9-4f7f-98e7-f59a23dcc7d3
+----------------------------+-------------------------------------------------------------------------+
| Field | Value |
+----------------------------+-------------------------------------------------------------------------+
| OS-FLV-DISABLED:disabled | False |
| OS-FLV-EXT-DATA:ephemeral | 0 |
| access_project_ids | None |
| disk | 60 |
| id | 4886ef8c-95d9-4f7f-98e7-f59a23dcc7d3 |
| name | c1.medium |
| os-flavor-access:is_public | True |
| properties | aggregate_instance_extra_specs:pinned='true', hw:cpu_policy='dedicated' |
| ram | 8192 |
| rxtx_factor | 1.0 |
| swap | |
| vcpus | 4 |
+----------------------------+-------------------------------------------------------------------------+
Убрал их и все заработало.
os flavor unset --property aggregate_instance_extra_specs:pinned 4886ef8c-95d9-4f7f-98e7-f59a23dcc7d3
os flavor unset --property hw:cpu_sockets 4886ef8c-95d9-4f7f-98e7-f59a23dcc7d3
os flavor unset --property hw:cpu_policy 4886ef8c-95d9-4f7f-98e7-f59a23dcc7d3
Вопрос 6
Q: Если после смены hostname и перезаписи файла /etc/hosts в ВМ (debian 9.11) перезагрузить инстанс, то содержимое /etc/hosts вернется в прошлое состояние.
Как это отключить?
A: В файле настроек /etc/cloud/cloud.cfg надо заменить true на false в параметре:
manage_etc_hosts: false
Вопрос 7
Q: Как запаковать контейнер для dist-каталога (offline setup edition)!
A: Остановить контейнер, и дать команды:
cd /var/lib/lxc/HRZN-0002/rootfs
tar cvfpj /home/sani/horizon_rootfs.tar.bz2 --exclude=./var/cache/apt/archives/*.deb .
Вопрос 8
Q: Ошибка подключения к гипервизору HypervisorUnavailable: Connection to the hypervisor is broken on host: compute01
A: Проверить nova-compute.conf
root@compute01:~# vim /etc/nova/nova-compute.conf
[DEFAULT]
compute_driver=libvirt.LibvirtDriver
[libvirt]
virt_type=kvm
Затем добавить пользователя nova в группу libvrit и перестартовать сервис libvirt-bin
sudo gpasswd -a nova libvirt
service libvirt-bin restart
Вопрос 9
Q: Invalid service catalog: compute - Horizon
A: openstack catalog list
Видим, что ряд сервисов (Name) представлены в списке в двух экземплярах, причем в одном из них есть endpoints, а в другой записи - точки входа в сервис пустые. Их надо удалить.
Следующий запрос выдает сообщение, что к сервису привязано несколько соответствий -а должно быть одно.
os endpoint list --service nova
Multiple service matches found for 'nova', use an ID to be more specific
Удалим лишнее таким запросом:
delete from service where id not in (select service_id from endpoint);
Подробнее в Openstack/Keystone/Ошибка работы сервисов при повторной установке контейнеров
Продолжение следует...