<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>13146</bug_id>
          
          <creation_ts>2007-10-17 15:22:58 +0400</creation_ts>
          <short_desc>Прошу добавть в setup-bri возможность запуска из командной строки</short_desc>
          <delta_ts>2013-01-24 12:16:50 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>etcnet</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc>http://lists.altlinux.org/pipermail/devel/2007-September/063065.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>13147</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="solo">solo</reporter>
          <assigned_to name="Mikhail Efremov">sem</assigned_to>
          <cc>evg</cc>
    
    <cc>ldv</cc>
    
    <cc>rider</cc>
    
    <cc>sem</cc>
    
    <cc>shaba</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>56635</commentid>
    <comment_count>0</comment_count>
    <who name="solo">solo</who>
    <bug_when>2007-10-17 15:23:00 +0400</bug_when>
    <thetext>Прошу добавть в setup-bri возможность запуска из командной строки.

Данная возможность реализована в etcnet-0.9.3-alt3.1 (см.
&lt;http://git.altlinux.ru/people/solo/packages/?p=etcnet.git;a=commit;h=4c13196debd81e628d38f33012310fb7d7de54e4&gt;),
отправленном в Daedalus.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56663</commentid>
    <comment_count>1</comment_count>
    <who name="Denis Ovsienko">pilot</who>
    <bug_when>2007-10-17 21:04:20 +0400</bug_when>
    <thetext>Здесь также только патч на спекфайл.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56664</commentid>
    <comment_count>2</comment_count>
    <who name="Denis Ovsienko">pilot</who>
    <bug_when>2007-10-17 21:07:13 +0400</bug_when>
    <thetext>Нашёл патч на setup-bri. Вы бы не могли описать задачу, которая решается таким
кровавым способом?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56697</commentid>
    <comment_count>3</comment_count>
    <who name="solo">solo</who>
    <bug_when>2007-10-18 07:52:05 +0400</bug_when>
    <thetext>Задача автодобовления интерфейса поднятого сторонними средствами (не через
etcnet) в бридж.

У меня это используется для работы с veth* (см.
&lt;http://lists.altlinux.org/pipermail/sysadmins/2007-October/011963.html&gt;):

  Мне понравилось работать с veth через бриджи. Алгоритм примерно такой:

1. Создаём бриджи (с IFUP_PARENTS=no, чтобы мог подниматься при
отсутствии родителей), и все настройки делаем в них.

2. veth загоняем в нужные бриджи.

3. При поднятии VE -- реконфигурируем бриджи (дёргаем setup-bri)

В данном случаи, основная поблема в том, что для пднятия veth ovz использует
свои средства, со скриптами конфигурирования сети (etcnet, в даном случаи) никак
не связанные. Единственное что можно -- вызвать свои скрипты после поднятия.
Нужный функчионал (кроме возможности независимого запуска) в штатном setup-bri
уже содержится.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56725</commentid>
    <comment_count>4</comment_count>
    <who name="Denis Ovsienko">pilot</who>
    <bug_when>2007-10-19 01:28:17 +0400</bug_when>
    <thetext>Вы не поверите, но я вообще не использую виртуализацию. Может, объясните мне по
шагам, как наглядно увидеть решаемую проблему? Инсталляция S4.0 у меня есть.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56732</commentid>
    <comment_count>5</comment_count>
    <who name="solo">solo</who>
    <bug_when>2007-10-19 12:40:32 +0400</bug_when>
    <thetext>Полная модель:

1. Поставить ovz ядро, vzctl и модули alterator`а для управления данным
хозяйством (можно и без них, но так проще).

2. Создать тесовую VE, с id`om &lt;veid&gt; (используя любой шаблон).

3. Добавить в данную VE veth интерфейс:

vzctl set &lt;veid&gt; --save --netif_add &lt;ifname&gt;

4. Стартануть VE, если это ещё не сделано.

  На данный момент в сестеме должен быть интерфейс вида veth&lt;veid&gt;.0

5. Создать бридж brd с IFUP_PARENTS=no и HOST=&apos;veth&lt;veid&gt;.0&apos; и запустить его...

  Испытания:

1. В данный момент имеем:

а) поднятый интерфейс veth&lt;veid&gt;.0

б) поднятый бридж brd, содержащий в себе veth&lt;veid&gt;.0

2. Останавливаем VE:

vzctl stop &lt;veid&gt;

Посли остановки имеем:

а) фактическое отсутствие интерфейса veth&lt;veid&gt;.0

б) поднятый бридж brd, _не_ содержащий в себе veth&lt;veid&gt;.0

3. Запускаем VE:

vzctl start &lt;veid&gt;

Посли старта имеем:

а) поднятый интерфейс veth&lt;veid&gt;.0

б) поднятый бридж brd, _не_ содержащий в себе veth&lt;veid&gt;.0

3.б -- это то самое, пути решения чего я и предлогаю...
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56733</commentid>
    <comment_count>6</comment_count>
    <who name="solo">solo</who>
    <bug_when>2007-10-19 13:06:37 +0400</bug_when>
    <thetext>Как понимаю, причина данного поведения в следующем:

1. На уровне etcnet сами интерфейсы veth неописаны ни как: данная система
неможет ими управлять. Простых путей добавить туда эту возможность я невижу --
veth, это внутренняя кухня OVZ, и всё управлене жёско завязанно на vzctl.

