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

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

    <bug>
          <bug_id>45878</bug_id>
          
          <creation_ts>2023-04-16 16:27:39 +0300</creation_ts>
          <short_desc>Не использует опции Docker: DOCKER_NETWORK_OPTIONS → OPTIONS</short_desc>
          <delta_ts>2023-04-17 22:51:26 +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>flannel</component>
          <version>unstable</version>
          <rep_platform>x86_64</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>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Evgeny Shesteperov">alimektor</reporter>
          <assigned_to name="Alexey Shabalin">shaba</assigned_to>
          <cc>geochip</cc>
    
    <cc>shaba</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>224557</commentid>
    <comment_count>0</comment_count>
    <who name="Evgeny Shesteperov">alimektor</who>
    <bug_when>2023-04-16 16:27:39 +0300</bug_when>
    <thetext>Описание проблемы

Пытаюсь настроить Docker с использованием Flannel.

Пакет предоставляет файл
/lib/systemd/system/docker.service.d/flannel.conf:

    # cat /lib/systemd/system/docker.service.d/flannel.conf
    [Service]
    EnvironmentFile=-/run/flannel/docker

    # cat /run/flannel/docker
    DOCKER_OPT_BIP=&quot;--bip=172.16.53.1/24&quot;
    DOCKER_OPT_IPMASQ=&quot;--ip-masq=true&quot;
    DOCKER_OPT_MTU=&quot;--mtu=1472&quot;
    DOCKER_NETWORK_OPTIONS=&quot; --bip=172.16.53.1/24 --ip-masq=true --mtu=1472&quot;

Но в сервисе Docker нет использования опций выше:

    # systemctl cat docker | grep DOCKER_NETWORK_OPTIONS
    # grep DOCKER_NETWORK_OPTIONS /etc/sysconfig/docker
    # grep DOCKER_NETWORK_OPTIONS /etc/sysconfig/docker-storage

Вместо этого он использует OPTIONS:

    # systemctl cat docker | grep OPTIONS
              $OPTIONS \
              $DOCKER_STORAGE_OPTIONS

    # grep OPTIONS /etc/sysconfig/docker
    OPTIONS=&quot;&quot;

Версия

-   flannel-0.21.4-alt1

Дистрибутивы

-   p10-server-10.1-x86-64, обновленный до Sisyphus

Шаги воспроизведения

    # apt-get install -y flannel etcd docker-engine
    # systemctl enable --now etcd &amp;&amp; sleep 10; systemctl status etcd --no-pager -l
    # etcdctl put /coreos.com/network/config &apos;{&quot;Network&quot;: &quot;172.16.0.0/12&quot;}&apos;
    # systemctl enable --now flanneld &amp;&amp; sleep 5; systemctl status flanneld
    # systemctl enable --now docker &amp;&amp; sleep 5; systemctl status docker --no-pager -l
    # ip addr show flannel0
    # ip addr show docker0

Ожидаемый результат: адрес интерфейса берётся из настроек Flannel
(/run/flannel/subnet.env, FLANNEL_SUBNET=172.16.53.1/24)

-   flannel0: 172.16.53.0/32
-   docker0: 172.16.53.1/24

Фактический результат: адрес интерфейса не берётся из настроек Flannel:

-   flannel0: 172.16.53.0/32
-   docker0: 172.17.0.1/16

Дополнительно. Решается следующим образом:

    # sed -i &apos;s|DOCKER_NETWORK_OPTIONS|OPTIONS|g&apos; /lib/systemd/system/flanneld.service
    # systemctl daemon-reload
    # systemctl restart flanneld.service &amp;&amp; sleep 5; systemctl status flanneld.service
    # systemctl restart docker.service &amp;&amp; sleep 5; systemctl status docker.service</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224558</commentid>
    <comment_count>1</comment_count>
    <who name="Evgeny Shesteperov">alimektor</who>
    <bug_when>2023-04-16 16:35:32 +0300</bug_when>
    <thetext>Это похоже на что-то такое https://github.com/kubernetes-sigs/kubespray/issues/748</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224627</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Shabalin">shaba</who>
    <bug_when>2023-04-17 21:40:28 +0300</bug_when>
    <thetext>Решение совсем неправильное предложено.
Эти опции надо передать сервису dockerd.service, а flanneld.service править не надо.
Отправили в сизиф пакет docker-engine с исправлением.
Если есть есть возможность, перепроверьте пожалуйста.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224630</commentid>
    <comment_count>3</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2023-04-17 22:51:26 +0300</bug_when>
    <thetext>docker-engine-23.0.3-alt2 -&gt; sisyphus:

 Mon Apr 17 2023 Alexey Shabalin &lt;shaba@altlinux&gt; 23.0.3-alt2
 - fix integration with flannel (ALT#45878),
   read DOCKER_NETWORK_OPTIONS from /run/flannel/docker</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>