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

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

    <bug>
          <bug_id>60238</bug_id>
          
          <creation_ts>2026-08-21 15:25:21 +0300</creation_ts>
          <short_desc>Проблема при инициализации кластера, если используется U7S_PLATFORM вида k8s-c10f*</short_desc>
          <delta_ts>2026-08-21 15:25:21 +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>podsec</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="Vladislav Glinkin">glinkinvd</reporter>
          <assigned_to name="kaf@altlinux.org">kaf</assigned_to>
          <cc>kaf</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>293042</commentid>
    <comment_count>0</comment_count>
      <attachid>22066</attachid>
    <who name="Vladislav Glinkin">glinkinvd</who>
    <bug_when>2026-08-21 15:25:21 +0300</bug_when>
    <thetext>Created attachment 22066
Патч

Версия пакета: podsec-1.3.0-alt2

В файле podsec-u7s-functions функция setRegistryName преднамеренно использует сокращение &quot;c10f&quot;, если U7S_PLATFORM принимает значение k8s-c10f*.
```
function setRegistryName() {
  export U7S_ALTREGISTRY=&quot;registry.altlinux.org&quot;
  if [  ! -z &quot;${U7S_REGISTRY+x}&quot; -a ${#U7S_REGISTRY} -eq 0  ]
  then
		export U7S_REGISTRY=&quot;registry.k8s.io&quot;
		U7S_PLATFORM=
  else
		if grep registry.local /etc/hosts &gt;/dev/null 2&gt;&amp;1
		then
			export U7S_REGISTRY=&quot;registry.local&quot;
		else
			export U7S_REGISTRY=$U7S_ALTREGISTRY
		fi
# 		source podsec-get-platform
	fi
	U7S_REGISTRY_PLATFORM=$U7S_REGISTRY
	if [ -n &quot;$U7S_PLATFORM&quot; ]
	then
		if [ ${U7S_PLATFORM:0:8} = &apos;k8s-c10f&apos; ]
		then
			U7S_REGISTRY_PLATFORM+=&quot;/c10f&quot;
		else
			U7S_REGISTRY_PLATFORM+=&quot;/$U7S_PLATFORM&quot;
		fi
	fi
# 	getKuberLastPatchVersion
	export U7S_REGISTRY_PLATFORM
}
```

Ожидается, что скрипт будет использовать это значение &quot;как есть&quot; для формирования путей. Жесткое кодирование сокращения `c10f` внутри функции `setRegistryName` создает неявную зависимость, о которой пользователь не знает.

В локальном реестре `registry.local` образы физически хранятся в репозиториях с префиксом `k8s-c10f2/`. Скрипт же пытается обращаться к несуществующему пути `c10f/`. Это приводит к тому, что скрипт не видит реально существующие образы, считая их отсутствующими.

Шаги воспроизведения:
1) # export U7S_PLATFORM=&quot;k8s-c10f2&quot; &amp;&amp; export U7S_KUBEVERSION=&quot;v1.29.15&quot; &amp;&amp; export U7S_FLANNEL_TAG=&quot;v0.26.7&quot; &amp;&amp; export PATH=/usr/libexec/podsec/u7s/bin/:$PATH
2) # kubeadm init --apiserver-advertise-address $(hostname -i | cut -d&apos; &apos; -f2)

Фактический результат:
```
Предупреждение: команда kubeadm версии 1.29.15 уже установлена  
Минорная версия v1.29.15 kubeadm совпадает с устанавленной v1.29  
Предупреждение: команда crio версии 1.29.13 уже установлена  
Минорная версия 1.29 crio совпадает с устанавленной v1.29  
jq: error (at &lt;stdin&gt;:1): null (null) cannot be sorted, as it is not an array  
Версия образа c10f/kube-apiserver  с тегом v1.29.15 недоступна  
jq: error (at &lt;stdin&gt;:1): null (null) cannot be sorted, as it is not an array  
В рамках указанной минорной версии v1.29 нет доступных образов  
Доступны следующие минорные версии: jq: error (at &lt;stdin&gt;:1): null (null) cannot be sorted, as it is not an array  
  
и следующие patch-версии образов: jq: error (at &lt;stdin&gt;:1): null (null) cannot be sorted, as it is not an array  
  
Для установки одной из указанных версий образов укажите выбранную версию образа в переменной среды  
export U7S_KUBEVERSION=...
```

Ожидаемый резльтат:
```
Если $U7S_PLATFORM явно определена пользователем, то она и используется.
```

Для исправления предлагается отказаться от фильтра по k8s-c10f.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>22066</attachid>
            <date>2026-08-21 15:25:21 +0300</date>
            <delta_ts>2026-08-21 15:25:21 +0300</delta_ts>
            <desc>Патч</desc>
            <filename>podsec-u7s-functions.patch</filename>
            <type>text/plain</type>
            <size>576</size>
            <attacher name="Vladislav Glinkin">glinkinvd</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL3BvZHNlYy1rOHMvYmluL3BvZHNlYy11N3MtZnVuY3Rpb25zIGIvcG9kc2Vj
LWs4cy9iaW4vcG9kc2VjLXU3cy1mdW5jdGlvbnMKaW5kZXggYjBhYTlmNS4uNTYxODZmMCAxMDA3
NTUKLS0tIGEvcG9kc2VjLWs4cy9iaW4vcG9kc2VjLXU3cy1mdW5jdGlvbnMKKysrIGIvcG9kc2Vj
LWs4cy9iaW4vcG9kc2VjLXU3cy1mdW5jdGlvbnMKQEAgLTI5OCwxMiArMjk4LDcgQEAgZnVuY3Rp
b24gc2V0UmVnaXN0cnlOYW1lKCkgewogCVU3U19SRUdJU1RSWV9QTEFURk9STT0kVTdTX1JFR0lT
VFJZCiAJaWYgWyAtbiAiJFU3U19QTEFURk9STSIgXQogCXRoZW4KLQkJaWYgWyAke1U3U19QTEFU
Rk9STTowOjh9ID0gJ2s4cy1jMTBmJyBdCi0JCXRoZW4KLQkJCVU3U19SRUdJU1RSWV9QTEFURk9S
TSs9Ii9jMTBmIgotCQllbHNlCi0JCQlVN1NfUkVHSVNUUllfUExBVEZPUk0rPSIvJFU3U19QTEFU
Rk9STSIKLQkJZmkKKwkJVTdTX1JFR0lTVFJZX1BMQVRGT1JNKz0iLyRVN1NfUExBVEZPUk0iCiAJ
ZmkKICMgCWdldEt1YmVyTGFzdFBhdGNoVmVyc2lvbgogCWV4cG9ydCBVN1NfUkVHSVNUUllfUExB
VEZPUk0K
</data>

          </attachment>
      

    </bug>

</bugzilla>