Size: a a a

OpenNebula - русскоговорящее сообщество

2020 July 01

ВН

Виталий На Заборе... in OpenNebula - русскоговорящее сообщество
Nikita
Сколько? Нам Мерлион так и не смогли ответить на этот вопрос.
Вроде Шабалин где то тут писал в чатах, что их версия в районе 10к
источник

ВН

Виталий На Заборе... in OpenNebula - русскоговорящее сообщество
А, не в чатах, это я у него спрашивал
источник

ВН

Виталий На Заборе... in OpenNebula - русскоговорящее сообщество
13625$
источник

@

@i.am.not.root__ in OpenNebula - русскоговорящее сообщество
Sasha Sorochynskyi
ребята, такой вопрос. гипервизоры kvm работают в влане 100. интерфейс eth0.100 настроен вручную.
создаю виртуальную сеть в том же влане и для нее соответственно VR. Но он не создается и вылетает с ошибкой - Error deploying virtual machine: 802.1Q: RTNETLINK answers: File exists
как можно сообщить opennebule, что такой интерфейс уже есть, чтобы она не питалась его создать снова?
ну вообще ON сама все создает нужно, но все создается функцией OpenNebula.exec_and_log()
она определена так
def self.exec_and_log(command, message=nil, allowed_return_code=0)

в случае с 802.1q используется функции/методы в файле /var/lib/one/remotes/vnm/802.1Q/vlan_tag_driver.rb там  найти  create_vlan_dev внутри этой функции  в параметры вызывающие функцию OpenNebula.exec_and_log добавьте аргументы nil, 2
источник

@

@i.am.not.root__ in OpenNebula - русскоговорящее сообщество
да, вроде как iproute будет возвращать всегда 2 если что то не так, не связанное с синтаксисом
Exit status is 0 if command was successful, and 1 if there is a syntax error.  If an error was reported by the kernel exit status is 2.
источник

@

@i.am.not.root__ in OpenNebula - русскоговорящее сообщество
я для vxlan подобное описывал
https://github.com/OpenNebula/one/issues/4794
вредничали, но сделали
источник

@

@i.am.not.root__ in OpenNebula - русскоговорящее сообщество
в этом случае она все равно будет пытаться создать интерфейс , но ошибкой то, что интерфейс уже существует
источник

@

@i.am.not.root__ in OpenNebula - русскоговорящее сообщество
считать не будет
источник

SS

Sasha Sorochynskyi in OpenNebula - русскоговорящее сообщество
ок, спасибо, сейчас попробую
источник

SS

Sasha Sorochynskyi in OpenNebula - русскоговорящее сообщество
@i.am.not.root__
в этом случае она все равно будет пытаться создать интерфейс , но ошибкой то, что интерфейс уже существует
Добавил nil,2

       OpenNebula.exec_and_log("#{command(:ip)} link add link"\
           " #{@nic[:phydev]} name #{@nic[:vlan_dev]} #{mtu} type vlan id"\
           " #{@nic[:vlan_id]} #{ip_link_conf}", nil, 2)

Но ошибка осталась и виртуальная машина для VR не создалась.

Command execution fail: cat « EOT | /var/tmp/one/vnm/802.1Q/pre

pre: Command "sudo ip link add link eth0 name eth0.100 mtu 1500 type vlan id 100 " failed.

pre: RTNETLINK answers: File exists

RTNETLINK answers: File exists
источник

@

@i.am.not.root__ in OpenNebula - русскоговорящее сообщество
вот тут добавляли /var/lib/one/remotes/vnm/802.1Q/vlan_tag_driver.rb?
61         OpenNebula.exec_and_log("#{command(:ip)} link add link"\
62             " #{@nic[:phydev]} name #{@nic[:vlan_dev]} #{mtu} type vlan id"\
63             " #{@nic[:vlan_id]} #{ip_link_conf}")
источник

@

@i.am.not.root__ in OpenNebula - русскоговорящее сообщество
т.е. к вот такому виду
61         OpenNebula.exec_and_log("#{command(:ip)} link add link"\
62             " #{@nic[:phydev]} name #{@nic[:vlan_dev]} #{mtu} type vlan id"\
63             " #{@nic[:vlan_id]} #{ip_link_conf}", nil, 2)
источник

SS

Sasha Sorochynskyi in OpenNebula - русскоговорящее сообщество
да, все верно, так и добавил
источник

@

@i.am.not.root__ in OpenNebula - русскоговорящее сообщество
окей, а ради интереса, давайте вообще закоментируем строки в /var/lib/one/remotes/vnm/802.1Q/vlan_tag_driver.rb которые отвечают за создание и «поднятие» интерфейса т.е.
def create_vlan_dev
       mtu = @nic[:mtu] ? "mtu #{@nic[:mtu]}" : "mtu #{CONF[:vlan_mtu]}"

       ip_link_conf = ""

       @nic[:ip_link_conf].each do |option, value|
           case value
           when true
               value = "on"
           when false
               value = "off"
           end

           ip_link_conf << "#{option} #{value} "
       end

       OpenNebula.exec_and_log("#{command(:ip)} link add link"\
           " #{@nic[:phydev]} name #{@nic[:vlan_dev]} #{mtu} type vlan id"\
           " #{@nic[:vlan_id]} #{ip_link_conf}")

       OpenNebula.exec_and_log("#{command(:ip)} link set #{@nic[:vlan_dev]} up")
   end

приведем к виду
def create_vlan_dev
       mtu = @nic[:mtu] ? "mtu #{@nic[:mtu]}" : "mtu #{CONF[:vlan_mtu]}"

       ip_link_conf = ""

       @nic[:ip_link_conf].each do |option, value|
           case value
           when true
               value = "on"
           when false
               value = "off"
           end

           ip_link_conf << "#{option} #{value} "
       end

       #OpenN
ebula.exec_and_log("#{command(:ip)} link add link"\
       #    "
#{@nic[:phydev]} name #{@nic[:vlan_dev]} #{mtu} type vlan id"\
       #    "
#{@nic[:vlan_id]} #{ip_link_conf}")

       #OpenN
ebula.exec_and_log("#{command(:ip)} link set #{@nic[:vlan_dev]} up")
   end
источник

SS

Sasha Sorochynskyi in OpenNebula - русскоговорящее сообщество
минуту, сейчас сделаем
источник

@

@i.am.not.root__ in OpenNebula - русскоговорящее сообщество
интерфейс eth0.100 в состоянии UP ?
источник

@

@i.am.not.root__ in OpenNebula - русскоговорящее сообщество
я конечно не очень помню, но вроде после этих изменений надо делать onehost sync -f от юзера oneadmin
источник

SS

Sasha Sorochynskyi in OpenNebula - русскоговорящее сообщество
при таком раскладе потерял сеть на ноде совсем.
ее основной интерфейс eth0.100 и похоже ON поменяла настройки.
источник

@

@i.am.not.root__ in OpenNebula - русскоговорящее сообщество
Опа, не думал что это интерфейс основной
источник

@

@i.am.not.root__ in OpenNebula - русскоговорящее сообщество
Шаблон сети пришлите свой
источник