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

e51c1eb549e297ff171b55b05d528e61.png

Видим, что ряд сервисов (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/Ошибка работы сервисов при повторной установке контейнеров

Продолжение следует…