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

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

    <bug>
          <bug_id>36863</bug_id>
          
          <creation_ts>2019-06-05 06:08:17 +0300</creation_ts>
          <short_desc>Просьба обновить драйвере сетевых карт Intel до 5.2.0</short_desc>
          <delta_ts>2019-11-16 15:32:14 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>kernel-image-std-def</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexei Takaseev">taf</reporter>
          <assigned_to name="Vitaly Chikunov">vt</assigned_to>
          <cc>asy</cc>
    
    <cc>kernelbot</cc>
    
    <cc>placeholder</cc>
    
    <cc>vt</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>182212</commentid>
    <comment_count>0</comment_count>
    <who name="Alexei Takaseev">taf</who>
    <bug_when>2019-06-05 06:08:17 +0300</bug_when>
    <thetext>Ранее, в ветке ядра 4.9 собирались драйвера Intel версии 5.2.1, в версиях 4.19 собираются старые драйвера 5.1.0

Хотелось бы чтобы и далее в ядрах std-def драйвера были 5.2.1 и свежее.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182214</commentid>
    <comment_count>1</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2019-06-05 07:48:33 +0300</bug_when>
    <thetext>Если уж обновлять, то пожалуй весь стек интеловских драйверов:
https://sourceforge.net/projects/e1000/files/

И да, можно собрать внешними модулями для Sisyphus, но лучше всё-таки патчами на mainline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182218</commentid>
    <comment_count>2</comment_count>
    <who name="Anton V. Boyarshinov">boyarsh</who>
    <bug_when>2019-06-05 10:20:34 +0300</bug_when>
    <thetext>
&gt; И да, можно собрать внешними модулями для Sisyphus, но лучше всё-таки патчами
&gt; на mainline.
Не лучше. Надо собрать именно отдельными модулями. Отдельные модули меньше разваливаются при обновлении ядра внутри ветки и у них понятный workflow переезда между ветками.

Если что-то живёт вне ядра и у него отдельный релизный цикл, не привязанный к ядру -- пусть будет отдельными модулями.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182219</commentid>
    <comment_count>3</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2019-06-05 10:30:09 +0300</bug_when>
    <thetext>Отдельные модули нельзя делать для обратной совместимости - потерять доступ к серверу после обновления ядра по причине того, что ментейнер вынес модули в отдельные пакеты - недопустимо.

Как вариант - подумать на предмет зависимостей, но помоему это для ядерных модулей не работает из-за allow-duplicated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182223</commentid>
    <comment_count>4</comment_count>
    <who name="Anton V. Boyarshinov">boyarsh</who>
    <bug_when>2019-06-05 12:17:00 +0300</bug_when>
    <thetext>(В ответ на комментарий №3)
&gt; Отдельные модули нельзя делать для обратной совместимости - потерять доступ к
&gt; серверу после обновления ядра по причине того, что ментейнер вынес модули в
&gt; отдельные пакеты - недопустимо.

Переименовать в этих отдельных пакетах модули и положить в пакет с ними blacklist файл. Тогда их можно не выключать в ядре и при отсутствии внешнего пакета будет работать ядерная реализация.

Так или иначе, эксперимент с включением патчем модулей, имеющих отдельный релизный цикл я считаю провалившимся и повторять его не собираюсь.

&gt; 
&gt; Как вариант - подумать на предмет зависимостей, но помоему это для ядерных
&gt; модулей не работает из-за allow-duplicated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182225</commentid>
    <comment_count>5</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2019-06-05 12:28:28 +0300</bug_when>
    <thetext>(В ответ на комментарий №4)
&gt; (В ответ на комментарий №3)
&gt; &gt; Отдельные модули нельзя делать для обратной совместимости - потерять доступ к
&gt; &gt; серверу после обновления ядра по причине того, что ментейнер вынес модули в
&gt; &gt; отдельные пакеты - недопустимо.
&gt; 
&gt; Переименовать в этих отдельных пакетах модули и положить в пакет с ними
&gt; blacklist файл. Тогда их можно не выключать в ядре и при отсутствии внешнего
&gt; пакета будет работать ядерная реализация.

У меня, например, скрипты заточены на имена модулей. Это ещё хуже, чем в ядре патчем обновлять.

&gt; 
&gt; Так или иначе, эксперимент с включением патчем модулей, имеющих отдельный
&gt; релизный цикл я считаю провалившимся и повторять его не собираюсь.

