Поддержка мультиприкрепленного тома в открытой стакане митака

Я знаю, что тома с несколькими подключениями официально поддерживаются в Квинсе, конечно, обновление легко, но мне это нужно в Mitaka. Обновление не вариант здесь.

Это версия, на которой я нахожусь и должен остаться там!

$ # NOVA
$ nova --version
out: 3.3.1
$ nova-api --version
out: 13.1.4
$ nova-compute --version
out: 13.1.4
$ nova-cert --version
out: 13.1.4
$ nova-scheduler --version
out: 13.1.4
$ nova-conductor --version
out: 13.1.4
$ nova-consoleauth --version
out: 13.1.4
$ # CINDER
$ cinder --version
out: 1.6.0
$ cinder-api --version
out: 8.1.1
$ cinder-scheduler --version
out: 8.1.1
$ cinder-volume --version
out: 8.1.1
$ # KVM
$ kvm --version
out: QUEMU emulator version 2.5.0

У меня есть два экземпляра - i1 и i2, и один том cinder с --allow-multiattach флаг. Мы используем nova volume-attach привязать объем к i1. До здесь - все работает, как ожидалось. если вы попытаетесь использовать nova volume-attachЧтобы снова подключить том к i2, вы получите сообщение об ошибке (говоря, что для присоединения - состояние тома должно быть "доступно", а не "используется").

Я выполнил небольшой поиск кода и решил закомментировать строки с 319 по 326 (два оператора if) из этого исходного файла: https://github.com/openstack/nova/blob/mitaka-eol/nova/volume/cinder.py -> они обеспечивают доступность тома для его подключения.

Результаты:

  • теперь я могу прикрепить один том к нескольким экземплярам (проверено только с двумя)
  • если я позвоню nova show i1 или же nova show i2 Я вижу, что оба экземпляра имеют громкость в os-extended-volumes:volumes_attached атрибут списка.
  • Синдр, похоже, не признает этого:cinder list показывает только то, что том подключен к одному экземпляру (тот, который был прикреплен первым), а также состояние тома attaching навсегда
  • cinder show <volume_id> имеет только один экземпляр в attachments атрибут
  • virsh dumpxml <instance_name> не хватает общего флага
  • когда я вхожу в экземпляр, я могу mount а также umount читать и писать без проблем. Мне нужно только umount а также mount снова, чтобы увидеть изменения кросс-экземпляра
  • Есть также проблемы, когда nova volume-detach вызывается на экземпляре, который был присоединен вторым (идентификатор тома ОШИБКИ не найден), я полагаю, потому что том, кажется, находится в состоянии подключения. Однако изменение состояния от присоединения к использованию через cinder reset-state <volume_id> --state 'in-use' --attach-state 'attached' не меняет ошибку.
  • если сначала присоединено (i1), то сначала отсоединено - оно правильно отсоединено. nova show i1 правильно покажет os-extended-volumes:volumes_attached как пустой список. Затем при попытке отсоединить том от второго экземпляра (i2) возвращается сообщение об ошибке, что том уже отсоединен. attachments вход в cinder show volume освобождается после первого вызова отсоединиться (i1)

ВОПРОСЫ:

Кто-нибудь взломал это так и добился успеха в своих усилиях? Может ли кто-нибудь перечислить все аспекты кода, который необходимо изменить, чтобы заставить работать мульти-вложение в Mitaka? Правильно?

Совет любого рода горячо приветствуется!

0 ответов

Другие вопросы по тегам