2. OVZ, в свою очередь -- неимеет понятия о бриджах, тунелях и пр.. Но оно может
создавать/убивать veth интерфейсы... И vzctl можно обучить выполнять наперёд
заданный скрипт после создания veth интерфейса (можно ли передать имя созданного
veth как параметр данного скрита я непомню, но скорее всего можно).

  Сейчас (в #13147) я решаю данную проблему взаимодействия через скрипт
veth-update_bri (см.
&lt;http://git.altlinux.ru/people/solo/packages/?p=vzctl.git;a=blob;f=scripts/veth-update_bri.in;h=4d3b6c7eca8477ff334f7e4799c4b0f0df1b216f;hb=2ad9a256e21f01deb5802d0475143f1cd5f4091b&gt;),
дёргающий setup-bri для активных бриджей. Но для этого мне нужно, чтобы
setup-bri допускал запуск из стороннего скрипта.

Если есть болие правельный путь -- готов подумать над его реализацией...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56743</commentid>
    <comment_count>7</comment_count>
    <who name="Denis Ovsienko">pilot</who>
    <bug_when>2007-10-19 16:24:08 +0400</bug_when>
    <thetext>Итак, проблема заключается в том, что свежесозданный интерфейс свежесозданного
контейнера приезжает в хост-систему, а там его никто не ждёт. Причём приехать и
уехать он может в любой момент по велению высших сил. Мне кажется, что
предложенная интеграция etcnet и ovz в этой ситуации пойдёт во вред обеим сторонам.
Почему бы не ограничиться тем, что хост-система (в данном случае посредством
etcnet) будет предоставлять готовый мост (набор мостов), а какой-то небольшой
самостоятельный обработчик будет ловить приезжающие и уезжающие контейнеры и
цеплять их куда им положено? Можно такой обработчик поместить в /etc/net/scripts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56746</commentid>
    <comment_count>8</comment_count>
    <who name="solo">solo</who>
    <bug_when>2007-10-19 18:02:32 +0400</bug_when>
    <thetext>(In reply to comment #7)
&gt; Итак, проблема заключается в том, что свежесозданный интерфейс свежесозданного
&gt; контейнера приезжает в хост-систему, а там его никто не ждёт. Причём приехать
&gt; и уехать он может в любой момент по велению высших сил.

  Да.

&gt; Мне кажется, что
&gt; предложенная интеграция etcnet и ovz в этой ситуации пойдёт во вред обеим
&gt; сторонам.

  Прошу пояснить вашу мысль: мне не кажется, что предложенное изменение в
скрипте setup-bri способно повредить etcnet (скорее наоборот: это дополнительный
+, упрощающий интеграцию с другими системами).

&gt; Почему бы не ограничиться тем, что хост-система (в данном случае посредством
&gt; etcnet) будет предоставлять готовый мост (набор мостов), а какой-то небольшой
&gt; самостоятельный обработчик будет ловить приезжающие и уезжающие контейнеры и
&gt; цеплять их куда им положено? Можно такой обработчик поместить в
&gt; /etc/net/scripts.

  Выглядит несовсем логично: такой обработчик должен знать какой интерфейс в
какой мост поместить. И это знание _полностью_ бедет дублировать информацию
которую уже имеет etcnet (в конфигах мостов). При этом всплывут вопросы:

1. Как обрабатывать случаи противоречия данной инфы (и зачем допускать саму
возможность их возникновения)?

2. Как обрабатывать случаи различия состава интерфейсов в мостах в зависимости
от про etcnet`овского профиля?

  Для их решения, придётся слишком жёско привязывать обработчик к etcnet и
дублировать часть etcnet`овской функциональности. Не думаю, что это правельно...

  На мой взгляд, болие логичным выглядит возможность каким либо образом сказать
etcnet что-то типа: &quot;Конфигурация сети изменилась. Действуй.&quot;

PS: Может стоит перенести обсуждение в sysadmins@?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56747</commentid>
    <comment_count>9</comment_count>
    <who name="Denis Ovsienko">pilot</who>
    <bug_when>2007-10-19 18:36:08 +0400</bug_when>
    <thetext>Забыл написать, что я предлагаю в /etc/net в конфигурации мостов не перечислять
интерфейсы veth в списке HOST. Дублирования и конфликтов в этом случае не будет.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56748</commentid>
    <comment_count>10</comment_count>
    <who name="solo">solo</who>
    <bug_when>2007-10-19 18:46:05 +0400</bug_when>
    <thetext>(In reply to comment #9)
&gt; Забыл написать, что я предлагаю в /etc/net в конфигурации мостов не перечислять
&gt; интерфейсы veth в списке HOST. Дублирования и конфликтов в этом случае не будет.

Как тогда обробатывать зависимость соства объединённых в мост veth от активного
профиля etcnet? (Могу привести примеры ситуаций, когда такое желательно.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56750</commentid>
    <comment_count>11</comment_count>
    <who name="solo">solo</who>
    <bug_when>2007-10-19 19:06:06 +0400</bug_when>
    <thetext>  Дополню:

  Профили -- одна из главнейших фич etcnet, и я весьма хочу, чтобы получившиеся
решение было с ними совместимо. (Хотя предложенное мной -- пока нет.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56753</commentid>
    <comment_count>12</comment_count>
    <who name="Denis Ovsienko">pilot</who>
    <bug_when>2007-10-19 20:05:18 +0400</bug_when>
    <thetext>Хотелось бы увидеть примеры, да.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56762</commentid>
    <comment_count>13</comment_count>
    <who name="solo">solo</who>
    <bug_when>2007-10-20 00:39:48 +0400</bug_when>
    <thetext>Простое преврощение ноута в небольшой сервер сети: несколько профилей
соответствуют нескольким сетям и нескольким наборам запускаемых VE.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>