А мне кажется, это было очень удачно. У меня ушло около 15 минут на создание патча, это же совсем просто.

&gt; 
&gt; &gt; 
&gt; &gt; Как вариант - подумать на предмет зависимостей, но помоему это для ядерных
&gt; &gt; модулей не работает из-за allow-duplicated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182226</commentid>
    <comment_count>6</comment_count>
    <who name="Alexei Takaseev">taf</who>
    <bug_when>2019-06-05 12:33:48 +0300</bug_when>
    <thetext>А насколько будет удачным вынесение внешних драйверов сетевух при очередной смене версии ядра (типа 4.19 -&gt; 5.0)? А до этого момента держать в виде патча.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182227</commentid>
    <comment_count>7</comment_count>
    <who name="Anton V. Boyarshinov">boyarsh</who>
    <bug_when>2019-06-05 12:43:39 +0300</bug_when>
    <thetext>
&gt; У меня, например, скрипты заточены на имена модулей. Это ещё хуже, чем в ядре
&gt; патчем обновлять.
Если ты разложил себе грабли, написав скрипты, заточенные на имена модулей -- это твои грабли.
 
&gt; А мне кажется, это было очень удачно. У меня ушло около 15 минут на создание
&gt; патча, это же совсем просто.
А мне так не кажется. Периодически при выходе нового релиза приходится решать конфликты в этих модулях.
И выход нового ядра, на которое прежний патч, разумеется, не ляжет это не какое-то редкостное событие, а бывает раз в полтора месяца.

У нас есть хороший, удобный и работающий механизм сборки внешних модулей, их собирается множество. И только ixgb надо обязательно тащить в ядро.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182228</commentid>
    <comment_count>8</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2019-06-05 14:05:42 +0300</bug_when>
    <thetext>(В ответ на комментарий №7)
&gt; &gt; У меня, например, скрипты заточены на имена модулей. Это ещё хуже, чем в ядре
&gt; &gt; патчем обновлять.
&gt; Если ты разложил себе грабли, написав скрипты, заточенные на имена модулей --
&gt; это твои грабли.

Да не я один такой. Проверка или загрузка модуля по имени это зачастую стандартная схема деплоя. 

Убирая одну проблему ты создаёшь кучу новых, главная из которых - несовместимость с апстримом.


&gt; 
&gt; &gt; А мне кажется, это было очень удачно. У меня ушло около 15 минут на создание
&gt; &gt; патча, это же совсем просто.
&gt; А мне так не кажется. Периодически при выходе нового релиза приходится решать
&gt; конфликты в этих модулях.
&gt; И выход нового ядра, на которое прежний патч, разумеется, не ляжет это не
&gt; какое-то редкостное событие, а бывает раз в полтора месяца.

Ну и что ? Не вижу проблем раз в полтора месяца пройтись по драйверам и смержить.

Если патч перестал накладываться - это в любом случае повод заглянуть внутрь и посмотреть что происхожиди.

&gt; 
&gt; У нас есть хороший, удобный и работающий механизм сборки внешних модулей, их
&gt; собирается множество. И только ixgb надо обязательно тащить в ядро.

Да если бы изначально собирали ixgbe отдельно от ядра, тотак бы и было. e1000, кстати, одно время был вне ядра, потом зачем-то втащили внутрь (что делается заметно легче).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182275</commentid>
    <comment_count>9</comment_count>
    <who name="Sergey Y. Afonin">asy</who>
    <bug_when>2019-06-06 15:18:02 +0300</bug_when>
    <thetext>(In reply to comment #6)

&gt; А насколько будет удачным вынесение внешних драйверов сетевух при очередной
&gt; смене версии ядра (типа 4.19 -&gt; 5.0)? А до этого момента держать в виде патча.

На самом деле если момент выбирать, то это прямо сейчас, пока про p9 официально не объявлено. Переделывать в рамках бранча плохо, а вот в момент перехода с бранча на бранч - это ещё более-менее. И, всё же, лучше для всех ядер, так как бывет надо скакать бежду std-def и un-def.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185605</commentid>
    <comment_count>10</comment_count>
    <who name="Alexei Takaseev">taf</who>
    <bug_when>2019-11-16 15:32:14 +0300</bug_when>
    <thetext>Отдельно собран модуль kernel-modules-ixgbe-std-def</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>